1.在百度云服务器上搭建MySQL 数据库,配置好用户名和密码后,可以实现本地登录数据库,但是远程采用Navigate 连接时报错:
1045 - Access denied for user ‘root’@‘222.173.220.236’ (using password: YES)
2.原因分析:没有远程用户连接授权
3.远程连接进行授权:
GRANT ALL PRIVILEGES ON *.* TO 'mysql用户名(如:root)'@'%' IDENTIFIED BY 'mysql密码(如:root)' WITH GRANT OPTION;
小插曲:
注意:若执行上述命令报错如下:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IDENTIFIED BY 'root@123456' WITH GRANT OPTION' at line 1
原因如下
MySQL 8.0版本以后,不再支持在GRANT语句中直接指定密码,并且WITH GRANT OPTION也需要通过单独的语句来设置。因此,你需要分别执行两条SQL语句来完成权限授权和设置密码:
(1)首先,使用以下语句授予’root’@'%'用户所有权限:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
(2)然后,使用以下语句设置密码:
ALTER USER 'root'@'%' IDENTIFIED BY 'root@123456';
4. 授权后刷新权限
FLUSH PRIVILEGES;