mysql 允许远程连接
Posted 空空主人
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql 允许远程连接相关的知识,希望对你有一定的参考价值。
linux装完mysql后想用navcat连接数据库 :
1、登录到MySQL中,为root进行远程访问的授权,执行下面的命令:
mysql> GRANT ALL PRIVILEGES ON *.* TO [email protected]"%" IDENTIFIED BY "root";
mysql> flush privileges;
第一句中"%"表示任何主机都可以远程登录到该服务器上访问。如果要限制只有某台机器可以访问,将其换成相应的IP即可,如:
GRANT ALL PRIVILEGES ON *.* TO [email protected]"172.168.193.25" IDENTIFIED BY "root";
第二句表示从mysql数据库的grant表中重新加载权限数据。因为MySQL把权限都放在了cache中,所以在做完更改后需要重新加载。
2、修改/etc/mysql/my.cnf,需要root用户权限。找到文件中的:
bind-address = 127.0.0.1
将其注释掉,保存
检查是否设置了: skip_name_resolve 这个参数加上后,不支持主机名的连接方式
3、排除一下端口问题
ps -ef | grep mysqld
确认mysql服务监听的是3306端口
可在/etc/mysql/my.cnf 修改 port=3306
在windows控制台cmd telnet IP 端口号测试
4、重新启动MySQL服务器。执行下面的几条命令即可:
# /usr/bin/mysqladmin -u root -p shutdown
# /usr/bin/mysqld_safe &
如果mysqladmin和mysql_safe不在/usr/bin目录中,可以通过whereis命令查找,例如:
# whereis mysqladmin
mysqladmin: /usr/bin/mysqladmin /usr/share/man/man1/mysqladmin.1.gz
执行完上面的三步后,还未连接数据库数据库了且 Can‘t connect to MySQL server (10060)异常
5.在iptables中开放3306端口
#/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
#/etc/rc.d/init.d/iptables save 保存:
# service iptables restart 重启生效
当然除了开放3306端口外,还有一个方法就是关闭防火墙,命令为:
# service iptables stop
不过,不推荐这种做法,因为这会引起安全性问题。
注意:若为阿里云的服务器 则需要在阿里云服务器管理后台手动开启端口
以上是关于mysql 允许远程连接的主要内容,如果未能解决你的问题,请参考以下文章