解决MySQL-Front连接MySQL出现1045错误

用MySQL-Front连接远端的MYSQL出现1045错误:"Access denied for user root@162.105.67.62,请检查用户名和口令"。

根据网上的介绍,通过命令

mysql> use mysql;

mysql> select host,user from user;

得到如下结果

+---------------+------+
| host | user |
+---------------+------+
| localhost | root |
+---------------+------+
5 rows in set (0.00 sec)

发现root用户仅允许本地(localhost)登录,如果要远程登录该mysql服务器的话,就需要新建一个普通权限的用户,新建用户使用如下命令:

mysql> grant select,update,insert,delete on mas.* to duan@localhost identified by "123456";

这句命令的意思是:新建用户duan,并且只允许该用户在本地(localhost)登录,密码是123456,并且赋予它对mas库中所有表select,update,insert的权限。我们在这有一个mas库,所以用mas.*代表mas库下的所有表。

现在该duan用户,已经可以登录mysql了,但是也还是只能本地登录。若要duan用户可以远程登录mysql,则还需要如下命令:

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

现在我们再查看mysql的管理库:

mysql> select host,user from user;


+-----------+------+

 

| host | user |

+-----------+------+

 

| % | duan |

| localhost | root |

 

+-----------+------+

5 rows in set (0.00 sec)

这时,在MySQL-Front上新建连接,输入连接名,远端的Linux的IP地址,输入用户名duan和密码123456,选择连接端口,mysql默认的是3306,还是连接不上。

经过多番查找,发现还需要执行mysql> flush privileges:

把缓存flush后,终于大功告成了。

因为使用update语句修改用户记录,还需要FLUSH语句告诉服务器重载授权表。

当你使用GRANT和REVOKE语句时,表自动重载,而你直接修改授权表时不是。

所以更简便的方法是

 mysql> grant select,update,insert,delete on mas.* to duan@“%” identified by "123456";

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值