04.12 开启mysql远程访问权限究极套路

开启mysql远程访问权限究极套路

相信对于做开发的小伙伴来说总会遇到各种让人生无可恋的问题,心态爆炸什么的是分分钟的事情,今天跟大家分享一下小编在程序开发中遇到一个让人很恼火的问题,希望能对做开发的小伙伴有所帮助。

今天要说的就是远程访问MySQL问题。因业务需要,一位同事需要远程连接我的数据库,但是用我的Ip和root用户密码登不进去。一开始我和大家想的是因为防火墙的问题,于是就把防火墙关了,再试还是连不上,网上找了很多帖子,发现都不是原因所在,最后终于找到原因了,是因为我没有对登录用户授予访问权限。下面将找到的解决方案分享给大家。

1.用localhost登录

# mysql -u root –p

Enter password:

mysql> grant all privileges on *.* to root@'%' identified by '123';

Query OK, 0 rows affected (0.07 sec)

3. 退出再试

mysql> quit

mysql> grant 权限1,权限2, ... 权限n on 数据库名称.表名称 to 用户名@用户地址 identified by '连接口令';

权限1,权限2,... 权限n 代表 select、insert、update、delete、create、drop、index、alter、grant、references、reload、shutdown、process、file 等14个权限。

当权限1,权限2,... 权限n 被 all privileges 或者 all 代替时,表示赋予用户全部权限。

当 数据库名称.表名称 被 *.* 代替时,表示赋予用户操作服务器上所有数据库所有表的权限。

用户地址可以是localhost,也可以是IP地址、机器名和域名。也可以用 '%' 表示从任何地址连接。

'连接口令' 不能为空,否则创建失败。

远程访问数据库的时候要是连不上,可以从以下两点去找问题:

1、防火墙是否关闭

2、是否授予用户权限

当然,这是小编初级菜鸟遇到的问题,大神可以略过。


分享到:


相關文章: