我有一台Ubuntu 18.04 Desktop 64 bit
主机。
在这台主机上,我使用 VirtualBox 创建了一个Ubuntu 18.04 Server 64 bit VM
,并在其上安装了 MySQL,创建了一个 MySQL 用户、一个数据库和一个表。
我已将此虚拟机中的网络适配器设置为Bridged Adaptor
。
在主机上,如果我输入:
telnet <VM IP Address> <MySQL port number>
我收到以下错误消息:
telnet: Unable to connect to remote host: Connection refused
我在配置中遗漏了什么?
答案1
VM 内的 MySQL 服务器仅绑定在localhost
(127.0.0.1
)。
要从桌面进行连接,您需要它在桥接网络接口上进行监听,尽管最简单的方法是让它监听全部接口。
修改您的/etc/mysql/my.cnf
(或任何可以找到您的 my.cnf 的地方),以便取消注释或添加以下行:
bind-address = 0.0.0.0
在该[mysqld]
部分中,它看起来如下所示:
...
[mysqld]
bind-address = 0.0.0.0
...
如果您在查找 my.cnf 时遇到问题,MySQL 在 Unix 和类 Unix 系统中搜索的位置是:
File Name Purpose
/etc/my.cnf Global options
/etc/mysql/my.cnf Global options
SYSCONFDIR/my.cnf Global options
$MYSQL_HOME/my.cnf Server-specific options (server only)
defaults-extra-file The file specified with --defaults-extra-file, if any
~/.my.cnf User-specific options
~/.mylogin.cnf User-specific login path options (clients only)
DATADIR/mysqld-auto.cnf System variables persisted with SET PERSIST or SE PERSIST_ONLY (server only)
注意一些发行版也指定了自己的位置(例如/etc/mysql/mysql.conf.d/mysqld.cnf
)
看https://dev.mysql.com/doc/refman/8.0/en/option-files.html了解更多信息。