ポイントにまっすぐ
MySQLスタートアップ構成オプションは、プリコンパイル済みオプション、コマンドラインオプション、および構成ファイルオプションの3つの部分で構成されています。デフォルトでは、MySQLサーバーは起動パラメーターとしてプリコンパイル済みオプションを使用します。デフォルトオプションがデプロイメント要件に適していない場合は、コマンドラインオプションまたは構成ファイルオプションを構成できます。コマンド:
mysqld --verbose --help
mysqldサービスプロセスでサポートされているオプションを表示できます。
構成ファイルを使用すると、MySQLを起動するたびに構成を指定せずに、関連する構成を永続的に保存できます。これにより、多くの面倒な操作とエラーの可能性を減らすことができます。したがって、構成ファイルは、MySQL管理用のほとんどのDBAの最初の選択肢です。以下では、MySQL構成ファイルと関連する構成ツールについて詳しく説明します。
オプションファイルグループ-設定ファイルグループ
他のすべてのシステムの構成ファイルと同様に、MySQL構成ファイルは構成グループの形式で存在し、グループ名は[group_name]で区別されます。グループ名は、構成されたアプリケーション名(mysql、mysqldなど)またはアプリケーションクラス(クライアント、サーバーなど)です。概略図は次のとおりです。
クライアントグループ:すべてのクライアントプログラム(mysql、mysqldumpなど)に有効です。
サーバーグループ:すべてのサーバー側プログラム(mysqld、mysqld_safeなど)に有効です。
オプションファイルの場所-構成ファイルの場所
MySQLは、さまざまなOS(Windows、UNIXライク)の標準の場所で構成ファイルを検索します。UNIXの標準構成ファイルはmy.cnfであり、Windowsの標準構成ファイルはmy.iniです。特定の検索場所は、次のコマンドで表示できます。
mysqld --help --verbose 2> /dev/null | grep -A1 "Default options"
注: grep -A1は、文字列が一致した後、追加の文字行が出力されることを意味します。
MySQLスタートアップオプションスタートアップオプション
mysqldの起動オプションには、主に次のカテゴリが含まれます:ロギング、デフォルトのストレージエンジン、システム変数、共有メモリ(windows)、名前付きパイプ接続(windows)など。MySQL binlog、一般ログ、および低速クエリログを有効にすると、次のように構成できます。
# ----zavier 20190720 binlog
server-id = 1
log_bin = /var/lib/mysql/binlog/binlog
expire_logs_days = 1
max_binlog_size = 60M
# ----zavier 20190720 general log
general_log = 1
general_log_file = /var/lib/mysql/otherlog/general.log
# ----zavier 20190720 slow log
slow_query_log=on
slow_query_log_file = /var/lib/mysql/otherlog/slow.log
long_query_time = 2
log-queries-not-using-indexes
オプションファイルからのオプションの表示構成ファイルのオプションを表示します
MySQLには、現在の構成ファイルのオプションとその使用方法を表示するための関連コマンド(my_print_defaults)が用意されています。
my_print_defaults [options] option_group
次のように、アプリケーションの--print-defaultsオプションを使用して、この情報を表示することもできます。
jwlLinux jwllinux # mysqld --print-defaults
mysqld would have been started with the following arguments:
--federated --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/run/mysqld/mysqld.sock --port=3306 --basedir=/usr --datadir=/var/lib/mysql --tmpdir=/tmp --lc-messages-dir=/usr/share/mysql --skip-external-locking --secure_file_priv= --bind-address=0.0.0.0 --key_buffer_size=16M --max_allowed_packet=16M --thread_stack=192K --thread_cache_size=8 --myisam-recover-options=BACKUP --query_cache_limit=1M --query_cache_size=16M --log_error=/var/log/mysql/error.log --server-id=1 --log_bin=/var/lib/mysql/binlog/binlog --expire_logs_days=1 --max_binlog_size=60M --general_log=1 --general_log_file=/var/lib/mysql/otherlog/general.log --slow_query_log=on --slow_query_log_file=/var/lib/mysql/otherlog/slow.log --long_query_time=2 --log-queries-not-using-indexes
暗号化された構成ファイルを作成する
mysqlクライアントを使用する場合、mysqlサーバーにログインするためにユーザー名とパスワードを指定する必要があることがよくあります(mysql -u root -pなど)。上記の説明に従って、[mysqlでユーザーとパスワードを構成できます。 ]または[クライアント]構成グループ、偽造された「シークレットフリーログイン」を実現するために、次のようになります。
jwlLinux ~ # cat /etc/mysql/conf.d/mysql.cnf
[mysql]
# add by zavier 20190720
user=root
password=root
show-warnings
jwlLinux ~
ただし、この構成ファイルにはパスワードがクリアテキストで保存されているため、セキュリティ上のリスクがあります。したがって、MySQLは暗号化されたログインオプションを構成するmysql_config_editorコマンドを提供します。このコマンドは、現在のユーザーのHOMEディレクトリに暗号化されたログインオプション構成ファイルを作成し、関連する構成を暗号化テキストにカプセル化して保存します。次のように:
このようにして、ユーザーはmysqlにすばやくログインできます。
総括する
MySQL構成ファイルは、必要な関連サービスオプションを便利に/永続的に記録でき、構成ファイルと関連ツールを柔軟に使用することで、MySQLサービスの管理が容易になり、管理効率が向上します。