远程连接mysql数据库的几种方式

注:基于navicat数据库管理软件

1. 直接连接mysql服务器3306端口

3306端口无法远程访问的解决方案
a.网络检测

1)ping 主机的ip地址
— 如果ping不通,说明你的网络有问题,可以搜索解决网络问题的方案

2)telnet 主机ip地址 3306
— 如果显示无法连接,则可能是网络问题,也可能是其它问题,需要下面的步骤继续排查

3)telnet 主机ip地址 22
— 如果无法连接,可能是你的主机没有安装ssh-server(一般系统只默认安装ssh-client);
— 也可能是防火墙把22端口禁用,不一定是网络问题(这一步仅和上一步做对比;
— 如果能够连接,说明网络没有问题,而是你的主机配置问题,然后按以下步骤继续排查)

b.端口检测

1) netstat -ntpl | grep 3306
tcp 0 0 127.0.0.1:3306 127.0.0.1:* LISTEN -

2) netstat -ntpl | grep 22
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN -

3)结论
— :::3306 0.0.0.0:22 都是表明允许任意ip访问(:::3306的结论是根据结果推测,不保证正确)
— 127.0.0.1:3306 表示仅允许本机访问

— 对于端口只允许本机访问,可以查看两个地方的配置:
1.防火墙对3306端口进行了限制,针对这种情况下面c项说明了解决方案
2.mysql配置绑定本机地址,针对这种情况下面的d项说明了解决方案

c.防火墙检测

— ubuntu下使用ufw工具
sudo ufw status 查看防火墙状态,在ubuntu下iptables一般被ufw接管,而selinux是默认不安装的,如果你曾经安装过,就需要禁用seliux并重启系统了。
sudo ufw enable/disable 启用和禁用防火墙
sudo ufw allow 3306 允许访问3306端口

— 以下是centos等系统的做法:
1)iptables –list查看;
2)开启防火墙3306端口
vim /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

d.mysql配置文件检查

检查my.cnf的配置,bind-address=addr可以配置绑定ip地址。
不配置或者IP配置为0.0.0.0,表示监听所有客户端连接。

— 如何查找my.cnf配置文件:
ps -aux | grep mysql 查看进程ID是3340
ll /proc/3340 查看进程程序情况,找配置文件
或者#which mysql 找程序路径

e.mysql用户访问权限

进入mysql数据库

$mysql -u root -p
>use mysql;
>select host,user from user;

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

>
1) mysql创建用户:
CREATE USER ‘userName’@’hostName’ IDENTIFIED BY ‘password’;
hostName可以指定为ip,或%,%表示任意主机
2) mysql用户授权:
GRANT ALL ON . TO ‘userName’@’hostName’;
授予所有数据库(第一个*)的所有表(第二个星)的all权限给hostName主机登录的userName用户

2.ssh通道

mysql服务器安装了ssh-server,并开放了22端口

a.ssh配置项中ip为mysql服务器ip
b.用户名和密码是mysql服务器主机的用户名和密码
c.mysql配置项为mysql的用户名和密码

3.http通道

mysql服务器搭建了web服务器,以lnmp环境为例。

a.把数据库连接工具安装根目录下的ntunnel_mysql.php文件拷贝到mysql服务器的web服务器根目录。
b.通道地址http://mysql服务器ip或域名/ntunnel_mysql.php
c.用户名为mysql服务器主机的用户名和密码
d.mysql配置项为mysql的用户名和密码

4.ssl通道

未测试

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值