Blogger Information
Blog 19
fans 0
comment 2
visits 31146
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
Ubuntu 16.04下开启Mysql 3306端口远程访问
会飞的码蚁的博客
Original
3776 people have browsed it

查看Linux版本

$ sudo lsb_release -a

显示如下:

Distributor ID: Ubuntu
Description:    Ubuntu 16.04.1 LTS
Release:  16.04Codename:   xenial

 

1. 查看3306端口是否正常

root@node1:~# netstat -an | grep 3306tcp  0  0 127.0.0.1:3306    0.0.0.0:*     LISTEN

注意:现在的3306端口绑定的IP地址是本地的127.0.0.1

 

2. 修改Mysql配置文件(注意路径,跟之前网上的很多版本位置都不一样)

root@node1:~# vim /etc/mysql/mysql.conf.d/mysqld.cnf

找到

bind-address = 127.0.0.1

前面加#注释掉

 

3. 重启Mysql

root@node1:~# /etc/init.d/mysql restart
[ ok ] Restarting mysql (via systemctl): mysql.service.

 

4. 再次查看端口信息

root@node1:~# netstat -an | grep 3306tcp6  0  0 :::3306  :::*   LISTEN


OK!

转自 PatrickDing


如不能解决,还有其他资料供参考使用

1、网络检测
   1)ping主机可以;
   2)telnet 主机3306端口不可以;
     telnet 主机22端口可以;
   说明与本机网络没有关系;


2、端口检测
   1)netstat -ntpl |grep 3306
    tcp        0      0 :::3306                     :::*                        LISTEN      - 
   2)netstat -ntpl |grep 22
    tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      -   
   可以看出22端口监听所有地址,而3306只监听本机地址(绑定了到了本地),所以远程无法访问。修改my.cnf 中bind-address=0.0.0.0
   对于端口只允许本机访问,有两个地方启用,一个是防火墙启用3306,一个就是mysql配置绑定本机地址。


3、防火墙检测
   1)iptables --list查看;
   2)开启防火墙3306端口
     vi /etc/sysconfig/iptables
     -A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT(允许3306端口通过防火墙) 
     /etc/init.d/iptables restart(重启防火墙使配置生效)
   3)或者直接关闭防火墙;   参考:http://blog.csdn.net/fjssharpsword/article/details/50973283
   centos 7 以后是修改 firewall
  systemctl start firewalld # 启动,

  systemctl enable firewalld # 开机启动

  systemctl stop firewalld # 关闭

  systemctl disable firewalld # 取消开机启动



4、mysql配置文件检查
   检查my.cnf的配置,bind-address=addr可以配置绑定ip地址。
   不配置或者IP配置为0.0.0.0,表示监听所有客户端连接。
   #ps -aux | grep mysql  查看进程ID是3340
   #ll /proc/3340 查看进程程序情况,找配置文件
   或者#which mysql 找程序路径


5、mysql用户访问权限
   进入mysql数据库
   $mysql -u root -p
   >use mysql;
   >select host,user from user;
    MySQL建用户的时候会指定一个host,默认是127.0.0.1/localhost只能本机访问;
    其它机器用这个用户帐号访问会提示没有权限,host改为%,表示允许所有机器访问。

转自 fjssharpsword

Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post