开放3306端口,远程连接MySQL
2017-07-27 10:53
429 查看
使用Navicat远程连接阿里云服务器的MySQL数据库,一直提示错误:
2003- Can’t connect mysql Server
on ’ ‘(10038)
初步怀疑是3306端口没有打开,检查步骤如下:
1、使用nestat命令查看3306端口状态:
~# netstat -an | grep 3306
tcp 0 0 (服务器本地ip地址):3306 0.0.0.0:* LISTEN
从结果可以看出3306端口只是在(服务器本地ip地址)上监听,所以拒绝了其他IP的访问。
2、确定问题时因为3306端口没有开放,那么就需要修改MySQL的配置文件来解决:
使用命令 vim/etc/mysql/my.cnf打开MySQL配置文件,可以看到如下配置信息:
#Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address = (服务器本地ip地址)
把最后一行注释掉或者把(服务器本地ip地址)换成你希望的IP
3、使用命令 service mysql restart重启MySQL服务
4、再次使用Navicat用root账户尝试连接,发现可以正常连接
远程连接Mysql服务器的数据库,错误代码是1130,ERROR 1130: Host xxx.xxx.xxx.xxx is not allowed to connect to this MySQL server
猜想是无法给远程连接的用户权限问题。
这样子操作mysql库,即可解决。
在本机登入mysql后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从”localhost”改称'%'即可
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地址
如果这步出错"ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY'" 由说明该记录有了,跳过这步
第五句:刷新MySQL的系统权限相关表
第六句:再重新查看user表时,有修改。。
重起mysql服务即可完成。
2003- Can’t connect mysql Server
on ’ ‘(10038)
初步怀疑是3306端口没有打开,检查步骤如下:
1、使用nestat命令查看3306端口状态:
~# netstat -an | grep 3306
tcp 0 0 (服务器本地ip地址):3306 0.0.0.0:* LISTEN
从结果可以看出3306端口只是在(服务器本地ip地址)上监听,所以拒绝了其他IP的访问。
2、确定问题时因为3306端口没有开放,那么就需要修改MySQL的配置文件来解决:
使用命令 vim/etc/mysql/my.cnf打开MySQL配置文件,可以看到如下配置信息:
#Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address = (服务器本地ip地址)
把最后一行注释掉或者把(服务器本地ip地址)换成你希望的IP
3、使用命令 service mysql restart重启MySQL服务
4、再次使用Navicat用root账户尝试连接,发现可以正常连接
远程连接Mysql服务器的数据库,错误代码是1130,ERROR 1130: Host xxx.xxx.xxx.xxx is not allowed to connect to this MySQL server
猜想是无法给远程连接的用户权限问题。
这样子操作mysql库,即可解决。
在本机登入mysql后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从”localhost”改称'%'即可
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地址
如果这步出错"ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY'" 由说明该记录有了,跳过这步
第五句:刷新MySQL的系统权限相关表
第六句:再重新查看user表时,有修改。。
重起mysql服务即可完成。
相关文章推荐
- 开放3306端口,远程连接MySQL
- 本地连接linux下mysql ---- (开启远程访问权限及防火墙开放3306端口 )
- linux下修改mysql数据库编码为UTF-8(附mysql开启远程连接和开放3306端口)
- linux下mysql开启远程访问权限及防火墙开放3306端口
- ubuntu 16.04下mysql5.7.17开放远程3306端口
- ubuntu 15.04开放mysql远程3306端口
- linux下mysql开启远程访问权限及防火墙开放3306端口
- linux下mysql开启远程访问权限 防火墙开放3306端口
- linux下mysql开启远程访问权限及防火墙开放3306端口
- linux下mysql开启远程访问权限及防火墙开放3306端口
- Linux 本地启动mysql对应的3306端口也启动的情况下无法远程连接
- linux下mysql开启远程访问权限及防火墙开放3306端口
- linux下mysql开启远程访问权限及防火墙开放3306端口(mysql开放host访问权限)
- linux下mysql开启远程访问权限及防火墙开放3306端口
- linux下mysql开启远程访问权限 防火墙开放3306端口
- ubuntu 15.04开放mysql远程3306端口
- linux下mysql开启远程访问权限及防火墙开放3306端口
- ubuntu 15.04下mysql开放远程3306端口
- 解决mysql服务器3306端口不能远程连接
- linux下mysql开启远程访问权限及防火墙开放3306端口