MySQL8 允许远程连接命令
MySQL 是一种广泛使用的关系型数据库管理系统,它支持多用户、多线程的SQL数据库服务器。在默认情况下,MySQL 服务器只允许本地连接,即只能在服务器所在的机器上访问数据库。如果需要在其他机器上远程访问 MySQL8 数据库,需要进行一些配置。
本文将介绍如何配置 MySQL8 允许远程连接,并提供相应的命令示例。
远程连接配置
要允许远程连接到 MySQL8 数据库,需要进行以下几个步骤:
-
修改 MySQL 配置文件
打开 MySQL 的配置文件
my.cnf
,一般位于/etc/mysql/my.cnf
或者/etc/my.cnf
,找到bind-address
这一行,将其注释掉或者修改为服务器的公网 IP 地址。注释掉的方法是在该行前加上#
符号。#bind-address = 127.0.0.1
-
重启 MySQL 服务
使用以下命令重启 MySQL 服务,使配置文件的修改生效。
sudo service mysql restart
-
授权远程连接的用户
在 MySQL 中,每个用户都有权限表,我们需要在权限表中添加允许远程连接的权限。
首先登录 MySQL 服务器,并选择要授权的数据库。
mysql -u root -p
然后执行以下命令:
GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
其中,
username
和password
分别为要授权的用户名和密码。GRANT ALL PRIVILEGES
表示授予用户所有权限,*.*
表示所有数据库和表,'%'
表示任何远程地址都可以连接。如果你只想允许特定的 IP 地址连接,可以将'%'
替换为具体的 IP 地址。最后,执行以下命令使修改生效。
FLUSH PRIVILEGES;
现在,MySQL8 已经允许远程连接了。接下来,我们将通过一个状态图来描述远程连接的流程。
状态图
stateDiagram
[*] --> 未连接
未连接 --> 连接中 : 执行连接命令
连接中 --> 连接成功 : 连接成功
连接中 --> 连接失败 : 连接失败
连接成功 --> [*] : 断开连接
连接失败 --> [*] : 重新连接
以上是一个简单的状态图,描述了远程连接的状态流转过程。接下来,我们将通过一个流程图来详细说明远程连接的步骤。
远程连接流程
flowchart TD
subgraph 远程连接流程
A(修改 MySQL 配置文件) --> B(重启 MySQL 服务) --> C(授权远程连接的用户)
C --> D(执行连接命令)
D --> E{连接成功}
E --> |是| F(断开连接)
E --> |否| G(连接失败)
G --> H(重新连接)
end
以上是一个流程图,详细说明了远程连接的步骤。下面我们来看一个具体的示例。
示例
假设我们的 MySQL8 服务器的公网 IP 地址为 123.456.789.0,要允许远程连接的用户名为 test
,密码为 password
。
-
首先,修改 MySQL 配置文件。
sudo vi /etc/mysql/my.cnf
将
bind-address
这一行的 IP 地址修改为服务器的公网 IP 地址。#bind-address = 127.0.0.1 bind-address = 123.456.789.0
保存并退出配置文件。
-
重启 MySQL 服务。
sudo service mysql restart
-
登录 MySQL 服务器,选择要授权的数据库