問題
- ESET Inspect On-Prem では、Linux で MySQL 5 を実行する必要があります。
- MySQL 5 のインストール
- MySQL データベースのセットアップ
- MySQL サービスステータスの確認
- ソース
ソリューション
MySQL 5のインストール
-
ターミナルで、以下のコマンドを実行する:
sudo apt-get update sudo apt-get upgrade sudo apt-get install mysql-server-5.7 -
データベースのGUI(グラフィカル・ユーザー・インターフェース)であるMySQL Workbenchをインストールする。ターミナルで
sudo apt install mysql-workbench
MySQLデータベースをセットアップする
-
ターミナルで以下のコマンドを実行して、MySQLコマンドラインクライアントを開く:
sudo mysql -u root -pプロンプトが表示されたら、MySQL rootのパスワードを入力する。ターミナルに
mysql>と表示され、MySQLコマンドラインクライアントにいることがわかる。今入力するものはすべてSQLコマンドであり、通常のターミナルコマンドではない。 -
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は、お好みの安全なパスワードに置き換えることができます。 -
ローカル・ルート・ユーザ・アカウントとリモート・ルート・ユーザ・アカウントの両方が構成されていることを確認します。実行します:
SELECT Host, User FROM mysql.user WHERE User='root';root'@'%'と'root'@'localhost'のエントリが表示され、ユーザ・アカウントが正しく構成されていることが確認できます。を実行して、MySQL コマンドラインクライアントを終了することができます:
を実行して終了できます;終了後、ターミナルに
mysql> が表示されなくなるはずです。 -
ユーザーアカウントの設定が完了したら、MySQLデータベースをセットアップする。ターミナルで
を実行する。プロンプトが表示されたら、以下のように質問に答える:
VALIDATE PASSWORD PLUGIN [Y/n] n rootのパスワードを変更しますか?[Y/n] n 匿名ユーザを削除しますか?[Y/n] y リモートでrootのログインを許可しないか?[Y/n] n テストデータベースとアクセスを削除しますか?[Y/n] y 特権テーブルをリロードしますか?[Y/n] y -
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 = 256Kbind-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 サーバーマシンの使用可能 RAM の 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 (running)と表示されている場合、MySQL サービスは実行されている。