程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> Java筆記---Mysql使用中的報錯

Java筆記---Mysql使用中的報錯

編輯:MySQL綜合教程

Java筆記---Mysql使用中的報錯


一、’mysql’ 不是內部或外部命令,也不是可運行的程序或批處理文件

發生場景

本地 Windows 機器下的 cmd 中,遠程登錄 mysql

錯誤原因

本機未將 mysql 配置添加入環境變量 Path 中

錯誤解決

配置環境變量
① 新建變量 MYSQL-HOME
mysql-error1
② 將 MYSQL-HOME 納入 Path 中
mysql-error2
結果:在本機的 Dos 下測試
mysql-error3

再次遠程登錄:
1
2


二、ERROR 1130:Host ‘XXX’ is not allowed to connect to this MySQL server

發生場景

本地機器遠程登錄 mysql

錯誤原因

未在遠程服務器上給用戶賦予遠程登錄權限

錯誤解決

遠程機器上 mysql 賦予遠程登錄權限,執行命令grant all privileges on . to ‘root’@’%’ identified by ‘root’ with grant option;
3

命令詳解:
  # 將所有權限賦予給 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 用戶的密碼

三、java.lang.ClassNotFoundException: com.mysql.jdbc.Driver xxx

發生場景

CenOS 下使用 Java 程序連接 mysql 數據庫,獲取數據庫中的記錄

錯誤原因

找不到 mysql 的驅動 jar

錯誤解決

查看當前 mysql 的版本,將對於版本的 mysql 驅動 jar 使用 cp 命令復制到將連接驅動拷貝到Java的安裝目錄下,即 /usr/lib/jvm/java-1.xxx/jre/lib/ext/ 下,使得 Java 程序找到 mysql 驅動 jar


四、java.sql.SQLException: Access denied for user ‘root’@’localhost’ (using password: YES)

發生場景

使用 Java 程序連接 mysql 數據庫,獲取數據庫中的記錄

錯誤原因

可能的原因
1. 密碼不正確
2. 使用 root 用戶連接,而在 Linux 系統下,root 用戶默認是不用密碼的

錯誤解決

根據原因來更改。本人是因為使用 root,因此將密碼置空
4
5


五、ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)

發生場景

為解決 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-error4

意思就是 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了


六、MySQL Daemon failed to start.

情況同 ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)


七、Error:Can’t open and lock privilege tables: Table ‘mysql.user’ doesn’t exist

情況同 ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)

八、ERROR 1064(42000):You have an error in you SQL syntax; check the manual that the right syntax to use near ‘database’ at line 1

發生場景

執行 sql 文件,該 sql 文件中的數據庫為 thinkphp,裡面有一張擁有記錄的 user 表
mysql-error6

錯誤原因

當前 mysql 中沒有 thinkphp 這個數據庫

錯誤解決

執行命令 create database thinkphp 創建 thinkphp 數據庫,然後執行 use thinkphp 命令,再執行 sql 文件即可。
mysql-error7

九、ERROR 1005(HY000): Can’t create table ‘mysql.user’,ERROR 1146(420S02): Table ‘mysql.user’ doesn’t exist

發生場景

執行 sql 文件,該 sql 文件中的數據庫為 thinkphp,裡面有一張擁有記錄的 user 表
mysql-error8

錯誤原因

當前使用的是 mysql 數據庫,而不是 thinkphp 數據庫,因而不能執行。

錯誤解決

切換到 thinkphp 數據庫:使用 use thinkphp 命令後,再次執行 sql 文件,就行了
mysql-error9

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved