文章目录
- 一、设置本地mysql允许外部访问
- 找到mysql配置文件`my.ini` ,linux环境是`my.cnf`
- 配置mysql配置文件
- 二、创建外部访问的mysql用户
- 三、配置mysql用户的权限
- 四、配置防火墙端口
- 五、连接
- 查看本地ip地址
- 参考
连接命令
mysql -h <host> -P <port> -u <user> -p
- 这是一个用于在命令行中连接到MySQL数据库的命令。
-h <host>:指定要连接的MySQL主机名或IP地址。你需要将<host>替换为实际的主机名或IP地址。-P <port>:指定要连接的MySQL服务器的端口号。你需要将<port>替换为实际的端口号。-u <user>:指定要使用的用户名。你需要将<user>替换为实际的用户名。-p:提示输入密码。当你运行命令后,会要求你输入密码。
操作步骤:
- 设置本地mysql允许外部访问
- 创建外部访问的mysql用户
- 配置mysql用户的权限
- 配置防火墙端口
一、设置本地mysql允许外部访问
找到mysql配置文件my.ini ,linux环境是my.cnf
-
cmd环境输入
where mysql,会输出mysql的安装路径。

-
复制输出的路径,文件管理器打开路径。
my.ini就在上面\bin目录的同级目录中。

配置mysql配置文件
- 修改mysql的配置文件,
修改或添加bind-address属性
bind-address=0.0.0.0
这将允许MySQL服务器接受来自任何IP地址的远程连接请求。如果你只想允许特定IP地址的连接,可以将
0.0.0.0替换为相应的IP地址。

二、创建外部访问的mysql用户
要在mysql环境下设置(root登陆mysql):
在MySQL中,每个用户需要有一个用户名和密码,以便进行身份验证。
CREATE USER 'user_name'@'%' IDENTIFIED BY 'password'
CREATE USER:表示创建一个新用户。'user_name'@'%':指定要创建的用户的用户名和允许连接的主机。在这个例子中,'user_name'是你要创建的用户的名称,'%'表示允许从任何主机进行连接。你可以将'%'替换为特定的主机名或IP地址,以限制连接来源。IDENTIFIED BY 'password':指定用户的密码。在这个例子中,'password'是你要为用户设置的密码。请确保使用强密码来保护用户账户的安全。
三、配置mysql用户的权限
我们需要使用GRANT语句授予remoteuser用户相应的权限,以便远程访问MySQL数据库。
要在mysql环境下设置(root登陆mysql):
GRANT ALL ON database_name.* TO 'rem'@'%'
GRANT ALL:表示授予用户所有权限,包括 SELECT、INSERT、UPDATE、DELETE、CREATE、DROP 等。ON database_name.*:表示授予权限的数据库和表。在这个例子中,database_name.*表示授予用户在database_name数据库中的所有表上的权限。你可以将database_name替换为你想要授权的数据库名,或者使用*.*表示所有数据库和表。TO 'rem'@'%':表示将权限授予用户名为'rem',并允许从任何主机(%)进行连接。你可以将'rem'替换为你想要授权的用户名,'%'替换为特定的主机名或IP地址。
重启mysql
net stop mysql && net start mysql
四、配置防火墙端口
- 查看mysql的使用端口。默认是
3306
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BEVjzDi1-1690864269323)(C:\Users\lenovo\AppData\Roaming\Typora\typora-user-images\image-20230801121942973.png)]
-
配置3306端口
-
重启防火墙
五、连接
mysql -h <host> -P <port> -u <user> -p
查看本地ip地址
ipconfig

参考
mysql怎么设置远程访问-mysql教程-PHP中文网