搜索
博主信息
博文 20
粉丝 0
评论 2
访问量 37799
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
Ubuntu 16.04下开启Mysql 3306端口远程访问
会飞的码蚁的博客
原创
4093人浏览过

查看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

本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学