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)

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

(转)Linux开启mysql远程连接的设置步骤的更多相关文章

  1. Linux开启MySQL远程连接

    Linux开启MySQL远程连接的设置步骤 . MySQL默认root用户只能本地访问,不能远程连接管理MySQL数据库,那么Linux下如何开启MySQL远程连接?设置步骤如下: 1.GRANT命令 ...

  2. linux开启mysql远程登录

    Mysql默认root用户只能本地访问,不能远程连接管理mysql数据库,Linux如何开启mysql远程连接?设置步骤如下:1.GRANT命令创建远程连接mysql授权用户itloggermysql ...

  3. 如何开启MYSQL远程连接权限

    开启MYSQL远程连接权限 //建议设置固定IP mysql> GRANT ALL PRIVILEGES ON *.* TO root@"8.8.8.8" IDENTIFIE ...

  4. 开启MYSQL远程连接权限

      开启MYSQL远程连接权限   1 2 3 4 5 //建议设置固定IP mysql> GRANT ALL PRIVILEGES ON *.* TO root@"8.8.8.8&q ...

  5. 如何开启MySQL远程连接

    MySql-Server 出于安全方面考虑只允许本机(localhost, 127.0.0.1)来连接访问,这对于 Web-Server 与 MySql-Server 都在同一台服务器上的网站架构来说 ...

  6. Linux/CentOS下开启MySQL远程连接,远程管理数据库

    当服务器没有运行PHP.没装phpMyAdmin的时候,远程管理MySQL就显得有必要了. 第一步:开启MySQL用户的远程访问权限 mysql -u root -p mysql # 第1个mysql ...

  7. Ubuntu(kali)开启mysql远程连接

    Linux 默认关闭mysql的远程连接,编辑 /etc/mysql/my.cnf 文件, 把里面的 bind-address = 127.0.0.1 改成 bind-address = 0.0.0. ...

  8. 开启mysql远程连接访问权限的几种方法

    1.改表法. 可能是你的帐号不允许从远程登陆,只能在localhost.这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 " ...

  9. mysql远程连接的设置

    有时数据库所在机器与项目运行的机器不是同一个,那么就涉及到远程链接数据库了,配置远程连接数据库的步骤如下: 1.查看mysql数据库中,user表中的信息,如下图,先使用use mysql切换到mys ...

随机推荐

  1. PHP 对 memcache操作类

    <span style="font-size:18px;">class myMemcache { private $memcache; /** * 一般建议这2个值做成 ...

  2. 【转】32位和64位系统区别及int字节数

    http://blog.csdn.net/zhongzhiwei/article/details/8678885 一)64位系统和32位有什么区别? 1.64bit CPU拥有更大的寻址能力,最大支持 ...

  3. electron 创建窗口2

    /** * 窗口管理类,单例,负责创建所有窗口,保存窗口实例 */ const path = require('path'); const os = require('os'); const EucW ...

  4. ng-bind和{{}}插值法

    引言 今天调bug的时候遇到了一个问题,就是有的时候加载出来的数据没有数据的时候出现的是{{TeacherName}},一看这个不是我在页面上绑的值吗?怎么这样就显示出来了呢…… 针对这个问题,想起来 ...

  5. CSocket类的使用

    重点介绍一个MFC中CSocket类的使用 1.创建套接字 使用CSocket类创建套接字对象是通过该类的构造函数创建的.其原型如下: CSocket::CSocket(); 例如,用户创建CSock ...

  6. tomcat 部署时修改服务器时间

    tomcat 在部署时修改了服务器时间  会出现以下状况 1.session 失效 2.修改的文件不会正确被tomcat热部署进去

  7. springmvc集成Freemarke配置的几点

    项目结构图 废话不多说, 集成步骤: 1.web.xml  spring-mvc配置 <?xml version="1.0" encoding="UTF-8&quo ...

  8. binutils工具集之---addr2line

    addr2line用于得到程序指令地址所对应的函数,以及函数所在的源文件名和行号. 在不少嵌入式开发环境中,编译器的名称往往不是gcc,而是想arm-rtems-gcc这样的,对于这种命名形式的编译器 ...

  9. Maven项目下HttpServletRequest 或 HttpServletResponse需引用的依赖包

    转载: http://xyly624.blog.51cto.com/842520/865630/ Maven项目下HttpServletRequest 或 HttpServletResponse需引用 ...

  10. bootstrap内容太多表格撑破

    增加样式  style="word-break:break-all; word-wrap:break-all;" 这样内容就会自动换行,表格就美观多了. <table cla ...