發生場景
本地 Windows 機器下的 cmd 中,遠程登錄 mysql
錯誤原因
本機未將 mysql 配置添加入環境變量 Path 中
錯誤解決
配置環境變量
① 新建變量 MYSQL-HOME
② 將 MYSQL-HOME 納入 Path 中
結果:在本機的 Dos 下測試
再次遠程登錄:
發生場景
本地機器遠程登錄 mysql
錯誤原因
未在遠程服務器上給用戶賦予遠程登錄權限
錯誤解決
遠程機器上 mysql 賦予遠程登錄權限,執行命令grant all privileges on . to ‘root’@’%’ identified by ‘root’ with grant option;
命令詳解: # 將所有權限賦予給 root 用戶,允許其進行遠程登錄 grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option; 參數解釋: ① all privileges:賦予所有的權限給指定用戶,也可以替換為賦予某一具體的權限 ② *.*:所賦予的權限是針對全部數據庫的全部表。若指定某一具體數據庫的具體表,如:thinkphp_user ③ root:表示給root用戶授權 ④'%':表示不限制連接的 IP。若想只允許某特定的 IP 進行遠程登錄,可以改為具體 IP。 ⑤ by 'root':root 用戶的密碼
發生場景
CenOS 下使用 Java 程序連接 mysql 數據庫,獲取數據庫中的記錄
錯誤原因
找不到 mysql 的驅動 jar
錯誤解決
查看當前 mysql 的版本,將對於版本的 mysql 驅動 jar 使用 cp 命令復制到將連接驅動拷貝到Java的安裝目錄下,即 /usr/lib/jvm/java-1.xxx/jre/lib/ext/ 下,使得 Java 程序找到 mysql 驅動 jar
發生場景
使用 Java 程序連接 mysql 數據庫,獲取數據庫中的記錄
錯誤原因
可能的原因
1. 密碼不正確
2. 使用 root 用戶連接,而在 Linux 系統下,root 用戶默認是不用密碼的
錯誤解決
根據原因來更改。本人是因為使用 root,因此將密碼置空
發生場景
為解決 mysql 亂碼問題,直接修改了 mysql 的 my-medium.cnf, 導致配置文件錯誤,找不到 mysql.sock 文件,啟動失敗
錯誤原因
mysql啟動失敗,沒有產生 mysql.sock 文件
錯誤解決
將配置文件還原還不行。將mysql卸載重裝,還是不行。於是查看 mysql 的錯誤日志,發現錯誤:Error:Can’t open and lock privilege tables: Table ‘mysql.user’ doesn’t exist。
意思就是 mysql 表出現了問題,解決辦法:重新初始化 mysql。執行命令:mysql_install_db –usrer=mysql<喎?http://www.Bkjia.com/kf/ware/vc/" target="_blank" class="keylink">vc3Ryb25nPjxiciAvPg0KPGltZyBhbHQ9"mysql-error5" src="http://www.bkjia.com/uploads/allimg/160403/0412123Y8-9.jpg" title="\" />
這樣,再次啟動 mysql,命令 service mysqld restart,就ok了
情況同 ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)
情況同 ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)
發生場景
執行 sql 文件,該 sql 文件中的數據庫為 thinkphp,裡面有一張擁有記錄的 user 表
錯誤原因
當前 mysql 中沒有 thinkphp 這個數據庫
錯誤解決
執行命令 create database thinkphp 創建 thinkphp 數據庫,然後執行 use thinkphp 命令,再執行 sql 文件即可。
發生場景
執行 sql 文件,該 sql 文件中的數據庫為 thinkphp,裡面有一張擁有記錄的 user 表
錯誤原因
當前使用的是 mysql 數據庫,而不是 thinkphp 數據庫,因而不能執行。
錯誤解決
切換到 thinkphp 數據庫:使用 use thinkphp 命令後,再次執行 sql 文件,就行了