前提:已经授权root开启远程访问

 

这种问题非常容易确定,就是无法连接。原因入下:

一、90%的问题是因为防火墙屏蔽,比如我自己在Windows上安装了mysql5.6,用Navicat远程连接提示这个错误

以Windows防火墙为例(同理可自行搜索Linux等系统的防火墙配置):

打开防火墙后进行入下操作:

 

添加防火墙例外端口

入站规则设置

第一步 选择 入站规则 然后 新建规则,选择 端口,然后下一步

第二步 选择TCP 选择特定端口 然后输入端口,如有多个端口需要用逗号隔开了 例如: 3306

第三步 选择允许连接

第四步 选择配置文件

第五步 输入规则名称 mysqlport

 

出站规则设置

第一步 选择出站规则 然后 新建规则,选择 端口,然后下一步

第二步 选择TCP 选择特定端口 然后输入端口,如有多个端口需要用逗号隔开了 例如: 3306

第三步 选择允许连接

第四步 选择配置文件

第五步 输入规则名称 mysqlport(或者无特殊要求下直接关闭防火墙)

 

 

二:检查配置文件

把--config_networking注释掉,否则无法用tcp 连接

端口是否为3306

 

三:最简单的问题:打开mysql服务

检查是否开启mysql服务,开启即可

 

 

 

补充:如何开启远程访问

登录

mysql -u root -p

输入密码后

 

先使用mysql数据库    可以show databases; 理论上应该有四个数据库

use mysql

 

查询

select user,host from user;

 

如果没有"%"这个host值,就执行下面这两句:

update user set host='%' where user='root';

 flush privileges;

 

想创建新用户和密码用下面命令:

grant usage on *.* to ‘gueset'@'localhost' identified by ‘passwd';

 

授权可以远程访问:

grant all privileges on *.* to root@'%'identified by 'passwd';//设置可以远程访问

Logo

更多推荐