虚拟机上面3306 端口开了
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
root 用户也允许任何机器登陆,也给了权限了
update user set host='%' where user='root';
GRANT ALL PRIVILEGES ON . TO 'root'@'%'WITH GRANT OPTION;
本机电脑防火墙也关掉了,
但是通过naicat连接的时候有时候有(2003-Can't connect to Mysql on '主机名'(10060 Unknown error))这个错误,有时候有(2003-Can't connect to Mysql on '主机名'(10061 Unknown error))这个错误
在虚拟机中终端连接使用mysql 没有问题,但是远程就会出现问题
请大神赐教!!!
刷新mysql用户权限相关表;
flush privileges ;
你查看你Linux上数据库连接用户是不是设置了localhost连接,需要远程连接的话,是要设置为指定IP主机,
或者修改为:%,这个符号代表,允许任何主机远程连接:
进入数据库,修改命令:update user set host = '%' where user = 'root';
telnet 3306 试试呀
GRANT ALL PRIVILEGES ON . TO 'root'@'%'WITH GRANT OPTION;
后面加上 FLUSH PRIVILEGES; 试一下
阿里云的服务器吗,是的话还需要阿里云配置端口号
你可以先测试cmd 远程链接下mysql 初步判断下是否是naicat的问题
你看看你的mysql里是不是有root@localhost 或者root@127.0.0.1这样的用户,删除这样的用户或者新建别的用户,名字不要叫root试试
如果mysql安装在虚拟机里,需要打通本机和虚拟机的ip链接。
查看虚拟机里系统的ip地址,在本机看看能不能ping通
是一个网段访问吗,虚拟机是vmware还是openstack。虚拟机平台防火墙打开,如果不同网段在forward也开个允许3306的规则试试,把selinux关闭
你是在docker环境安装的mysql么?你可以换成centos6,试试看,我之前也遇到过这样的问题,查资料,好像说是centos7自身的问题还没有解决
如果是云主机 应该将 安全规则中 对应 3306 端口打开, 记得没错的话阿里云3306默认是打开的