怎样允许远程访问mysql_如何允许远程访问MySQL

本指南旨在用作诊断MySQL设置时的故障排除资源和起点。 我们将讨论许多MySQL用户遇到的一些问题,并提供解决特定问题的指导。 我们还将包含指向DigitalOcean教程的链接以及在某些情况下可能有用的官方MySQL文档。

许多网站和应用程序从他们的Web服务器和数据库后端开始托管在同一台机器上。 但是,随着时间的推移,这样的设置会变得很麻烦并且难以扩展。 常见的解决方案是通过设置远程数据库来分离这些功能,从而允许服务器和数据库在自己的计算机上按照自己的进度增长。

用户在尝试设置远程MySQL数据库时遇到的一个常见问题是,他们的MySQL实例仅配置为监听本地连接。 这是MySQL的默认设置,但它不适用于远程数据库设置,因为MySQL必须能够监听可以访问服务器的外部 IP地址。 要启用此功能,请打开mysqld.cnf文件:sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

导航到以bind-address指令开头的行。 它看起来像这样:

/etc/mysql/mysql.conf.d/mysqld.cnf. . .

lc-messages-dir = /usr/share/mysql

skip-external-locking

#

# Instead of skip-networking the default is now to listen only on

# localhost which is more compatible and is not less secure.

bind-address = 127.0.0.1

. . .

默认情况下,此值设置为127.0.0.1 ,这意味着服务器将仅查找本地连接。 您需要更改此指令以引用外部IP地址。 出于故障排除的目的,您可以将此指令设置为通配符IP地址, * , ::或0.0.0.0 :

/etc/mysql/mysql.conf.d/mysqld.cnf. . .

lc-messages-dir = /usr/share/mysql

skip-external-locking

#

# Instead of skip-networking the default is now to listen only on

# localhost which is more compatible and is not less secure.

bind-address = 0.0.0.0

. . .

注意:如果您运行的是MySQL 8+,默认情况下bind-address指令不会出现在mysqld.cnf文件中。 在这种情况下,将以下突出显示的行添加到文件的底部:

/etc/mysql/mysql.conf.d/mysqld.cnf. . .

[mysqld]

pid-file = /var/run/mysqld/mysqld.pid

socket = /var/run/mysqld/mysqld.sock

datadir = /var/lib/mysql

log-error = /var/log/mysql/error.log

bind-address = 0.0.0.0

更改此行后,保存并关闭该文件,然后重新启动MySQL服务:sudo systemctl restart mysql

在此之后,尝试从另一台机器远程访问您的数据库:mysql -u user -h database_server_ip -p

如果您能够访问数据库,则会确认配置文件中的bind-address指令是问题所在。 但请注意,将bind-address设置为0.0.0.0是不安全的,因为它允许从任何IP地址连接到您的服务器。 另一方面,如果您仍然无法远程访问数据库,则可能会出现其他问题。 在任何一种情况下,您可能会发现在Ubuntu 18.04上按照我们的如何设置远程数据库以使用MySQL优化站点性能的指南来设置更安全的远程数据库配置会很有帮助。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值