连接服务器的mySQL数据库出错 的解决方法

问题描述:

使用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;

解决步骤:

1、查看服务器有哪些端口是打开的
netstat -anp

在这里插入图片描述
可以看到mysql的Local Address是 127.0.0.1,意思是只允许本机(服务器)访问mySQL数据库。我们需要把mysql的Local Address改成0.0.0.0 ,这样就可以匹配任意IP了。

2、修改mysql的Local Address

打开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中操作。

3、修改user表的host值

登录并进入数据库

mysql -u root -p
>usr mysql

修改root用户host项的值

mysql>update user set host = '%' where user = 'root';

在这里插入图片描述
此时查看user表,会发现root这个账号host的值已经改变
在这里插入图片描述

4、刷新权限 并 重启mySQL

刷新权限

mysql>flush privileges;

在这里插入图片描述
退出mySQL,重启mySQL服务

mysql>exit;
service mysql restart

做完这些,就能连接到服务器上的mySQL数据库了。
在这里插入图片描述

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值