mysql远程登录不上问题 “Access denied for user 'root'@'”

服务器没有授权给这个ip是不能连接的!

操作时,请在远程服务器上登录 mysql,进行授权操作!
因为在远程服务器上登录mysql后 使用root@localhost用户才会有给其他用户授权的操作权限!

通过grant all privileges 来为指定 'root'@'host'用户进行授权!
确保已有此账号!

1
grant all privileges on *.* to 'root'@'host' with grant option;

如果没有账户,请创建账号

1
2
3
4
5
# 创建用户 root@% 并授权所有权限
CREATE USER 'root'@'%' IDENTIFIED BY 'pwd';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
# 刷新权限列表
flush privileges;

*.* 代表 database_name.table_name 数据库表名! *代表所有!

查看已创建的用户

1
SELECT user, host FROM mysql.user WHERE user = 'root';

查看用户授权列表

1
select Host,User,Grant_priv,Super_priv from mysql.user;

修改用户密码

1
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'new_password';