🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 如何开启MySQL远程连接 MySql-Server 出于安全方面考虑只允许本机(localhost, 127.0.0.1)来连接访问. 这对于 Web-Server 与 MySql-Server 都在同一台服务器上的网站架构来说是没有问题的. 但随着网站流量的增加, 后期服务器架构可能会将 Web-Server 与 MySql-Server 分别放在独立的服务器上, 以便得到更大性能的提升, 此时 MySql-Server 就要修改成允许 Web-Server 进行远程连接. 不用每次都登到服务器去添加修改表,只要用图形化界面即可远程管理。 可按照下面的步骤修改: 1, 在服务器上登录 Mysql-Server 连接本地 mysql (默认只允许本地连接,phpMyAdmin的远程访问实际相当于本地连接): ~~~ 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) MySQL [mysql]> UPDATE user SET Host=@'%' where user='root' AND Host='localhost' LIMIT 1; #设置为所有IP都可以访问,比较危险,不建议。 MySQL [mysql]> flush privileges; MySQL [mysql]> SELECT User, Password, Host FROM user; #再次查看现有用户,密码及允许连接的主机 +------+-------------------------------------------+-----------+ | User | Password | Host | +------+-------------------------------------------+-----------+ | root | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | | | root | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | 127.0.0.1 | +------+-------------------------------------------+-----------+ ~~~ 最后,请注意在linux服务器上,默认3306端口是关闭的,不允许远程访问,请打开3306端口,端口打开方法: ~~~ iptables -I INPUT 4 -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT service iptables save ~~~ > 备注:如果是在 phpMyAdmin 开启远程登录,会出现远程用户和本地用户名相同,但登陆密码不同的问题。即使手动设置为相同的密码,但在以后修改其中一个密码时,会发现只修改了远程登陆密码或本地登录密码,不会同时对远程和本地用户生效。