MySQL远程连接丢失问题解决方法(Lost connection to MySQL server)

最近服务器很不稳定,于是重装了mysql 和php 服务,但是接着却遇到了很头疼的麻烦。
远程连接mysql是总是提示:

代码如下:

Lost connection to MySQL server at ‘reading initial communication packet', system error: 0

很明显这是连接初始化阶段就丢失了连接的错误。
google半天大多是说的注释掉配置文件中 bind-address = 127.0.0.1 这一句。
但是我的配置文件并没有配置这一句,各种搜索均未果。今天偶然在网上看到一个遇到同样问题的人贴出的配置,发现他多了一句配置 skip-name-resolve,抱着试试看的态度改了一下并重启了mysql服务,果然远程一下子就连接上了,真是无语。
其实问题很简单,都是MySQL的配置文件默认没有为远程连接配置好,只需要更改下MySQL的配置文件即可。
具体的解决步骤如下,希望能帮助遇到同样问题的同学们:
找到并修改my.cnf文件。在不同的Linux系统下,my.cnf放在不同的位置。这里以Ubuntu Server做示例,其他系统请根据情况自行找到my.cnf的路径。一般只会存放在/etc/my.cnf或者/etc/mysql/my.cnf下。
首先用vim打开my.cnf:

代码如下:

vim /etc/mysql/my.cnf

看看是否有绑定本地回环地址的配置,如果有,注释掉下面这段文字:(在文字之前加上#号即可)

代码如下:

bind-address = 127.0.0.1

然后找到[mysqld]部分的参数,在配置后面建立一个新行,添加下面这个参数:
skip-name-resolve
保存文件并重启MySQL:

代码如下:

/etc/init.d/mysql restart

这样就会发现,问题已经解决了!远程连接不会丢失了。

(0)

相关推荐

  • Centos7下无法远程连接mysql数据库的原因与解决

    前言 最近在工作中遇到一个问题,发现在Centos7系统下怎么也不能远程连接mysql,通过查找相关的资料,终于解决了,以下方法就是我在碰到远程连接不到Mysql数据库后试过的方法,最终也是解决掉了问题.所以总结一下分享出来,供同样遇到这个问题的朋友们参考学习,下面话不多说了,来一起看看详细的介绍吧. 有两种原因 数据库没有授权 服务器防火墙没有开放3306端口 一.数据库没有授权 对于mysql数据库没有授权,只需要用一条命令就可以了. mysql>GRANT ALL PRIVILEGES O

  • Centos7使用yum安装MySQL及实现远程连接的方法

    Centos7使用yum安装MySQL以及如何实现远程连接,因为MySQL被Oracle收购,目前推荐使用mariadb数据库 步骤如下: 1)yum install mariadb 2) yum install mariadb-server 3) yum install mariadb-devel chmod -R 770 /var/lib/mysql systemctl restart mariadb.service 至此MySQL安装完成 初始化密码: 执行mysql命令,设置初始密码 S

  • 配置mysql允许远程连接的方法

    vim /etc/my.cnf注释这一行:bind-address=127.0.0.1 ==> #bind-address=127.0.0.1保存退出.mysql -uroot -p123456 为需要远程登录的用户赋予权限: 复制代码 代码如下: mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "123456";mysql> flush privileges; 远程登录命令

  • MySQL数据库远程访问权限如何打开(两种方法)

    下载GPL版本安装 MySQL Community Edition(GPL) Community (GPL) Downloads » 在我们使用mysql数据库时,有时我们的程序与数据库不在同一机器上,这时我们需要远程访问数据库.缺省状态下,mysql的用户没有远程访问的权限. 下面介绍两种方法,解决这一问题. 1.改表法 可能是你的帐号不允许从远程登陆,只能在localhost.这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "

  • Centos忘记mysql密码及允许远程连接的方法

    1.首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库. 因为在重新设置MySQL的root密码的期间,MySQL数据库完全出于没有密码保护的状态下,其他的用户也可以任意地登录和修改MySQL的信息.可以采用将MySQL对外的端口封闭,并且停止Apache以及所有的用户进程的方法实现服务器的准安全状态.最安全的状态是到服务器的Console上面操作,并且拔掉网线. 2.修改MySQL的登录设置: vim /etc/my.cnf 在[mysqld]的段中加上一句:skip-g

  • MySQL数据库设置远程访问权限方法小结

    MySQL基础知识第一期,如何远程访问MySQL数据库设置权限方法总结,讨论访问单个数据库,全部数据库,指定用户访问,设置访问密码,指定访问主机. 1,设置访问单个数据库权限 复制代码 代码如下: mysql>grant all privileges on test.* to 'root'@'%'; 说明:设置用户名为root,密码为空,可访问数据库test 2,设置访问全部数据库权限 复制代码 代码如下: mysql>grant all privileges on *.* to 'root'

  • mysql 远程连接数据库的方法集合

    1.改表法.可能是你的帐号不允许从远程登陆,只能在localhost.这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%" 复制代码 代码如下: mysql -u root -pvmwaremysql>use mysql; mysql>update user set host =

  • 远程连接mysql 授权方法详解

    今在服务器上 有mysql 数据库,远程访问,不想公布root账户,所以,创建了demo账户,允许demo账户在任何地方都能访问mysql数据库中shandong库. 方案一: 在安装mysql的机器上运行: 1: 创建user用户 复制代码 代码如下: CREATE USER demo IDENTIFIED BY "123456" 2. 复制代码 代码如下: mysql>GRANT ALL PRIVILEGES ON shandong.* TO 'demo'@'%'WITH G

  • MySQL数据库远程连接开启方法

    第一中方法:比较详细以下的文章主要介绍的是MySQL 数据库开启远程连接的时机操作流程,其实开启MySQL 数据库远程连接的实际操作步骤并不难,知识方法对错而已,今天我们要向大家描述的是MySQL 数据库开启远程连接的时机操作流程. 1.d:\MySQL\bin\>MySQL -h localhost -u root 这样应该可以进入MySQL服务器 复制代码 代码如下: MySQL>update user set host = '%' where user = 'root'; MySQL&g

  • MySQL远程访问设置终极方法

    数据库对于服务端开发人员来说,几乎就是左膀右臂.几乎每一个服务端开发人员都要和数据库打交道.而MySQL又以其开源免费,小巧玲珑,简单易用,功能强大占据中国数据库使用份额的半壁江山.从去年接触到Vagrant以来,Vagrant以其方便易用深深吸引了D瓜哥.为了尽可能地和生产环境保持尽可能的一致性,减少不必要的问题的发生,Vagrant+Ubuntu+MySQL几乎是绝配. MySQL允许远程访问的设置 1.注释bind-address = 127.0.0.1. 复制代码 代码如下: >cd /

随机推荐