我从Ubuntu服务器CD(15.04)安装MySQL。安装完成后,我发现 下的配置文件/etc/MySQL/
,例如my.cnf
和MySQL.cnf
都是空的。
所以我想从其他终端访问我的数据库,我做了以下工作:
%
为主机创建具有所有权限的用户;- 使得防火墙 utw 允许 MySQL;
- 在 my.cnf 中插入一行:bind-address = 0.0.0.0;
- 重新启动 MySQL 服务。
它没有效果。远程连接仍然被拒绝。
我查看了MySQL中的变量,bind_address变量显示绑定了127.0.0.1,而netstat命令显示3306端口只绑定了127.0.0.1,不知道为什么configure信息my.cnf
没有生效?
配置文件如下所示:
[mysqld]
bind-address = 0.0.0.0
有人能帮助我吗?
答案1
在 Ubuntu 15.04 中,MySQL 服务器配置文件位于:
/etc/mysql/mysql.conf.d/mysqld.cnf
你可以bind-address
在这里找到。注释它(通过#
在其开头插入),然后使用以下命令重新启动 MySQL 服务器:
service mysql restart
然后你就可以从其他计算机访问你的 MysqlServer 了。如果不能,也许你需要给用户授予一些权限。
您可以使用以下命令查看 MySQL 服务器绑定地址:
netstat -tap | grep mysql
这样就知道配置是否已经生效了。
答案2
第 59 行my.cnf
表示:
bind-address = 127.0.0.1
您可能需要更改这一点,而不是在文件末尾插入新行。
话虽如此,如果可能的话,我建议使用带有端口转发的 SSH 来远程访问 MySQL,而不是向全世界开放 MySQL 端口。