MySQL远程登录用户怎么创建,手把手教你一步步操作演示
- 问答
- 2026-01-09 23:43:40
- 9
默认情况下,MySQL为了安全,只允许用户从安装它的那台电脑(我们常称之为“服务器”或“本地主机”)登录,如果您想从另一台电脑(客户端)通过网络来访问这台服务器上的MySQL数据库,就需要进行一些特殊设置,这个过程主要分为两大步:第一步是在MySQL服务器上创建一个允许远程连接的用户并赋予权限;第二步是配置MySQL服务器,让它接受远程连接,我们会先完成第一步,因为它是最关键的。
第一步:登录MySQL服务器并创建远程用户
要进行任何设置,您首先得能进入MySQL的管理界面,这一步操作必须在您准备作为数据库服务器的那台电脑上完成。
-
打开命令行或终端:如果您使用的是Windows系统,可以搜索“命令提示符”或“PowerShell”;如果是Linux或macOS,则打开“终端”。
-
以管理员身份登录MySQL:在命令行中,输入以下命令并按下回车键,这里假设您知道MySQL的root用户(超级管理员)的密码。
mysql -u root -p输入命令后,系统会提示您输入密码,输入密码时,屏幕上不会有任何显示(比如星号*),这是正常的,直接输完按回车即可,如果密码正确,您会看到MySQL的命令行提示符,类似
mysql>,这表示您已经成功进入了MySQL。 -
创建一个新用户(可选但推荐):虽然您可以直接修改root用户允许其远程登录,但强烈不建议这样做,因为这会带来巨大的安全风险,最佳实践是为远程登录专门创建一个新用户,假设我们要创建一个用户名为
remote_user,密码为StrongPassword123!的用户,请执行以下命令:
CREATE USER 'remote_user'@'%' IDENTIFIED BY 'StrongPassword123!';让我们来解释一下这个命令的关键部分:
'remote_user':这是您自定义的新用户名。- :这是一个通配符,代表“任何主机”,这意味着用户
remote_user可以从网络上的任何一台电脑尝试连接,如果您希望限制只能从特定的IP地址(比如公司内网的某台电脑)连接,可以将 替换为那个IP地址,'192.168.1.100',这样安全性更高。 'StrongPassword123!':这是您为用户设置的密码,请务必设置一个强密码。
-
给新用户授予权限:创建用户后,这个用户默认是没有任何操作数据库权限的,我们需要授予他访问特定数据库的权限,我们希望
remote_user用户可以完全操作一个名为my_database的数据库(包括增删改查等所有操作),可以执行:GRANT ALL PRIVILEGES ON my_database.* TO 'remote_user'@'%';ALL PRIVILEGES表示授予所有权限,如果您只想授予查询(SELECT)和插入(INSERT)的权限,可以把这里换成SELECT, INSERT。my_database.*表示授权范围是名为my_database的数据库里的所有表(代表所有表),如果您想授权所有数据库,可以写成 `.*`,但这通常也不建议,权限过大。
-
让权限设置立即生效:在MySQL中,使用
GRANT语句授权后,最好执行一个命令让权限立即生效,而不需要重启MySQL服务。FLUSH PRIVILEGES; -
退出MySQL:完成以上操作后,输入
exit命令离开MySQL命令行。exit;
至此,MySQL用户层面的设置就全部完成了,仅仅这样还不够,因为MySQL服务器程序本身默认是“闭关锁国”的,不监听外部的连接请求,所以我们需要进行第二步。

第二步:配置MySQL服务器监听远程连接
这一步需要修改MySQL的配置文件,这个文件的位置因操作系统和安装方式而异。
-
找到配置文件:
- Linux系统:最常见的路径是
/etc/mysql/my.cnf,也可能是/etc/my.cnf或/etc/mysql/mysql.conf.d/mysqld.cnf。 - Windows系统:通常位于MySQL的安装目录下,
C:\Program Files\MySQL\MySQL Server 8.0\my.ini。
- Linux系统:最常见的路径是
-
编辑配置文件:您需要使用文本编辑器打开这个文件,并且可能需要管理员权限。
- 在Linux上,可以使用
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf这样的命令。 - 在Windows上,可以用记事本的“以管理员身份运行”打开。
- 在Linux上,可以使用
-
找到并修改绑定地址:在配置文件中,寻找一行名为
bind-address的配置,它通常看起来像这样:
bind-address = 127.0.0.1这一行的意思是只允许本机(127.0.0.1这个地址代表本机自己)连接,要允许远程连接,您需要将它修改为服务器本身的网络IP地址(
168.1.10),或者直接注释掉这一行(在行首加一个 号),或者改为0.0.0(表示监听所有网络接口),改为0.0.0是最简单直接的方法。 修改后应为:bind-address = 0.0.0.0 # 或者直接注释掉 # bind-address = 127.0.0.1 -
保存文件并重启MySQL服务:修改保存配置文件后,必须重启MySQL服务才能使更改生效。
- Linux系统:可以使用
sudo systemctl restart mysql或sudo service mysql restart命令。 - Windows系统:打开“服务”(可以在开始菜单搜索“services.msc”),找到名为“MySQL”的服务,右键选择“重新启动”。
- Linux系统:可以使用
第三步:防火墙和网络检查
如果完成以上两步后仍然无法远程连接,很可能是服务器上的防火墙阻止了MySQL的端口(默认是3306端口),您需要在服务器的防火墙规则中开放3306端口。
- Linux(使用ufw):
sudo ufw allow 3306 - Linux(使用firewalld):
sudo firewall-cmd --permanent --add-port=3306/tcpsudo firewall-cmd --reload - Windows:在Windows Defender防火墙中添加入站规则,允许TCP端口3306。
测试远程连接
您可以尝试从另一台电脑(客户端)进行连接了,在那台电脑上,打开命令行或终端,使用刚才创建的用户信息连接:
mysql -h 您的服务器IP地址 -u remote_user -p
输入密码后,如果能够成功登录,恭喜您,MySQL远程登录用户已经创建并配置成功了!
希望这个手把手的操作演示能帮助您顺利完成设置,整个过程的核心就是“创建用户授权”和“修改配置开放监听”,只要细心操作,就不会有问题。
本文由钊智敏于2026-01-09发表在笙亿网络策划,如有疑问,请联系我们。
本文链接:http://waw.haoid.cn/wenda/77727.html
