~Linux、MySQLからAJAXまでMySQLサーバーの起動スクリプト(v5.1)MySQL5.1のサーバー起動スクリプトがどのようにサーバープログラム(mysqld)を起動し、オプションの設定、システム変数を設定しているのかなどをまとめました。※CentOS6.9、mysql-server-5.1.73-8の環境で確認した内容を基にしています。※目次をクリックすると目次の下部にコンテンツが表示されます。1.CentOS6、MySQL5.1のRPMパッケージの環境でのデフォルト2.システム変数の概要と設定3.MySQLのサーバープログラム4.オプションの指定方法CentOS6、MySQL5.1のRPMパッケージの環境でのデフォルト〇起動スクリプト/etc/rc.d/init.d/mysqld→上記起動スクリプト内で”mysqld_safe”という起動スクリプトがコマンドラインオプションを指定されて実行される。→”mysqld_safe”という起動スクリプトが”mysqld”というSQLデーモンを起動。・mysqlサーバは、様々なシステム変数を保有している。・グローバル変数はサーバの全体的なオペレーションに影響する。・サーバが起動するとき、すべてのグローバル変数をデフォルト値に初期化する。ファイルなどで指定できる。・変数がグローバルであることを明示するには、GLOBALまたは@@global.で名前をプレフィックスする。・グローバル変数を設定するにはSUPER権限が必要。・それぞれのクライアント接続でのオペレーションに影響する。・変数がセッションであることを明示するには、SESSION、@@session.、@@などで名前をプレフィックスする。・セッション値の設定には特別の権限は不要だが、クライアントだけがそのセッション変数を変更できる。別のクライアントからはできない。・LOCALおよび@@local.はSESSIONと@@session.のシノニム。・それぞれのシステム変数にはデフォルト値があるが、サーバ起動時に、コマンドラインまたはオプションファイルなどを使用して変更できる。SESSION)を使用して実行中のサーバで動的に変更できる。サーバを停止または再起動などで操作を中断しなくても変更することが可能。VARIABLES実行中のサーバでカレント値を確認。MySQLのサーバープログラム●mysqld・SQLデーモン(MySQLサーバ)。・クライアントがサーバへ接続することで、データベースへアクセスするという仕組みであるため、クライアントプログラムを使用するには、mysqldが稼動していることが条件となる。・オプションファイル内の[mysqld]と[server]のグループからオプションを読み込む。Vの実行ディレクトリを使用しているシステムで使用するスクリプト。・MySQLサーバを起動するために、mysqld_safeを呼び出す。・LinuxのRPMパッケージの場合は、mysql.serverスクリプトを/etc/init.dのディレクトリにmysqldという名前でインストールする。セクションからオプションを読む。〇mysqld_safe・mysqldの起動を試行する。・エラー発生時にサーバを再起動したり、ランタイム情報をログファイルに記録するなどのセキュリティ機能が加わる。・オプションファイル内の[mysqld]、[server]、[mysqld_safe]のセクションからすべてのオプションを読み取る。・通常、mysqld_safeのスクリプトは編集してはいけない。セクションにあるコマンドラインオプションを使用する。〇mysqld_multi・複数サーバを使用している場合の起動、停止を行う。●MySQLプログラムの起動とオプション・mysql、mysqld、mysqld_safeなどのMySQLプログラムをコマンドラインから呼び出すには、プログラム名とオプションを指定する。・オプションは、コマンドラインオプション、オプションファイル、環境変数によって指定される。・MySQLはどのオプションが最初に与えられたかを環境変数内の調査、オプションファイルの読み取り、コマンドラインのチェックといった順番で判断する。特定のオプションが複数回指定されると、最後のものが最優先されるようになっているので、環境変数は優位性が最も低く、コマンドラインのオプションは優位性が最も高い、ということになる。・変数名をオプションに使用して、サーバのシステム変数の値を設定できる。〇–datadir=path・データディレクトリへのパス〇–socket=path・Unixでは、ローカル接続に使用するソケットファイルを指定する。〇–pid-file=path・プロセスID(PID)ファイルのパス。・mysqld_safeなど、別プログラムでサーバのPIDを指定するときに使用するファイルのこと。〇–basedir=path・MySQLをインストールしているディレクトリへの基準パス。〇–user={user_name|user_id}・mysqldサーバを、user_name、またはuser_idを保持するユーザで実行する。ログインアカウントのこと。・プログラム起動時にコマンドラインのオプションで指定。・プログラム起動時に読み込まれるオプションファイルの中にオプションをリストアップする。・プログラム起動の度、自動的に読み込まれるように設定する際に有効。〇雛形のオプションファイル・あらかじめ形成されたオプションファイルがいくつか提供されている。my-small.cnf、my-medium.cnf、my-huge.cnf、my-huge.cnfなど・上記ファイルをリネームして、適切なディレクトリに配置するとそのまま使用できる。・オプションを環境変数を使ってリストアップ。・プログラム起動の際、その都度設定する場合に便利。・環境変数をセットするコマンドは効果を直ちに現わすため、ユーザのコマンドプロンプトで実行することができるが、このセッティングはログアウトするまでしか続かない。コメントをキャンセルメールアドレスが公開されることはありません。コメントデータの処理方法の詳細はこちらをご覧ください。