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的远程访问实际相当于本地连接):
1
|
[root@iZq2mvq6snkcniZ ~] # mysql -uroot -p123456 |
123456是密码,请使用您数据库的密码。此处以命令行登录举例,也可以使用图形界面等。
2.修改 Mysql-Server 用户配置:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
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远程连接使用,端口打开方法:
1
2
|
[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远程连接的资料请关注服务器之家其它相关文章!
原文链接:https://segmentfault.com/a/1190000038370839