Mysql遠程無法連接
客戶端遠程連接mysql失敗.(mysql server在Ubuntu上)
ip能ping通,telnet ip:3306端口不通 Ubuntu下防火牆已經關閉 sudo ufw disable
Ubuntu ping windwos不通,關閉Windows防火牆后能ping通了
還是連接不上
忘記了MySQL默認禁止遠程訪問了
接下來:
#登陸mysql
$ mysql -uroot -p
mysql> use mysql; mysql> update user set host = '%' where user = 'root'; mysql> select host, user from user; +-----------+------------------+ | host | user | +-----------+------------------+ | % | root | | localhost | debian-sys-maint | | localhost | mysql.session | | localhost | mysql.sys | +-----------+------------------+ 4 rows in set (0.00 sec) #ok 退出MySQL 重啟服務 mysql> quit; $ service mysql restart #發現客戶端遠程還是連接不上 繼續修改mysql.cnf配置文件 #需要root權限,配置文件是只讀的 $ sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf #往下翻,注釋掉這一行,保存退出 # bind-address = 127.0.0.1 #重啟服務 $ service mysql restart; #ok 可以了
或者
#允許所有用戶遠程訪問 修改用戶名和密碼為你自己的
mysql> GRANT ALL PRIVILEGES ON *.* TO 'USERNAME'@'%' IDENTIFIED BY 'PASSWORD' WITH GRANT OPTION; #允許單個ip 修改用戶名和密碼為你自己的 mysql> GRANT ALL PRIVILEGES ON *.* TO 'USERNAME'@'1.2.3.4' IDENTIFIED BY 'PASSWORD' WITH GRANT OPTION; #最后 mysql> FLUSH PRIVILEGES;