问题
- 您需要在 Linux 中为 ESET On-Prem Inspect 运行 MySQL 5
- 安装 MySQL 5
- 设置 MySQL 数据库
- 验证 MySQL 服务状态
- 资源
解决方案
安装 MySQL 5
-
在终端中运行以下命令:
sudo apt-get update sudo apt-get upgrade sudo apt-get install mysql-server-5.7 -
安装 MySQL 工作台,它是数据库图形用户界面(GUI)。在终端运行
sudo apt install mysql-workbench
设置 MySQL 数据库
-
在终端中运行以下命令打开 MySQL 命令行客户端:
sudo mysql -u root -p如果出现提示,请键入你的 MySQL 根密码。现在,你应该在终端中看到
mysql>,表明你已进入 MySQL 命令行客户端。现在输入的所有内容都是 SQL 命令,而不是普通的终端命令。 -
为本地主机和外部连接设置数据库用户账户。在 MySQL 命令行客户端运行以下 SQL 命令:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'admin'; CREATE USER 'root'@'%' IDENTIFIED BY 'admin'; GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION; FLUSH PRIVILEGES;这些命令将本地根用户账户
(root'@'localhost,MySQL 安装时默认创建)的密码更新为admin,并创建了一个远程访问的根用户账户(root'@'%),该账户具有相同的密码(admin)和全部权限。 可以用自己选择的安全密码替换命令中的占位符密码admin。 -
确认本地和远程根用户账户都已配置。运行
SELECT Host, User FROM mysql.user WHERE User='root';你应该会看到
"root'@'%"和"root'@'localhost "条目,确认用户账户已正确配置。可以运行以下命令退出 MySQL 命令行客户端
退出;退出后,终端中将不再显示
mysql>。 -
配置好用户账户后,设置 MySQL 数据库。在终端中运行
mysql_secure_installation出现提示时,请回答以下问题:
验证密码插件 [Y/n] n 更改 root 的密码?[删除匿名用户?[禁止 root 远程登录?[删除测试数据库及其访问权限?[现在重新加载权限表?是 -
复制
mysql.service文件。在终端运行sudo cp /lib/systemd/system/mysql.service /etc/systemd/system/ -
用文本编辑器打开
/etc/systemd/system/mysql.service,添加以下几行:LimitNOFILE=30000 LimitMEMLOCK=30000要从终端打开该文件,请运行
sudo nano /etc/systemd/system/mysql.service -
保存文件并重新加载系统配置。在终端运行
sudo systemctl daemon-reload -
用文本编辑器打开
/etc/mysql/mysql.conf.d/mysqld.cnf文件,并按以下说明进行更新。要从终端打开该文件,请运行
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf- 在
[mysqld]部分,更新以下参数:
bind-address = {IP_OF_THIS_MACHINE} thread_stack = 256K将
bind-address中的{IP_OF_THIS_MACHINE}替换为运行 MySQL 数据库的机器的 IP 地址。不要使用默认值127.0.0.1.(localhost),因为它只允许本地连接。如果 IP 地址不正确,ESET Inspect On-Prem 将无法连接到 MySQL 数据库。 - 在
[mysqld]部分,添加以下参数:
innodb_buffer_pool_size=4G innodb_flush_log_at_trx_commit=0 innodb_log_file_size=2Ginnodb_buffer_pool_size和innodb_log_file_size的值只是示例。将innodb_buffer_pool_size设为 MySQL 服务器可用内存的 80%。将innodb_log_file_size设为innodb_buffer_pool_size值的 40-60%。 -
在文件末尾添加以下几行:
event_scheduler = ON wait_timeout=900 max_connections=300
- 在
-
重启 MySQL 以加载新参数。在终端运行
sudo service mysql restart
验证 MySQL 服务状态
在终端中运行
systemctl status mysql.service
当显示Active: active(运行)时,MySQL 服务正在运行。