远程连接MySQL数据库报错:
isnotallowedtoconnecttothisMYS。。。
1. 改表法。
可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登⼊后,更改 "mysql" 数据库⾥的 "user"
表⾥的 "host" 项,从"localhost"改称"%"
mysql -u root -p
mysql>use mysql;
connect to和connect with的区别mysql>update user set host ='%'where user='root';
mysql>select host, user from user;
注:个⼈觉得不太适⽤!
【错误内容】:SQL Error (2013): Lost connection to MySQL server at 'waiting for initial communication packet', system error: 0【错产⽣经过】:链接MySQL时出现.
【解决办法】:打开my.ini,到[mysqld]项,在其后加⼊⼀句:skip-name-resolve,保存,重启mysql服务即可~
以上就是解决MySQL Error (2013): Lost connection to MySQL server at waiting for initial communication packet的全⽂介绍,希望对您学习和使⽤数据库有所帮助.
2. 授权法。
1)例如,你想myuser使⽤mypassword从任何主机连接到mysql服务器的话。
GRANT ALL PRIVILEGES ON*.*TO'myuser'@'%' IDENTIFIED BY'mypassword'WITH GRANT OPTION;
FLUSH PRIVILEGES;
2)如果你想允许⽤户myuser从ip为192.168.1.6的主机连接到mysql服务器,并使⽤mypassword作为密码GRANT ALL PRIVILEGES ON*.*TO'myuser'@'192.168.1.3' IDENTIFIED BY'mypassword'WITH GRANT OPTION;
FLUSH PRIVILEGES;
3)如果你想允许⽤户myuser从ip为192.168.1.6的主机连接到mysql服务器的dk数据库,并使⽤mypassword作为密码GRANT ALL PRIVILEGES ON dk.*TO'myuser'@'192.168.1.3' IDENTIFIED BY'mypassword'WITH GRANT OPTION;
FLUSH PRIVILEGES;
我⽤的第⽅法1),最后执⾏⼀个语句 mysql>FLUSH RIVILEGES 使修改⽣效.就可以了
另外⼀种⽅法,不过我没有亲⾃试过的,在csdn上的,可以看⼀下.
在安装mysql的机器上运⾏:
1、d:/mysql/bin/>mysql -h localhost -u root //这样应该可以进⼊MySQL服务器
2、mysql>GRANT ALL PRIVILEGES ON*.*TO'root'@'%'WITH GRANT OPTION//赋予任何主机访问数据的权限
3、mysql>FLUSH PRIVILEGES//修改⽣效
4、mysql>EXIT//退出MySQL服务器
这样就可以在其它任何的主机上以root⾝份登录啦!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论