mysql数据库设置远程连接权限

631 阅读1分钟

问题现象

mysql 安装完毕,本机登录正常,在远程输入正确账号密码登录连接时报错如下

1.JPG

问题原因

远程IP没有登录权限,root用户默认只能在localhost也就是只能在本机登录,需要设置允许其他IP登录权限。

解决方案

1. 在服务器内部登录数据库,然后执行

grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option; 

flush privileges;

此语句意思是给root用户在任何IP都可以登录数据库,操作任何数据库中的任何对象。

其中:

*.* 第一个*是指数据库

*代表所有数据库

第二个*指数据库对象

*代表数据库中所有对象

'root'@'%' root是制定要授权的数据库用户

%代表允许登录的IP

123456是你的数据库密码

假如要限制只能在1.1.1.1登录,把%改成1.1.1.1 ,执行完毕后执行 flush privileges; 刷新权限

2.JPG

2. 然后在远程电脑mysql客户端就可以连接了。

3.JPG

4.JPG

Mysql8远程连接报错处理

Error 1. 

Client does not support authentication protocol requested by server; consider upgrading MySQL client

处理结果:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
flush privileges;