下面是详细讲解 mysql 远程连接数据库的方法集合的完整攻略。
一、设置 MySQL 服务
首先,需要确定 MySQL 服务已经启用并且正在运行。我们可以使用以下命令来检查 MySQL 服务是否正在运行:
systemctl status mysql
如果 MySQL 服务没有启动,则需要使用以下命令启动 MySQL 服务:
systemctl start mysql
接下来,我们需要设置 MySQL 服务允许远程连接。为此,我们需要编辑 MySQL 配置文件 my.cnf
。在 Ubuntu 系统上,my.cnf
文件通常位于 /etc/mysql/my.cnf
目录下。
使用以下命令打开 my.cnf
文件:
sudo vi /etc/mysql/my.cnf
在 my.cnf
文件的 [mysqld]
部分中添加以下内容:
bind-address = 0.0.0.0
这将允许 MySQL 服务接受来自任何 IP 地址的连接。如果你只想允许来自特定 IP 地址的连接,可以将 bind-address
的值设置为该 IP 地址。
注意:请注意,开启 MySQL 远程连接将增加安全风险,因为任何拥有正确凭据和网络访问权限的人都可以连接到数据库。因此,在设置远程连接之前,请确保启用了必要的安全措施。
二、创建远程连接用户
在启用远程连接之前,我们需要为远程连接用户创建帐户。我们可以使用以下命令创建新用户:
CREATE USER 'username'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
其中,username
是你要创建的新用户的名称,password
是用于登录的密码。%
表示允许来自任何 IP 地址的连接。
如果您只允许来自特定 IP 地址的连接,请使用该 IP 地址替换 %
。
三、授予用户访问权限
接下来,我们需要授予远程连接用户访问 MySQL 数据库的权限。我们可以使用以下命令授予所有权限:
GRANT ALL PRIVILEGES ON *.* TO 'username'@'%';
这将允许 username
用户从任何 IP 地址连接到 MySQL 数据库,并执行任何操作。
如果您只允许用户执行特定操作,请使用以下命令授予权限:
GRANT SELECT, INSERT, UPDATE ON database_name.* TO 'username'@'%';
其中,database_name
是用户需要访问的数据库的名称,SELECT
、INSERT
和 UPDATE
等参数表示授予的权限。
四、重启 MySQL 服务
在修改 my.cnf
文件和授予权限之后,需要重新启动 MySQL 服务以使更改生效。我们可以使用以下命令来重启 MySQL 服务:
sudo systemctl restart mysql
五、如何连接 MySQL 远程数据库
完成上述步骤后,我们就可以使用任何 MySQL 客户端连接到 MySQL 远程数据库了,例如 MySQL Workbench。我们可以使用以下格式指定连接:
Host: your_server_ip
Port: 3306 (默认端口)
Username: your_username
Password: your_password
其中,Host
是您的服务器 IP 地址,Username
和 Password
是您所创建的新用户的凭据。
示例 1:
假设 MySQL 服务器的 IP 地址为 192.168.0.100
,新用户的账户名为 user1
,密码为 password1
。使用以下命令创建新用户:
CREATE USER 'user1'@'%' IDENTIFIED WITH mysql_native_password BY 'password1';
授予权限:
GRANT ALL PRIVILEGES ON *.* TO 'user1'@'%';
重启 MySQL 服务:
sudo systemctl restart mysql
然后使用 MySQL Workbench 连接远程数据库:
Host: 192.168.0.100
Port: 3306
Username: user1
Password: password1
示例 2:
假设 MySQL 服务器的 IP 地址为 192.168.0.101
,新用户的账户名为 user2
,密码为 password2
。只授权用户访问数据库 test
中的表并允许发出 SELECT 命令。使用以下命令创建新用户:
CREATE USER 'user2'@'%' IDENTIFIED WITH mysql_native_password BY 'password2';
授予权限:
GRANT SELECT ON test.* TO 'user2'@'%';
重启 MySQL 服务:
sudo systemctl restart mysql
然后使用 MySQL Workbench 连接远程数据库:
Host: 192.168.0.101
Port: 3306
Username: user2
Password: password2
以上就是完整的 MySQL 远程连接的攻略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:mysql 远程连接数据库的方法集合 - Python技术站