远程连接mysql 报错_远程连接MySQL的时候报错1130 2003无法连接的解决方法

通常在开发中很多时候需要使用工具直接连接到服务器上的数据库进行一些操作。常用的工具比如Navicat for MySQL

新装的MySQL用Navicat连接远程MYSQL,若错误信息"2003 Can't connect to MySQL server on '192.168.1.3' "请检查服务器的MySQL3306端口在防火墙中是否打开了。

开启3306端口的方法见: CentOS配置WEB服务时关于防火墙,开启80端口\3306端口

若防火墙关了或者确认3306端口已打开了,依然不行。提示如下错误"Navicat for mysql 1130错误...."

2003 Can't connect to MySQL server on '192.168.1.3' #检查防火墙和端口

ERROR 1130: Host '192.168.1.3' is not allowed to connect to this MySQL server #检查权限

//例如,用户名是root 密码123456

1.改表法:可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改"mysql" 数据库里的 "user" 表里的 "host"项,从"localhost"改成"%"

mysql -u root -p123456

mysql>use mysql;

mysql>update user set host = '%' where user ='root';//安全性

mysql>flush privileges;

//测试一下连接若还是无法连接。则重启一下mysql 'service mysqld restart'

//说明:这语句对于安全性比较差.若只需要内网的IP访问的话。可对应替换下面的语句

mysql>update user set host = '192.168.%' where user ='root';

2.授权法:给用户授权

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

错误代码是1130,ERROR 1130: Host xxx.xxx.xxx.xxx is not allowed to connect to this MySQL server 是无法给远程连接的用户权限问题

//Sql代码A

mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

//Sql代码B

mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.%' IDENTIFIED BY '123456' WITH GRANT OPTION;

执行完后,再刷新一下权限就可以了,不用重启

mysql>flush privileges;

windows下的完整操作:

开始->运行->cmd

cd mysql安装目录\bin

mysql -u root -p123456;

mysql GRANT ALL PRIVILEGES ON *.* TO 'dbtest'@'192.168.127.129' IDENTIFIED BY '123456' WITH GRANT OPTION;

mysql flush privileges;

备注:MySQL的安全性至关重要,当产品上线之后,应严格了解MySQL的安全,给不同的用户分配不同的权限,针对不同的IP或网段开放不同的权限.

Every story has an end. But in life, every ending is just a new beginning…所有的故事,都有个结局。但幸运的是,我们的生活中,每个结局会变成一个新的开始。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值