美文网首页
如何开启MySQL远程连接

如何开启MySQL远程连接

作者: Websoft9 | 来源:发表于2020-12-03 17:23 被阅读0次

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> 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;

本文由Websoft9原创发布,转载请注明出处。

相关文章

  • MySQL 相关问题

    一.MySQL远程连接 有时候在进行MySQL远程连接时,需要开启远程访问权限。可以通过查询mysql.user表...

  • linux系统远程连接mysql

    Linux系统MySQL开启远程连接 远程连接服务器上的MySQL。 Navicat软件连接数据库报错:2003-...

  • Docker容器连接外部Mysql

    容器内部程序连接外部mysql,需要以远程连接的方式进行访问 开启mysql 远程连接 找到my.cnf配置文件 ...

  • Mysql 如何开启远程连接

    1 Mysql 安装之后,Root 用户默认只能本机连接,连接权限保存在 mysql 实例的 user 表中,可以...

  • 如何开启MySQL远程连接

    MySql-Server 出于安全方面考虑只允许本机(localhost, 127.0.0.1)来连接访问,这对于...

  • MySQL开启远程连接

    MySQL开启远程连接,需修改mysql数据库里的user表,如下所示: mysql>use mysql;mysq...

  • MySQL-数据备份与恢复

    数据备份 示例 数据恢复 MySQL的用户账户管理 开启MySQL远程连接 添加授权用户

  • 开启Mysql远程连接

    第一种方法:改表法 进入mysql中将root的host字段由localhost改为%表示该用户允许任何主机远程连...

  • MySQL开启远程连接

    前言学习MySQL重新整理以前非MK的记载 描述没有开启的话连接数据库报错:2003-can't connect ...

  • MySQL开启远程连接

    1.进入MySQL打开终端 输入 提示输入密码 2.输入密码后进入MySQL 3.刷新,生效命令 4.查看是是否成功

网友评论

      本文标题:如何开启MySQL远程连接

      本文链接:https://www.haomeiwen.com/subject/ustvwktx.html