开启MySQL远程连接的方法

mysql-server 出于安全方面考虑只允许本机(localhost, 127.0.0.1)来连接访问,这对于 web-server 与 mysql-server 都在同一台服务器上的网站架构来说是没有问题的。

但随着网站流量的增加,后期服务器架构可能会将 web-server 与 mysql-server 分别放在独立的服务器上,以便得到更大性能的提升,此时 mysql-server 就要修改成允许 web-server 进行远程连接。

开启了远程连接,数据库的后期管理运维也不用每次都登到服务器,只要用图形化界面(如phpmyadmin)即可远程管理。

开启mysql-server远程连接主要从授权访问ip和服务器端口进行操作:

1.在服务器上登录 mysql-server 连接本地 mysql (默认只允许本地连接,phpmyadmin的远程访问实际相当于本地连接):

[root@izq2mvq6snkcniz ~]# mysql -uroot -p123456

123456是密码,请使用您数据库的密码。此处以命令行登录举例,也可以使用图形界面等。

2.修改 mysql-server 用户配置:

mysql [(none)]>use mysql;
#查看现有用户,密码及允许连接的主机
mysql [mysql]> select user, password, host from user;  
+------+-------------------------------------------+-----------+
| user | password         | host  |
+------+-------------------------------------------+-----------+
| root | *6bb4837eb74329105ee4568dda7dc67ed2ca2ad9 | localhost |
| root | *6bb4837eb74329105ee4568dda7dc67ed2ca2ad9 | 127.0.0.1 |
+------+-------------------------------------------+-----------+
2 rows in set (0.00 sec)

#设置为所有ip都可以访问,比较危险,不建议。
mysql [mysql]> update user set host=@'%' where user='root' and host='localhost' limit 1;  
mysql [mysql]> flush privileges;
#再次查看现有用户,密码及允许连接的主机
mysql [mysql]> select user, password, host from user;  
+------+-------------------------------------------+-----------+
| user | password         | host  |
+------+-------------------------------------------+-----------+
| root | *6bb4837eb74329105ee4568dda7dc67ed2ca2ad9 |   |
| root | *6bb4837eb74329105ee4568dda7dc67ed2ca2ad9 | 127.0.0.1 |
+------+-------------------------------------------+-----------+

3.最后,请注意在linux服务器上,默认3306端口是关闭的,不允许远程访问。因此需要打开3306端口供mysql远程连接使用,端口打开方法:

[root@izq2mvq6snkcniz ~]# iptables -i input 4 -p tcp -m state --state new -m tcp --dport 3306 -j accept
[root@izq2mvq6snkcniz ~]# service iptables save

至此,就可以真正远程访问数据库了,远程访问举例:

其他命令参考:

下面我们配置 root 用户: 密码为空, 只允许从 192.168.1.100 连接。

以上就是开启mysql远程连接的方法的详细内容,更多关于开启mysql远程连接的资料请关注www.887551.com其它相关文章!

(0)
上一篇 2022年3月21日
下一篇 2022年3月21日

相关推荐