请选择 进入手机版 | 继续访问电脑版

Websoft9技术社区(旧版)

 找回密码
 立即注册
查看: 1879|回复: 0

如何开启MySQL远程连接?

[复制链接]

284

主题

396

帖子

1584

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1584
发表于 2016-11-14 10:21:23 | 显示全部楼层 |阅读模式
1.MySql-Server 出于安全方面考虑只允许本机(localhost, 127.0.0.1)来连接访问. 这对于 Web-Server 与 MySql-Server 都在同一台服务器上的网站架构来说是没有问题的. 但随着网站流量的增加, 后期服务器架构可能会将 Web-Server 与 MySql-Server 分别放在独立的服务器上, 以便得到更大性能的提升, 此时 MySql-Server 就要修改成允许 Web-Server 进行远程连接.

2.不用每次都登到服务器去添加修改表,只要用图形化界面即可远程管理。
可按照下面的步骤修改:
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)


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端口,端口打开方法:
[root@iZq2mvq6snkcniZ ~]# iptables -I INPUT 4 -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
[root@iZq2mvq6snkcniZ ~]# service iptables save

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

其他命令参考:

下面我们另外添加一个新的 root 用户, 密码为空, 只允许 192.168.1.100 连接
mysql
> GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.100' IDENTIFIED BY '' WITH GRANT OPTION;
@'192.168.1.100'可以替换为@‘%’就可任意ip访问,当然我们也可以直接用 UPDATE 更新 root 用户 Host, SQL如下:
mysql
> UPDATE user SET Host='192.168.1.100' WHERE User='root' AND Host='localhost' LIMIT 1;
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|官网首页|站点统计|Archiver|手机版|小黑屋|Websoft9技术社区(旧版) ( 湘ICP备16009117号

GMT+8, 2017-9-22 14:14 , Processed in 0.036748 second(s), 13 queries , File On.

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表