连接不上服务器mysql数据库文件,远程访问服务器上的MySQL数据库,发现root远程连接不上...

远程访问服务器上的MySQL数据库,发现root远程连接不上,提示错误:“1045-Access denied for user root@...”

解决办法如下,执行命令:

mysql> use mysql;

mysql> select host,user from user;

查看结果是不是root用户仅允许本地(localhost)登录,下面这个截图就是这种情况.

c0f6e46479dc41ac8cd133ddde8e4017.jpg

是的话,就要修改它的host为%,表示任意IP地址都可以登录.

GRANT ALL PRIVILEGES ON *.* TO \'root\'@\'%\' IDENTIFIED BY \'数据库密码\' WITH GRANT OPTION;

mysql> flush privileges;

把缓存flush掉.在使用update语句修改用户记录后,需要FLUSH语句告诉服务器重载授权表.

还不成功?

1.启动mysql 的cmd命令

58c337e6c61c4942830c29af849a51e2.jpg

2.使用“use mysql”命令,选择要使用的数据库,修改远程连接的基本信息,保存在mysql数据库中,因此使用mysql数据库。

a58603516fa74ed8943f077be4321491.jpg

3.使用“GRANT ALL PRIVILEGES ON *.* TO \'root\'@\'%\' IDENTIFIED BY \'数据库密码\' WITH GRANT OPTION;”命令可以更改远程连接的设置。

279a1bbb1bf3442a81cc812d6af1ec20.jpg

4.使用“flush privileges;”命令刷新刚才修改的权限,使其生效。

b280011ba447477aaf9176081af193ad.jpg

5.使用“select host,user from user;”查看修改是否成功。

335e719da89941e7ae318027484938ef.jpg

6.之后还是发现访问不了。于是进服务器本地访问看了一下。

866f8ca75f7545669f431a968889cdad.jpg

de231387da9746289cebd55e5eb53126.jpg

上边截图中,最后一行  % root 的password改成和第一个一样就行。

之后就可以访问了。

其他连接不上问题:

防火墙端口添加需要监听的端口

/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT

保存设置

/etc/init.d/iptables save

查看状态

/etc/init.d/iptables status

临时关闭防火墙服务器

iptables stop

开启防火墙服务

service iptables start

开机不再启动防火墙服务

chkconfig iptables off

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值