首页 >数据库 >mysql教程 >为什么无法在 Ubuntu 上远程访问 MySQL 服务器,如何修复?

为什么无法在 Ubuntu 上远程访问 MySQL 服务器,如何修复?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-12-03 04:38:07768浏览

Why Can't I Remotely Access My MySQL Server on Ubuntu, and How Do I Fix It?

在 Ubuntu 上建立远程 MySQL 连接

问题陈述

尽管授予了远程权限,但对 MySQL 服务器的远程访问尝试失败并出现访问被拒绝错误给用户。

解决方案

配置MySQL绑定地址

要在 MySQL 5.6 及更低版本中接受远程连接,请确保 /etc/mysql/my.cnf 中取消注释以下行:

#Replace xxx with your IP Address 
bind-address        = xxx.xxx.xxx.xxx

或者,使用 bind-address = 0.0.0.0 允许任何IP连接。

对于 MySQL 5.7 及以上版本,修改绑定地址在 /etc/mysql/mysql.conf.d/mysqld.cnf 中。

确认 IP 地址绑定

重新启动 MySQL 并使用 lsof -i -P | 验证更新后的绑定地址正则表达式:3306。它应该返回您服务器的 IP 地址。

创建远程用户和权限

在本地主机和 % 中创建具有适当权限的远程用户:

CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypass';
CREATE USER 'myuser'@'%' IDENTIFIED BY 'mypass';

授予必要的权限:

GRANT ALL ON *.* TO 'myuser'@'localhost';
GRANT ALL ON *.* TO 'myuser'@'%';

最后,刷新权限和exit:

FLUSH PRIVILEGES; 
EXIT;

验证远程访问

如果不成功,请检查其他错误消息或检查 my.cnf 配置。如果 lsof 不可用,请考虑安装 lsof 进行故障排除。

注意

如果 my.cnf 中的绑定地址更改无法解决问题,请尝试在 /etc/mysql/ 中修改它mariadb.conf.d/50-server.cnf,最初声明的地方。

以上是为什么无法在 Ubuntu 上远程访问 MySQL 服务器,如何修复?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn