1:首先安装MySQL服务器,服务器端安装的是Server version: 8.0.37 MySQL Community Server - GPL版本
2. 修改MySQL配置文件允许远程访问
- 找到并编辑MySQL配置文件
my.ini
,该文件通常位于C:\ProgramData\MySQL\MySQL Server <version>\my.ini
。 - 使用文本编辑器(VsCode)以管理员身份打开
my.ini
文件。 - 找到以下部分:
[mysqld]
- 在这部分中添加或修改以下内容:
这将使MySQL监听所有网络接口,而不仅仅是本地接口。bind-address = 0.0.0.0
3. 重启MySQL服务
- 打开
命令提示符
或PowerShell
,以管理员身份运行。 - (要设定环境变量,下面命令才起作用)输入以下命令以重启MySQL服务:
或者,通过net stop mysql net start mysql
服务管理器
重启MySQL服务:- 按
Win + R
,输入services.msc
并回车。 - 找到
MySQL
服务,右键点击并选择重启
。
- 按
4. 创建允许远程访问的MySQL用户
- 打开本机,MySQL命令行客户端,连接到MySQL服务器:
输入你的MySQL root密码。mysql -u root -p
- 创建一个允许从任何主机访问的用户,并授予适当的权限:
要创建一个新用户,你可以使用以下 SQL 命令:
CREATE USER 'username'@'host' IDENTIFIED BY 'password';
username
:用户名。host
:指定用户可以从哪些主机连接。例如,localhost
仅允许本地连接,%
允许从任何主机连接,也可以输入限定的IP地址password
:用户的密码。
CREATE USER 'newuser'@'%' IDENTIFIED BY 'password'; #(创建一个newuser名的用户)
GRANT ALL PRIVILEGES ON new_schema.* TO 'newuser'@'%'; # (给new_schemar数据库所有权限分配给newuser)
FLUSH PRIVILEGES;# (授予或撤销权限后,需要刷新权限使更改生效)
- 这会创建一个名为newuser的用户,密码为
password
,并允许该用户从任何主机连接 -
要查看特定用户的权限,可以使用以下命令:
SHOW GRANTS FOR 'newuser'@'host';
-
切换到MySQL数据库,我们可以使用如下命令查看数据库各个用户的访问权限select user,host from mysql.user;
5. 配置Windows防火墙以允许MySQL访问
- 打开
Windows Defender 防火墙
。 - 点击
高级设置
。 - 创建一个新的入站规则,允许TCP协议的3306端口(MySQL默认端口)的连接:
- 选择
入站规则
,点击新建规则
。 - 选择
端口
,然后点击下一步
。 - 选择
TCP
,并指定特定的本地端口为3306
,点击下一步
。 - 选择
允许连接
,然后点击下一步
。 - 根据需要选择适用的配置文件(域、专用、公用),然后点击
下一步
。 - 为规则命名(如
MySQL Remote Access
),点击完成
。
- 选择
6. 获取本机的IP地址
7. 在局域网中的其他设备上测试连接
客户端电脑这边也配置了Windows Defender 防火墙,并添加允许3306端口的连接。没有验证用不用做。
在客户端电脑中,在命令行下,切换到mysql目录下,输入
mysql - h 192.168.31.46 -u root -p new_schema
(后面不要加;)
接下来按照提示输入密码就可以了。
这样远程访问数据库就完成了。
8. CMT X HMI访问MySQL数据库
1:选择CMTX系列HMI,只有这个系列支持MySQL服务器
2设定服务器IP地址,和用户名,数据库名称
3选择SQL查询
下面是设定控制地址命令
4选择SQL查询检视
5下图是查询成功显示
下面是从服务器端读取的数据,对比和从HMI读取的一致。