转载

MySQL 设置远程访问权限

最近SA给帮忙升级了开发机系统版本,所以数据库的好多配置丢失了。测试同学发现从内服数据中心访问不到我开发机上的数据库了,经过一番查证,发现是我这边开发机上MySQL没有给数据中心那台机器开访问权限。

首先,连接上数据库之后,切换到mysql库,并查询user表:

mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> select host, user, password from user;
+------------------+------------------+-------------------------------------------+
| host             | user             | password                                  |
+------------------+------------------+-------------------------------------------+
| localhost        | root             |                                           |
| dev-34c75bd1     | root             |                                           |
| 127.0.0.1        | root             |                                           |
| ::1              | root             |                                           |
| localhost        | debian-sys-maint | *1C9569D5EC1A****5223EE6B5948C04532BE94E8 |
| ip.of.my.host    | myaccount        | *6A68F394D993****BAC48935EEFC20F2CB85AB50 |
+------------------+------------------+-------------------------------------------+

可以看到,这里只有对ip.of.my.host进行了myaccount和访问密码的授权,并没有针对数据中心的授权,所以数据中心无法访问我机器上的MySQL数据库。

通过下面的处理,可以使得数据中心可以通过myaccount及相应的密码,访问我机器上的数据库。

mysql> grant all privileges on *.* to 'myaccount'@'ip.to.d.c' identified by 'mypassword' with grant option;
mysql> flush privileges;
mysql> select host, user, password from user;
+------------------+------------------+-------------------------------------------+
| host             | user             | password                                  |
+------------------+------------------+-------------------------------------------+
| localhost        | root             |                                           |
| dev-34c75bd1     | root             |                                           |
| 127.0.0.1        | root             |                                           |
| ::1              | root             |                                           |
| localhost        | debian-sys-maint | *1C9569D5EC1A****5223EE6B5948C04532BE94E8 |
| ip.of.my.host    | myaccount        | *6A68F394D993****BAC48935EEFC20F2CB85AB50 |
| ip.of.d.c        | myaccount        | *6A68F394D993****BAC48935EEFC20F2CB85AB50 |
+------------------+------------------+-------------------------------------------+

这样,从数据中心(ip.of.d.c)就可以通过myaccount和对应密码访问我机器上的数据库了。

转载请注明出处: http://blog.guoyb.com/2016/02/19/mysql-remote-connect/

欢迎使用微信扫描下方二维码,关注我的微信公众号TechTalking,技术·生活·思考:

MySQL 设置远程访问权限
原文  http://blog.guoyb.com/2017/02/19/mysql-remote-connect/
正文到此结束
Loading...