如何开启服务器上的MySQL远程访问权限?

要开启mysql远程访问,请先登录到服务器,然后使用root权限执行以下命令:,,“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;

默认情况下,您会看到只有localhost127.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.cnfmysqld.cnf),找到bind-address这一行,并将其值修改为0.0.0.0,表示MySQL将监听所有IP地址的连接请求。

如何开启服务器上的MySQL远程访问权限?

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

本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。

(0)
未希
上一篇 2025-01-06 15:41
下一篇 2025-01-06 15:44

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

产品购买 QQ咨询 微信咨询 SEO优化
分享本页
返回顶部
云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购 >>点击进入