SQL是Structured Query Language(结构化查询语言)的缩写。SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。在使用它时,只需要发出“做什么”的命令,“怎么做”是不用使用者考虑的。SQL功能强大、简单易学、使用方便,已经成为了数据库操作的基础,并且现在几乎所有的数据库均支持SQL。 远程连接Mysql服务器的数据库,错误代码是1130,ERROR 1130: Host xxx.xxx.xxx.xxx is not allowed to connect to this MySQL server 猜想两种原因:一个是因为MySQL的限制,一个是防火墙的限制。 1.解决防火墙限制: 在MySQL服务主机上将防火墙关闭或者在防火墙高级设置里面加入出入站规则,加上MySQL的端口,允许通过MySQL的端口进行访问主机。修改防火墙配置 (系统不一样,防火墙配置文件不一样) 博主的是centos7下安装的iptables $ vi /etc/sysconfig/iptables 打开后在配置文件中增加一行 -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT 然后保存并退出 重启防火墙(centos7) systemctlrestart iptables.service 2.解决MySQL的限制,在MySQL服务主机上执行下列sql 在本机登入mysql后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从”localhost”改称’%’即可 登录mysql mysql -u root -p 选择mysql数据库 mysql;use mysql; 查看mysql库中的user表的host值(即可进行连接访问的主机/IP名称) mysql;select 'host' from user where user='root'; 修改host值(以通配符%的内容增加主机/IP地址),当然也可以直接增加IP地址 如果这步出错”ERROR 1062 (23000): Duplicate entry ‘%-root’ for key ‘PRIMARY’” 由说明该记录有了,跳过这步 mysql;update user set host = '%' where user ='root'; 更改权限(root为账户名,%为主机名(任意主机),525099302为密码 密码可以自己选择) GRANT ALL PRIVILEGES ON *.* TO root@'%' IDENTIFIED BY "525099302"; 刷新权限,mysql直接生效 flush privileges; 重起mysql服务即可完成。 以上就是如何解决Mysql限制连接报1130的问题的详细内容,更多请关注php中文网其它相关文章!
学习教程快速掌握从入门到精通的SQL知识。
|