派大星

从HelloWorld到改变世界!

Linux远程连接Mysql配置

Mysql默认root用户只能本地访问,不能远程连接管理mysql数据库,Linux如何开启mysql远程连接?设置步骤如下:


1、GRANT命令创建远程连接mysql授权用户itlogger

mysql -u root -p
mysql>GRANT ALL PRIVILEGES ON *.* TO itlogger@localhost IDENTIFIED BY ‘www.itlogger.com’ WITH GRANT OPTION;
mysql>GRANT ALL PRIVILEGES ON *.* TO itlogger@”%” IDENTIFIED BY ‘www.itlogger.com’ WITH GRANT OPTION;

第一句增加itlogger用户授权通过本地机(localhost)访问,密码“www.itlogger.com”。第二句则是授与itlogger用户从任何其它主机发起的访问(通配符%)。

2、设置防火墙允许3306端口

vi /etc/sysconfig/IPtables
添加-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT
(注意添加在-A RH-Firewall-1-INPUT -j REJECT –reject-with icmp-host-prohibited之前,否则可能导致规则不生效)
重启防火墙service iptables restart

3、附:Mysql无法远程连接的常见问题

1)查看Mysql的端口是否正确,通过netstat -ntlp查看端口占用情况,一般情况下端口是3306。

2)报错:ERROR 2003 (HY000): Can’t connect to MySQL server on ’192.168.51.112′ (111)

查看/etc/my.cnf中,skip-networking 是否已被注掉,需要注掉。

3)报错:ERROR 2003 (HY000): Can’t connect to MySQL server on ’192.168.51.112′ (113)

查看是否iptables没有允许mysql连接,通过:service iptables stop临时关闭测试是否可以正常远程访问,如果可以,按上面方面设置iptable允许3306端口

4)远程访问mysql速度很慢的解决方法
修改/etc/my.cnf或my.ini
[mysqld]下添加
skip-name-resolve
skip-grant-tables

**********************************************************************************************************************

mysql数据库远程访问设置方法

1、修改localhost
更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改成"%" 
mysql>use mysql; 
mysql>update user set host = '%' where user = 'root'; 
mysql>select host, user from user;
mysql>FLUSH PRIVILEGES;

2、指定授权
使用myuser/mypassword从任何主机连接到mysql服务器: 
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

使用myuser/mypassword从ip为192.168.225.166的主机连接到mysql服务器:
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.225.166' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

3、泛授权
mysql -h localhost -u root 
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION; //赋予任何主机上以root身份访问数据的权限 

mysql>FLUSH PRIVILEGES;


解决Mysql无法远程连接的问题

1、Mysql的端口是否正确
通过netstat -ntlp查看端口占用情况,一般情况下端口是3306。在用工具连接MySQl是要用到端口。例如My Admin\My Query Browser\MySQl Front等。

2、检查用户权限是否正确
mysql库的user表里有两条记录:host分别为localhost和%(为了安全,%可以换成你需要外部连接的IP)。

3、查看/etc/mysql/my.cnf中,skip-networking 是否已被注掉
需要注掉
报错:ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.51.112' (111)

 

sudo gedit /etc/mysql/my.cnf 
#skip-external-locking

#bind-address        = 127.0.0.1

skip-name-resolve


4、查看iptables是否停掉,没关的情况下,无法连接
通过:service iptables stop临时关闭。

报错:ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.51.112' (113)

设置好以后需要重启:service mysql restart

阅读更多
文章标签: Linux mysql
个人分类: Linux 数据库知识
想对作者说点什么? 我来说一句

linux MYSQL配置全攻略

2010年12月06日 70KB 下载

xshell(windows远程连接Linux

2017年12月26日 27.42MB 下载

windows远程连接linux工具

2011年10月29日 4.61MB 下载

LinuxMysql配置

2014年08月12日 13KB 下载

没有更多推荐了,返回首页

不良信息举报

Linux远程连接Mysql配置

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭