对EMQX使用外部MySQL数据库作为认证数据源,严格遵循EMQX对MySQL认证表结构的要求,创建学生姓名拼音简写用户名(张三简写zs)和学号作为密码。 1、写出EMQX开启MySQL认证的配置。(5分) 在EMQX的配置文件中(emqx.conf),找到auth.mysql.enable项,将其设置为true,即开启MySQL鉴权。 2、写出创建认证表的SQL语句。(5分) 3、写出插入用户名和密码的SQL语句。(5分)
时间: 2024-03-16 11:44:06 浏览: 79
1、EMQX开启MySQL认证的配置:
在emqx.conf文件中,将auth.mysql.enable的值设置为true,开启MySQL鉴权。
```
auth.mysql.enable = true
```
同时,需要配置MySQL数据库的连接信息,如下所示:
```
auth.mysql.server = mysql_server_address:port
auth.mysql.username = mysql_username
auth.mysql.password = mysql_password
auth.mysql.database = mysql_database_name
auth.mysql.pool = 10
```
其中,auth.mysql.server为MySQL服务器地址和端口号,auth.mysql.username和auth.mysql.password为MySQL登录用户名和密码,auth.mysql.database为MySQL数据库名称,auth.mysql.pool为连接池大小。
2、创建认证表的SQL语句:
使用以下SQL语句创建认证表,表名为emqx_auth_username。
```
CREATE TABLE emqx_auth_username (
id INT UNSIGNED AUTO_INCREMENT,
username VARCHAR(100) NOT NULL,
password VARCHAR(100) NOT NULL,
is_superuser BOOLEAN DEFAULT false,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (id),
UNIQUE KEY unique_username (username)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
```
3、插入用户名和密码的SQL语句:
使用以下SQL语句插入用户名和密码,其中用户名为学生姓名拼音简写(如张三的用户名为zs),密码为学号。
```
INSERT INTO emqx_auth_username (username, password) VALUES ('zs', '123456');
```
阅读全文