ubuntu16.04下mysql 配置

Posted Dong诗原

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ubuntu16.04下mysql 配置相关的知识,希望对你有一定的参考价值。

现状

    最近在学习WordPress,于是在windows10(以下称主机)下搭建了ubuntu 16.04的虚拟机(以下称客机),主机IP:192.168.1.101,客机采用桥接方式连接,客机IP:192.168.1.102。

 

 
技术分享图片
 

问题

     发现主机能ping通客机,客机也能ping通主机,但mysql的3306端口不通,导致主机下的navicat 无法访问到客机中的mysql。

解决步骤

1.打开防火墙3306端口

     ubuntu使用ufw辅助设置防火墙,通过命令sudo ufw from 192.168.1.101 允许主机192.168.1.101访问客机所有端口,当然单独通过命令 sudo ufw allow 3306 也是单独设置3306端口访问的。  到这里客机防火墙已向主机开放相关端口。但主机navicat仍然无法访问客机mysql。

2.查询端口监听是否正常

    通过命令netstat -ant | grep 3306,查询客机linux的3306端口是ESTABLISHED(监听)的,不过监听仅限于127.0.0.1:3306,说明mysql只监听了127.0.0.1地址的3306端口。那么必须修改MySQL的监听地址才能让主机访问到客机的MySQL。

3.修改MySQL端口监听设置

     怎么修改MySQL的配置呢?网上的很多版本都在讲找/etc/my.cnf,或者/etc/mysql/my.cnf进行配置。ls /etc/my.cnf没有结果,/etc/mysql/my.cnf倒是有,通过sudo vim /etc/mysql/my.cnf打开一瞧,啥都木有啊

 

 
技术分享图片
这下轮到我懵逼了

去这2个目录下找找呗,恩,上天垂爱,原来真正的配置文件在/etc/mysql/mysql.conf.d的目录下,就是mysqld.cnf文件,执行命令sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

 

 
技术分享图片
/etc/mysql/mysql.conf.d/mysqld.cnf

 

 
技术分享图片
注释掉bind-address=127.0.0.1

使用#注释掉bind-address=127.0.0.1,撤销仅绑定127.0.0.1地址,如果不注释,修改为0.0.0.0即可所有机器访问该MySQL服务器。

 

 
技术分享图片


作者:funnytiger
链接:https://www.jianshu.com/p/d35c6f982bbe
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。





以上是关于ubuntu16.04下mysql 配置的主要内容,如果未能解决你的问题,请参考以下文章

Ubuntu 16.04配置SSL免费证书

Ubuntu16.04 下 配置《 MySQL必知必会 》使用的软件环境

Ubuntu 16.04 设置MySQL远程访问权限

Ubuntu 16.04 设置MySQL远程访问权限

ubunt16.04 下升级cmake

Ubuntu16.04下Hive的安装与配置