[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. データベースのGUI(グラフィカル・ユーザー・インターフェース)であるMySQL Workbenchをインストールする。ターミナルで

    sudo apt install mysql-workbench

MySQLデータベースをセットアップする

  1. ターミナルで以下のコマンドを実行して、MySQLコマンドラインクライアントを開く:

    sudo mysql -u root -p

    プロンプトが表示されたら、MySQL rootのパスワードを入力する。ターミナルにmysql>と表示され、MySQLコマンドラインクライアントにいることがわかる。今入力するものはすべてSQLコマンドであり、通常のターミナルコマンドではない。

  2. localhostおよび外部接続用のデータベース・ユーザー・アカウントを設定する。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 ユーザアカウント(root'@'localhost, MySQL インストール時にデフォルトで作成される) のパスワードをadmin に更新し、同じパスワード(admin) と完全な権限を持つリモートアクセス可能な root ユーザアカウント(root'@'%) を作成します。 コマンド内のプレースホルダパスワードadminは、お好みの安全なパスワードに置き換えることができます。

    リモートアクセス可能なデータベースユーザーアカウントのパスワード

    リモートアクセス可能なユーザーアカウント(root'@'%)のパスワードは、ESET Inspect Server のインストール時に要求されます。

    リモートアクセス可能なユーザーアカウント(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 Workbenchから:

      1. ターミナルでmysql-workbench を実行して MySQL Workbench を開く。

      2. MySQL Workbench でDatabaseConnect to Database をクリックする。データベース接続を選択し、OKをクリックする。ユーザパスワードを入力し、OKをクリックします。

      3. ServerUsers and Privileges をクリックします。ホストが%であるrootユーザエントリを選択し、パスワードを設定して確認し、Apply をクリックする。

  3. ローカル・ルート・ユーザ・アカウントとリモート・ルート・ユーザ・アカウントの両方が構成されていることを確認します。実行します:

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

    root'@'%''root'@'localhost'のエントリが表示され、ユーザ・アカウントが正しく構成されていることが確認できます。

    を実行して、MySQL コマンドラインクライアントを終了することができます:

    を実行して終了できます;

    終了後、ターミナルにmysql> が表示されなくなるはずです。

  4. ユーザーアカウントの設定が完了したら、MySQLデータベースをセットアップする。ターミナルで

    を実行する。

    プロンプトが表示されたら、以下のように質問に答える:

    VALIDATE PASSWORD PLUGIN [Y/n] n rootのパスワードを変更しますか?[Y/n] n 匿名ユーザを削除しますか?[Y/n] y リモートでrootのログインを許可しないか?[Y/n] n テストデータベースとアクセスを削除しますか?[Y/n] y 特権テーブルをリロードしますか?[Y/n] y
  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 サーバーマシンの使用可能 RAM の 80% に設定します。innodb_log_file_sizeinnodb_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 (running)と表示されている場合、MySQL サービスは実行されている。


ソース