mysql远程连接错误1130的解决方法
mysql远程连接错误1130的解决方法
今天在用远程连接Mysql服务器的数据库,不管怎么弄都是连接不到,错误代码是1130,ERROR1130:Host192.168.2.159isnotallowedtoconnecttothisMySQLserver
猜想是无法给远程连接的用户权限问题。结果这样子操作mysql库,即可解决。在本机登入mysql后,更改“mysql”数据库里的“user”表里的“host”项,从”localhost”改称'%'。。
mysql-uroot-p
mysql>usemysql;
mysql>select'host'fromuserwhereuser='root';
mysql>updateusersethost='%'whereuser='root';
mysql>flushprivileges;
mysql>select'host'fromuserwhereuser='root';
第一句是以权限用户root登录
第二句:选择mysql库
第三句:查看mysql库中的user表的host值(即可进行连接访问的主机/IP名称)
第四句:修改host值(以通配符%的内容增加主机/IP地址),当然也可以直接增加IP地址
第五句:刷新MySQL的系统权限相关表
第六句:再重新查看user表时,有修改。。
重起mysql服务即可完成。
============================
一、通过MySQL-Front或mysqladministrator连接mysql的时候发生的这个错误
ERROR1130:Host***.***.***.***isnotallowedtoconnecttothisMySQLserver
说明所连接的用户帐号没有远程连接的权限,只能在本机(localhost)登录。
需更改mysql数据库里的user表里的host项
把localhost改称%
首先按下面的步骤登录Mysql服务器
登录mysql需要切换到dos下的mysql的bin目录,进行如下操作:
语法格式:mysql-hhost_name-uuser_name-ppassword(本机的话-h和host_name可省)
例如:
C:\programfiles\mysql\mysqlserver5.0\bin>mysql-uroot-p
Enterpassword:******
先输入用户名和密码登陆要求(-p),回车后等出现"Enterpassword:",再输入密码回车,这样就可以
成功登陆mysql,否则将会登陆失败。
登陆成功后会显示如下信息及Mysql标识符:
WelcometotheMySQLmonitor.Commandsendwith;or\g.
YourMySQLconnectionidis1toserverversion:5.0.1-nt
Type'help;'or'\h'forhelp.Type'\c'toclearthebuffer.
mysql>
标识符"mysql>",当你看到这个出现在窗口的最左边的顶格时,这就是告诉你,你可以输入命令进行操作了。
mysql>\s查看版本信息
mysql>\qormysql>quit退出mysql数据库服务器
mysql>\hormysql>help查看帮助(其他的数据库服务器相关命令)
二、登录成功后可通过以下步骤对用户进行权限更改
mysql>usemysql;
mysql>updateusersethost='%'whereuser='root';
mysql>flushprivileges;
mysql>select'host','user'fromuserwhereuser='root';
mysql>quit
退出后会回到DOS正常的提示符状态,此时可以通过远程连接Mysql了!
========================================
MySQL用户帐号的修改error1130
2007-09-0709:18
MySQL上的一个数据库要备份,装了个MySQL的gui工具。打开"MySQLAdministrator"工具,填好用户名和密码却登录不了,老是报这个错“ERROR1130:Host'lijuan-'isnotallowedtoconnecttothisMySQLserver”。网上查了下,有这两个方法解决:
解决方法:
1。改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改"mysql"数据库里的"user"表里的"host"项,从"localhost"改称"%"
mysql-uroot-pvmwaremysql>usemysql;mysql>updateusersethost='%'whereuser='root';mysql>selecthost,userfromuser;
2.授权法。例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。
GRANTALLPRIVILEGESON*.*TO'myuser'@'%'IDENTIFIEDBY'mypassword'WITHGRANTOPTION;
如果你想允许用户myuser从ip为192.168.1.3的主机连接到mysql服务器,并使用mypassword作为密码
GRANTALLPRIVILEGESON*.*TO'myuser'@'192.168.1.3'IDENTIFIEDBY'mypassword'WITHGRANTOPTION;
我的mysql.user里root用户的host果然是localhost,先用改表法给localhost改成“%”,还是不行,仍然报1130的错误,又按“从任何主机连接到mysql服务器”方法授权,还是报一样的错,最后给自己的ip授权之后,终于登录上了。。。。
乎乎。。。
mysql的ERROR1045在上面情况后如再出现客户段1045可在服务器执行如下
UPDATEuserSETPassword=PASSWORD('123456')whereUSER='myuser';
FLUSHPRIVILEGES;
如果在安装的时候勾选红色部分,则不会出现远程连接的问题.