bash,# 编辑MySQL配置文件,sudo vi /etc/mysql/my.cnf,,# 找到bind-address这一行,修改为0.0.0.0或注释掉,bind-address = 0.0.0.0,,# 保存并退出编辑器,,# 重启MySQL服务,sudo systemctl restart mysql,,# 登录MySQL,mysql -u root -p,,# 在MySQL中创建用户并授权远程访问,CREATE USER 'username'@'%' IDENTIFIED BY 'password';,GRANT ALL PRIVILEGES ON *.* TO 'username'@'%';,FLUSH PRIVILEGES;,,# 退出MySQL,exit,,# 配置防火墙规则(以Ubuntu为例),sudo ufw allow 3306/tcp,
“要在服务器上开启MySQL的远程访问,需要执行一系列步骤来确保MySQL能够接受来自远程主机的连接请求,以下是详细步骤:
1、连接到MySQL环境:使用mysql
命令连接到MySQL服务器,如果用户名是root且密码为123456,可以使用以下命令:
mysql -u root -p123456
2、查看当前远程访问权限配置:在MySQL命令行界面中,选择mysql
数据库并检查用户和权限配置:
use mysql; SELECT User, authentication_string, Host FROM user;
默认情况下,您会看到只有localhost
或127.0.0.1
作为Host的用户记录。
3、修改用户Host字段以允许远程访问:有两种主要方法可以更改用户的Host字段以允许远程访问:改表法和授权法。
改表法:直接修改user
表中的host
字段,将其从localhost
改为通配符%
,要将root用户的Host改为任何IP地址,可以使用以下SQL语句:
UPDATE user SET host='%' WHERE user='root'; FLUSH PRIVILEGES;
授权法:通过GRANT命令授予特定用户远程访问权限,要允许root用户从任何IP地址访问,可以使用以下SQL语句:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION; FLUSH PRIVILEGES;
4、配置MySQL服务器监听所有IP地址:编辑MySQL配置文件(通常是my.cnf
或mysqld.cnf
),找到bind-address
这一行,并将其值修改为0.0.0.0
,表示MySQL将监听所有IP地址的连接请求。
5、重启MySQL服务:完成上述配置后,重启MySQL服务以使更改生效,对于Linux系统,可以使用以下命令:
sudo systemctl restart mysql
6、防火墙设置:如果服务器启用了防火墙,需要确保开放MySQL的默认端口3306,使用UFW防火墙时,可以使用以下命令:
sudo ufw allow 3306/tcp
通过以上步骤,您可以成功地在服务器上开启MySQL的远程访问功能,出于安全性考虑,不建议直接给root用户开启远程访问权限,而是应该创建专门的MySQL用户并赋予其必要的权限,正式环境中应进行权限细分和限制,只开放所需的最小权限。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1464703.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复