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;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示