mysql設定遠端連線及問題解決
阿新 • • 發佈:2019-01-26
一.設定遠端連線
1.檢視使用者
mysql -u root -p
mysql> use mysql;
Database changed
mysql> select host,user from user;
+--------------+------+-------------------------------------------+
| host | user |
+--------------+------+-------------------------------------------+
| localhost | root |
| localhost | debian-sys-maint |
| localhost | mysql.session |
| localhost | mysql.sys |
+--------------+------+-------------------------------------------+
2 rows in set (0.00 sec)
2.設定允許root使用者在任何地方進行遠端登入,並具有所有庫任何操作許可權,具體操作如下:
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '這裡是你的密碼' WITH GRANT OPTION;
FLUSH PRIVILEGES;
檢視一下:
mysql> select host,user from user;
+-----------+------------------+
| host | user |
+-----------+------------------+
| % | root |
| localhost | debian-sys-maint |
| localhost | mysql.session |
| localhost | mysql.sys |
+-----------+------------------+
5 rows in set (0.00 sec)
這裡就成功了,你可以在任何機器訪問,但是可能會有一些錯誤,下面我將遇到的錯誤列出來。
二.常見錯誤
首先如果出現上面的結果就代表配置沒問題了,你可以在任何機器訪問,但是可能會有一些錯誤,下面我將遇到的錯誤列出來。
1.網路問題
ping 一下如果不可以就是網路問題。
2.埠被防火牆擋住。
解決方法有兩個:
(1)關閉防火牆:
ufw disable
(2)允許3306埠通過防火牆
vi /etc/sysconfig/iptables
-A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT
/etc/init.d/iptables restart(重啟防火牆使配置生效)
3.檢查MySQL配置
netstat -apn|grep 3306
tcp6 0 0 127.0.0.1:3306 :::* LISTEN 13524/mysqld
這說明3306埠被繫結到了本地,修改/etc/mysql/mysql.conf.d/mysqld.cnf
將bind-address=127.0.0.1 修改為bind-address=0.0.0.0