文章目录
- 一、设置本地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中文网