MySQL远程连接权限设置,创建远程连接用户,使用远程工具连接数据库(详细)

转载自:https://blog.csdn.net/shuang_waiwai/article/details/120825086

=======

 

MySQL创建远程连接用户,使用远程工具连接数据库
一般我们在做开发或者测试时,都免不了数据库的操作,为了方便,我们都是使用工具(Navicat、SQLyog等工具)去远程连接数据库,再进行数据库的操作,提高方便

1.查看用户是否能够远程连接
登录MySQL

mysql -u root -p;

 

输入密码,登录上后

use mysql;

 

查看

select host,user,authentication_string from user;

 

 

找到你想要配置远程连接的用户,这里显示此数据库的host为localhost,意为即仅限本地主机访问

2.创建远程连接用户
①增加远程连接权限:

GRANT ALL PRIVILEGES ON *.* TO 'userName'@'IPAddress' IDENTIFIED BY 'userPw' WITH GRANT OPTION;

 举例:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.43.103' IDENTIFIED BY 'root' WITH GRANT OPTION;

 

说明:
1.ALL PRIVILEGES:给予所有权限,也可以枚举处出你想要给予的权限
2. * . *:第一个 * 代表指定用户下所有的数据库,第二个 * 代表指定数据库下所有表,也可以指定数据库和表。
3.userName:用户名
4.IPAddress:允许远程连接的IP地址,localhost代表本地主机,%代表所有IP地址
5.userPw:用户密码

②刷新权限:

FLUSH PRIVILEGES;

 

③重新查看权限:

select host,user from user;

 

④当看到想要远程连接的用户在host一列显示”%”,则就以配置成功了
⑤再使用Navicat、sqlyog等工具远程登录

 

 

 

 

 

 

或者使用创建远程连接用户
①输入:

create user 'x2'@'%' identified by '123456';

 

如果发现如图报错:

则需要:
设置mysql密码策略:

set global validate_password_policy=0;

 

设置mysql密码长度:

set global validate_password_length=4;

 

②赋予远程连接的权限:

grant all privileges on *.* to 'x2'@'%';

 

③刷新权限:

flush privileges;

 

④重新查看权限:

select host,user from user;

 

⑤当看到想要远程连接的用户在host一列显示 ”%”,则就已配置成功了

⑥再使用Navicat、SQLyog等工具远程登录

附加:如果发现如图报错

则需要在服务器Linux中(完成下列三个步骤即可)
1.重启网络服务:

systemctl start network.service;

 

2.关闭防火墙:

systemctl stop firewalld.service;

 

3.重启mysql服务:

systemctl start mysqld.service;

 



posted @ 2023-02-27 14:55  larybird  阅读(541)  评论(0编辑  收藏  举报