首页 > 数据库技术 > 详细

Linux 安装MySql远程无法访问

时间:2020-06-13 09:52:15      阅读:53      评论:0      收藏:0      [点我收藏+]

本地jdbc连接阿里云上mysql数据库无法连接

第一步:网络检测

 1)ping主机可以;主机网络没问题
   2)telnet 主机3306端口不可以;如  telnet 公网ip  3360(mysql默认端口)
     telnet 主机22端口可以;
    说明与本机网络没有关系;

第二步:端口检测  

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

  显示端口只是绑定到了本地,你需要/etc/mysql/mysql.conf.d/mysqld.cnf里面注释掉

技术分享图片

 

 

第三步:防火墙检测
   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)或者直接关闭防火墙

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

   进入mysql数据库
   $mysql -u root -p
   >use mysql;
   >select host,user from user;

  授权: GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘%‘ IDENTIFIED BY ‘123456‘ WITH GRANT OPTION;      %代表外网所有IP,如果固定哪个IP地址就是允许这个IP访问,以  账号:root 密码:123456
    又可以回头看 :select host,user from user; 

  技术分享图片

  MySQL建用户的时候会指定一个host,默认是127.0.0.1/localhost只能本机访问;
    其它机器用这个用户帐号访问会提示没有权限,host改为%,表示允许所有机器访问。

参考:

  https://blog.csdn.net/fjssharpsword/article/details/72865706?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&tdsourcetag=s_pctim_aiomsg

     https://www.jianshu.com/p/22eb076b4f87

 

Linux 安装MySql远程无法访问

原文:https://www.cnblogs.com/carrollCN/p/13111504.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!