耐心点吧,我相信你一看就明白。
第一:更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从”localhost”改称'%'。或者新加条记录,“host” 项为要访问的ip地址,并授权。重启mysql服务。
第二:在系统防火墙添加例外端口:3306,并允许例外。
错误提示:
ERROR 1130: Host '192.168.1.3' is not allowed to connect to this MySQL server
的解决方法:
1。改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"
1.mysql -u root -pvmware
mysql>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
3.在window自带的防火墙里的例外添加3306端口
总结:
mysql -u root -p
mysql>use mysql
mysql>select 'host' from user where user='root'
mysql>update user set host = '%' where user ='root'
mysql>flush privileges
mysql>select 'host' from user where user='root'
第一句是以权限用户root登录
第二句:选择mysql库
第三句:查看mysql库中的user表的host值(即可进行连接访问的主机/IP名称)
第四句:修改host值(以通配符%的内容增加主机/IP地址),当然也可以直接增加IP地址
第五句:刷新MySQL的系统权限相关表
第六句:再重新查看user表时,有修改。。
重起mysql服务即可完成。
购买阿里云ecs服务器后,很多人会选择自己搭建系统,有的人会选择云数据库,有的人会用自己搭建的数据库,但是自己搭建完成后,用navicat想要连接的自己的数据库时,却发生了这样的错误:
这是由于远程IP没有登录权限,root用户默认只能在localhost也就是只能在本机登录,需要设置允许其他IP登录权限。
解决方法:
在服务器内部登录数据库,然后执行:
grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option
表示让所有的ip都能访问该数据库,并操作数据库的任何对象。
其中:
*.* 第一个*是指数据库
*代表所有数据库
第二个*指数据库对象
*代表数据库中所有对象
'root'@'%' root是制定要授权的数据库用户
%代表允许登录的IP (如:1.1.1.1)
123456是你的数据库密码
执行完毕后执行 flush privileges刷新权限即可登录
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)