MySQL【远程用户】授权设置(一)

本人在阿里云买了个服务器,自带mysql,感觉不能每次都通过Xshell去操作远程服务器,想尝试通过本地的sqlyog管理工具去连接, 但是即使账号密码全正确,也会报错:error no. 1045 access denied for user 'root'@'*****' (using password:YES)。

百翻查询才知道:MySql-Server 出于安全方面考虑默认只允许本机(localhost, 127.0.0.1)来连接访问.

!!!所以必须给root修改可以远程访问的权限

         1.在连接服务器后,操作mysql系统数据库

             命令为:  mysql -u root -p

                              use mysql;

                             MySQL【远程用户】授权设置(一)_第1张图片

               查询用户表命令:select  User,authentication_string,Host from user

                             

                        这里也可以看出host默认都是localhost访问权限

                     接下来就是最重要的部分了:

                          1. GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456'  

                                  这里的123456为你给新增权限用户设置的密码,%代表所有主机,也可以具体到你的主机ip地址

                           2.flush privileges;          这一步一定要做,不然无法成功! 这句表示从mysql数据库的grant表中重新加载权限数据

                           因为MySQL把权限都放在了cache中,所以在做完更改后需要重新加载。

                  执行完这两步,再次查询用户表命令:select  User,authentication_string,Host from user

                          MySQL【远程用户】授权设置(一)_第2张图片

                          发现多了一个用户,该用户所有的主机都可以访问,此时再次用sqlyog访问连接成功!

知识补充:

如果用户可以远程访问了,但是不能给其他用户授视图、表、存储过程权限,是因为该远程用户没有Grant权限  如图:

MySQL【远程用户】授权设置(一)_第3张图片

 

 

文章转载于: https://www.cnblogs.com/goxcheer/p/8797377.html

版权声明:博客对我来说是记忆的笔记和知识的分享~非常感谢博客大神的帮助,若有无意侵权,请您联系我,谢谢  https://blog.csdn.net/qq_36698956

你可能感兴趣的:(▼,数据库,-,DB,  ●,MySql.)