[KB8595] 在 Linux 上为 ESET Inspect 服务器安装 MySQL 5

注意:

本页已由电脑翻译。点击本页面语言下的英文,显示原文。如果你发现有什么不清楚的地方,请联系你当地的支持。

问题

解决方案

安装 MySQL 5

MySQL 5支持的Linux版本

MySQL 5只能安装在默认版本库中仍提供MySQL 5.7的Linux发行版上(例如,Ubuntu 16.04 LTS或18.04 LTS)。以后的 Linux 版本默认不再包含 MySQL 5.7,需要使用官方 MySQL APT 代码库进行手动设置。

如果你使用的是较晚的 Linux 版本,install MySQL 8

  1. 在终端中运行以下命令:

    sudo apt-get update sudo apt-get upgrade sudo apt-get install mysql-server-5.7
  2. 安装 MySQL 工作台,它是数据库图形用户界面(GUI)。在终端运行

    sudo apt install mysql-workbench

设置 MySQL 数据库

  1. 在终端中运行以下命令打开 MySQL 命令行客户端:

    sudo mysql -u root -p

    如果出现提示,请键入你的 MySQL 根密码。现在,你应该在终端中看到mysql>,表明你已进入 MySQL 命令行客户端。现在输入的所有内容都是 SQL 命令,而不是普通的终端命令。

  2. 为本地主机和外部连接设置数据库用户账户。在 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

    远程访问数据库用户账户密码

    安装 ESET Inspect Server 时需要输入远程访问用户账户(root'@'%)的密码。

    您可以按以下步骤更改远程访问用户账户(root'@'%)的密码:

    • 从 MySQL 命令行客户端使用ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'new_password';
    • 从终端使用:sudo mysql -e "ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'new_password';
    • 从 MySQL 工作台:

      1. 在终端运行mysql-workbench打开 MySQL 工作台。

      2. 在 MySQL 工作台中,单击数据库连接到数据库。选择数据库连接,然后单击确定。键入用户密码并单击确定

      3. 单击服务器用户和权限。选择主机所在%用户条目,设置并确认密码,然后单击应用

  3. 确认本地和远程根用户账户都已配置。运行

    SELECT Host, User FROM mysql.user WHERE User='root';

    你应该会看到"root'@'%""root'@'localhost "条目,确认用户账户已正确配置。

    可以运行以下命令退出 MySQL 命令行客户端

    退出;

    退出后,终端中将不再显示mysql>

  4. 配置好用户账户后,设置 MySQL 数据库。在终端中运行

    mysql_secure_installation

    出现提示时,请回答以下问题:

    验证密码插件 [Y/n] n 更改 root 的密码?[删除匿名用户?[禁止 root 远程登录?[删除测试数据库及其访问权限?[现在重新加载权限表?是
  5. 复制mysql.service文件。在终端运行

    sudo cp /lib/systemd/system/mysql.service /etc/systemd/system/
  6. 用文本编辑器打开/etc/systemd/system/mysql.service,添加以下几行:

    LimitNOFILE=30000 LimitMEMLOCK=30000

    要从终端打开该文件,请运行

    sudo nano /etc/systemd/system/mysql.service
  7. 保存文件并重新加载系统配置。在终端运行

    sudo systemctl daemon-reload
  8. 用文本编辑器打开/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=2G

      innodb_buffer_pool_sizeinnodb_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
  9. 重启 MySQL 以加载新参数。在终端运行

    sudo service mysql restart

验证 MySQL 服务状态

在终端中运行

systemctl status mysql.service

当显示Active: active(运行)时,MySQL 服务正在运行。


来源