MySQL启用与关闭远程访问
注意:此文仅适用于 Windows Server
登录MySQL
mysql> mysql -u root -pEnter Password: 输入root密码以登录
mysql> use mysql;
Database changed
mysql> SELECT host,user,password FROM user;
+--------------+------+-------------------------------------------+
| host | user | password |
+--------------+------+-------------------------------------------+
| localhost | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |
| 192.168.1.1 | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |
+--------------+------+-------------------------------------------+
2 rows in set (0.00 sec)
可以看到在 user 表中已创建的 root 用户。 host 字段表示登录的主机,其值可以用 IP,也可用主机名,有时想用本地 IP 登录,那么可以将以上的 host 值改为自己的 IP 即可。
方法一:通过授权实现远程访问 『推荐』
将 host 字段的值改为 %
就表示在任何客户端机器上能以 root 用户登录到 mysql 服务器,建议在开发时设为 %
,并将权限改为 ALL PRIVILEGES
。
mysql> use mysql;Database changed
mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "password";
Query OK,0 rows affected(0.00 sec)
mysql> FLUSH PRIVILEGES;
Query OK,0 rows affected(0.00 sec)
mysql> SELECT host,user,password FROM user;
+--------------+------+-------------------------------------------+
| host | user | password |
+--------------+------+-------------------------------------------+
| localhost | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |
| 192.168.1.1 | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |
| % | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |
+--------------+------+-------------------------------------------+
3 rows in set (0.00 sec)
这样机器就可以用 root 远程访问该机器上的 MySQL。
方法二:直接修改表数据
mysql> use mysql;Database changed
mysql> UPDATE user SET host="%" WHERE user="root";
设置服务器防火墙规则
完成了MySQL的配置,从外网仍然是无法访问的,还需要设置下防火墙,有以下两种方法。
直接关闭防火墙
过于简单,如何关闭,请自行百度。
开放MySQL端口3306
由于直接关闭防火墙,可能会存在安全隐患,因此,新建防火墙规则可以满足我们的需求,也比较安全,具体如下。
Window + R
打开运行窗口,输入命令control
,打开控制面板。- 打开
防火墙设置
或者检查防火墙状态
,点击左侧 高级设置 。 - 选中
入站规则
,点击新建规则
。 - 规则类型:选择
端口
,下一步。 - 协议和端口:选择
TCP
,选择特定本地端口
,并输入 MySQL 默认端口3306
,下一步。 - 操作:选择
允许连接
,下一步。 - 配置文件: 全选,下一步。
- 名称: 起一个好记得名称,并写一段关于此规则的描述,也可不写描述,完成。
以上是 MySQL启用与关闭远程访问 的全部内容, 来源链接: utcz.com/z/534455.html