mysql一般情况下是不能使用远程连接的,但我要做的是数据库服务器与web服务器分离,这样mysql就必须有远程连接权限了,下面我来给大家总结一下操作步骤.
最简单的一句,代码如下:
- >>GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "passwd";
- >>flush privileges;
其中”%”表示任何主机都可以远程登录到该服务器上访问,如果要限定为只有某台机器可以访问,将其换成相应的IP即可;第二行重新加载权限数据.
登录MySQL,代码如下:
# mysql -uroot -p
如果无法登录可以使用find / -name mysql搜索mysql程序的路径,比如mysql程序路径为:/usr/local/mysql/bin/mysql,我们可以这样登录:
# /usr/local/mysql/bin/mysql -uroot -p
执行如下命令:
- # grant all privileges on *.* to ‘root’@’192.168.0.1′ identified by ‘ROOT-PASSWORD’;
- # flush privileges;
- # exit
192.168.0.1是连接mysql服务器的客户端ip,如果指定所有,则用%来表示,最好安全我们可以固定如 8.8.8.8只有这个IP才可以远程连接.
MYSQL远程连接权限,建议设置固定IP2,代码如下:
- mysql> GRANT ALL PRIVILEGES ON *.* TO root@"8.8.8.8" IDENTIFIED BY "root";
- mysql> flush privileges; //phpfensi.com
修改防火墙:iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
注意了,数据库端口如果没打开也是不很的,开启 MySQL 的远程登陆帐号有两大步,确定服务器上的防火墙没有阻止 3306 端口.
MySQL 默认的端口是 3306,需要确定防火墙没有阻止 3306 端口,否则远程是无法通过 3306 端口连接到 MySQL 的.
如果您在安装 MySQL 时指定了其他端口,请在防火墙中开启您指定的 MySQL 使用的端口号,如果不知道怎样设置您的服务器上的防火墙,请向您的服务器管理员咨询. |