使用mySQL 连接Liunx(ubuntu)服务器上的mySQL数据库时报错。
连不上Liunx服务器上的mySQL数据库。
2003-Can’t connect to MySql server on ‘localhost’(10061);
1130-host … is not allowed to connect to this MySql server;
netstat -anp
可以看到mysql的Local Address是 127.0.0.1,意思是只允许本机(服务器)访问mySQL数据库。我们需要把mysql的Local Address改成0.0.0.0 ,这样就可以匹配任意IP了。
打开mysql.cnf配置文件 找到bind-address
vim /etc/mysql/mysql.cnf
如果打开mysql.cnf没有找到bind-address,可能配置文件是在此路径下
vim /etc/mysql/mysql.conf.d/mysqld.cnf
2.1、打开配置文件后,按 i 进入insert模式
i
2.2、修改完成后,按ESC键,输入 :wq! 保存并退出
:wq!
2.3、使文件生效,修改的哪个文件,就填哪个路径
source /etc/mysql/mysql.cnf
source /etc/mysql/mysql.conf.d/mysqld.cnf
可以查看打开的端口,来确认操作是否生效,如果mysql的Local Address是0.0.0.0:3306,说明操作成功了。
netstat -anp
执行完这一步,连接时仍然会报错,现在报的就是1103的错误信息。
出现这个错误的原因,是数据库的账号不允许远程登录,我们需要进到mysql中操作。
登录并进入数据库
mysql -u root -p
>usr mysql
修改root用户host项的值
mysql>update user set host = '%' where user = 'root';
此时查看user表,会发现root这个账号host的值已经改变
刷新权限
mysql>flush privileges;
mysql>exit;
service mysql restart