红联Linux门户
Linux帮助

本地可以连接数据库,远程连接mysql不成功

发布时间:2017-06-01 10:30:56来源:linux网站作者:一颗青春痘
版本:Ubuntu16.04
 
一、使用xshell成功连接Linux服务器,然后命令行执行MySQL本地连接命令,可以成功登录mysql数据库,但是使用mysql workbench连接不成功,出现错误:ERROR 2003:Can’t connect to MySQL server on ‘xxxx’<10061>
1、查看3306端口是否被占用netstat -apn|grep 3306:查询结果如下图所示
本地可以连接数据库,远程连接mysql不成功
注意红色字体3306的地方,这说明3306被绑定到了本地ip127.0.0.1
2、检查修改my.cnf的配置
vim /etc/mysql/mysql.conf.d/mysqld.cnf
配置绑定ip地址,将bind-address = 127.0.0.1修改为bind-address = 0.0.0.0或注销,保存后退出(若没有修改权限,则赋予该文件修改权限chmod u+w /etc/mysql/mysql.conf.d/mysqld.cnf)
重启mysql
/etc/init.d/mysql restart
3、本地cmd重新连接测试
 
二、出现错误:ERROR 1130:Host ‘xxxx’ is not allowed to connect to this MySQL server
1、检查用户访问的权限:
本地登录数据库,查看mysql数据库里user表的host和user字段
mysql -uroot -p
show databases;
use mysql;
select host,user from user;
2、MySQL建用户的时候会指定一个host,默认是127.0.0.1/localhost,表示这个用户就只能本机访问, 其它机器用这个用户帐号访问会提示没有权限,修改host改为%,允许所有机器访问
update user set host='%' where user='root';
3、重启mysql使配置生效
/etc/init.d/mysql restart
 
本文永久更新地址:http://www.linuxdiyf.com/linux/31195.html