解决Windows远程连接mysql出现cannot connect(10038)过程
我的mysql是安装在云服务上的,系统是Linux;在Linux环境下默认是关闭3306端口远程连接的,所以需要开启;我在安装mysql的时候已经开启了。如果是云服务器上的mysql:要修改 sudo vim /etc/mysql/my.conf找到bind-address = 127.0.0.1这行 改为 bind-address= 0.0.0.0mysql
我的mysql是安装在云服务上的,系统是Linux;在Linux环境下默认是关闭3306端口远程连接的,所以需要开启;我在安装mysql的时候已经开启了。
如果是云服务器上的mysql:要修改 sudo vim /etc/mysql/my.conf
找到bind-address = 127.0.0.1这行 改为
bind-address= 0.0.0.0
mysql的账号默认不允许从远程登录,只允许localhost访问。
方法一:
进入mysql后,需要更改 "mysql" 数据库里的 "user"(远程数据库的名称) 表里的"host" 项,把"localhost"改称"%" (表示所有地址IP都可以访问mysql服务器)。这样你的mysql就可以远程操作了。
update user set host = '%' where user ='root';
但是这样不安全。
方法二:授权
grant select,insert,update,delete on *.* to root@"%" Identified by "password";
只赋给地址IP上的root 账号 select,insert,update,delete 权限 ,这样比较安全。将‘%’换成指定ip表示只允许给ip上的root用户访问:例如:
grant select,insert,update,delete on *.* to root@"192.168.1.10" Identified by "password";
将赋予权限改成all时表示赋予该ip上root用户所有权限 例:
grant all on *.* to root@"192.168.1.10" Identified by "password";(这样并不安全)
修改完成之后重启mysql服务器: sudo service mysql restart
更多推荐
所有评论(0)