root用户远程连接MySQL时出现如下错误:
Host ‘XXX’ is not allowed to connect to this MySQL server
MySql access denied for user错误
解决方法/步骤
1.MySql远程连接时的“access denied for user **@**”错误,根据错误提示,查出解决方法。记录一下,怕以后再忘记:
2.首先本地登陆MySQL,
MySQL -uroot -p123456 (123456为root用户的密码。)
然后执行这两句代码:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
FLUSH PRIVILEGES; #再执行语句,方可立即生效。
格式:grant 权限 on 数据库名.表名 用户@登录主机 identified by “用户密码”;
3.参数说明:
ALL PRIVILEGES表示赋给远程登录用户的权限,ALL PRIVILEGES表示所有的权限,也可以单独或组合赋select,update,insert,delete权限;
*.*:第一个“*”表示要赋权的数据库名,"*" 表示全部数据库了(项目中注意指定库名),第二个“*”表示数据库下的表名,同理,这里的“*”表示全部表,自己开发当然就直接用*.*了,生产中的数据库就不建议这样使用了。
4.root表示要赋权的用户;%表示远程登录的IP,如果要限制登录IP的话,这里就添你允许登录的IP,比如192.18.1.99等,%表示不限制IP,123456是用户远程登录的密码。就这么简单。这句运行以后再运行FLUSH PRIVILEGES,搞定!
5.实例
GRANT ALL PRIVILEGES ON *.* TO 'root'@'10.0.242.138' IDENTIFIED BY '123456' WITH GRANT OPTION;FLUSH PRIVILEGES;