2019年6月5日 星期三

【MYSQL】mysql無法連線-排錯方法



mysql無法連線問題有以下可能,
1.查詢mysql.user表的host和user列,是否輸帳的帳號及IP有對應。
如下顯示,使用者rosalie使用非 10.23.25.18 就會造成無法連線登入到DB
mysql> select user,host from mysql.user;
+------------------+----------------+
| user             | host           |
+------------------+----------------+
| root             | 192.168.1.1    |
| rosalie          | 10.23.25.18    |
| root             | localhost      |
+------------------+----------------+
2.密碼錯誤,一般報1045錯誤,代碼可用(perror 代碼)查詢
[root@rosalie-mysql01 mysql]# mysql -uroot -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

查詢其他代碼
[root@rosalie-mysql01 mysql]# perror 1045
MySQL error code 1045 (ER_ACCESS_DENIED_ERROR): Access denied for user '%-.48s'@'%-.64s' (using password: %s)

3.是否設定了禁用dns解析,即設定了skip_name_resolve卻還是用主機名稱連線
※用反解析,簡單的說,就是HOST只能用IP登入,不能用名稱登入
4.是否設定了限制ip訪問(白名單),即設定了bind-address卻還是用其他ip連線
5.確認是否是網路問題,一般直接ping ip的方式確定,這時先解決網路問題
6.檢查磁碟空間是否已經滿了,即磁碟不足
[root@rosalie-mysql01 mysql]# df -h

7. 檢查mysqld程序是否存活
[root@rosalie-mysql01 mysql]# service mysqld status
[root@rosalie-mysql01 mysql]# systemctl status mysqld
8.檢查防火牆,是否開通了對應的db port
[root@rosalie-mysql01 mysql]# netstat -antp | grep 3306
tcp        0      0 ::3306           :::*             LISTEN      26370/mysqld    

9.確認是否連線數打滿了,一般報 MySQL: ERROR 1040: Too many connections
Max_used_connections 伺服器響應的最大連線數 大於 max_connections最大連接數
以下例是沒有超過
mysql> show variables like '%max_connections%';
+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| max_connections | 151   |
+-----------------+-------+
1 row in set (0.00 sec)


mysql> show global status like 'Max_used_connections';
+----------------------+-------+
| Variable_name        | Value |
+----------------------+-------+
| Max_used_connections | 6     |
+----------------------+-------+
1 row in set (0.00 sec)

沒有留言:

張貼留言

【MYSQL】MYSQL的SYS表說明(版本8.0)

mysql> use sys Reading table information for completion of table and column names You can turn off this feature to get a quicker s...