MySQL常见远程连接错误解决方法

时间:2020-12-20 10:51:22

MySQL常见远程连接错误解决方法
常见mysql远程连接错误解决方法
1,远端无法telnet到mysql服务器的3306无反应
解决方法:
进入/etc/mysql/my.cnf,找到bind-address   = 127.0.0.1,将其注释掉,然后自毁执行/etc/init.d/mysql restart重启.
2,远程能telnet到mysql服务器的3306但无法使用用户连接
解决方法:
远程可以telnet到Mysql服务器的3306,但用户无法访问,测试现象,telnet 192.168.1.11 33306连接上去马上关闭,进入到mysql,执行以下命令解决。
mysql>grant create,select,insert,update,delete on mydb.* to kevin@192.168.1.10 identified by '123456';
以上命令是允许远程192.168.1.10这台计算机使用kevin这个帐号对mydb数据库进行创建表,选择,插入,更新及删除动作。另外,如果还需要本地也可以登录及修改mydb数据库,再执行以下命令:
mysql>grant create,select,insert,update,delete on mydb.* to kevin@localhost identified by '123456';
总之,需要那里访问mydb数据库,只用执行以上命令,修改@后台的地址就好了
[username]:远程登入的使用者代码
[db_name]:表示欲开放给使用者的数据库称
[password]:远程登入的使用者密码
[ipadd]:IP地址或者IP反查后的DNS Name,此例的内容需填入’60-248-32-13.HINET-IP.hinet.net’ ,包函上引号(’)
MySQL的远程连接出现错误提示分析
【内容摘要】技巧问题mysql的远程连接出现"lostconnectiontomysqlserverduringquery"安装完了rh8.0用自带的mysql以后直接在本机上可以正常使用mysql登陆,用mysql-uroot-p添加了一些用户,如*beginnerpass即beginner可以从任何地方通过密码可以访问这台mysql服务器(假设我的mysql服务器为mysql.test.com)但当我运行mysql-hmysql.test.com-ubeginner-p就提示:error2013:lostconnectiontomy……
-----------------------------------------------------------------------------
技巧问题 mysql的远程连接出现"lost connection to mysql server during query" 安装完了rh 8.0用自带的mysql以后直接在本机上可以正常使用mysql登陆,用
mysql -u root -p
添加了一些用户,如* beginner pass
即beginner可以从任何地方通过密码可以访问这台mysql服务器(假设我的mysql服务器为mysql.test.com)但当我运行
mysql -h mysql.test.com -u beginner -p
就提示:
error 2013: lost connection to mysql server during query
其实我只要输入
mysql -h mysql.test.com时就出现上面的提示,也就是说它根本还没有到验证密码那一步。<br>
这个问题是由于glibc的一个bug造成的。
在glibc某些版本中,gethostbyaddr函数(确切地说是_nss_dns_gethostbyaddr_r)存在缓冲区溢出问题,在处理大数据时会造成segment fault。
在处理远程连接时,mysqld会调用ip_to_hostname()函数,再由这个函数调用gethostbyaddr函数,最后系统在执行nss_dns_gethostbyaddr_r函数处崩溃。因此,会出现上述情况。
解决问题的办法是升级glibc。
本贴来自天极网群乐社区--http://q.yesky.com/group/review-17681663.html

 

 

MYSQL无法远程连接的解决方法 :

如果你想连接你的mysql的时候发生这个错误:

以下是引用内容:
ERROR 1130: Host ’192.168.1.3’ is not allowed to connect to this MySQL server  
解决方法:
1。 改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 /"mysql/" 数据库里的 /"user/" 表里的 /"host/" 项,从/"localhost/"改称/"%/"

mysql -u root -pvmwaremysql>use mysql;mysql>update user set host = ’%’ where user = ’root’;mysql>select host, user from user; 


2. 授权法。例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。

GRANT ALL PRIVILEGES ON *.* TO ’myuser’@’%’ IDENTIFIED BY ’mypassword’ WITH GRANT OPTION; 


如果你想允许用户myuser从ip为192.168.1.3的主机连接到mysql服务器,并使用mypassword作为密码

GRANT ALL PRIVILEGES ON *.* TO ’myuser’@’192.168.1.3’ IDENTIFIED BY ’mypassword’ WITH GRANT OPTION;