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;