MySQLサーバーと起動プログラムの種類と使い方を徹底解説
MySQLには、サーバー本体およびサーバーの起動・管理に関わるプログラムが4種類用意されています。それぞれ役割が異なるため、目的に応じて使い分けることが重要です。
- mysqld
- mysqld_safe
- mysql.server
- mysqld_multi
mysqld(MySQLサーバー本体)
mysqldは「MySQL Server」とも呼ばれる、MySQLの中核となるプログラムです。単一のマルチスレッド型プログラムとして動作し、MySQLインストール環境における処理の大部分を担います。特徴的なのは、追加のプロセスを生成しない点です。
mysqldは、データベースやテーブルが格納されたMySQLデータディレクトリへのアクセスを管理します。このデータディレクトリは、ログファイルやステータスファイルなど、その他の情報のデフォルトの保存場所にもなっています。
サーバーが起動すると、クライアントプログラムからのネットワーク接続を待ち受け、これらのクライアントに代わってデータベースへのアクセス制御を行います。
起動時に指定できるオプションを確認したい場合は、以下のコマンドを実行します。
shell> mysqld --verbose --help
mysqld_safe(安全な起動ラッパー)
mysqld_safeは、Unix環境でmysqldサーバーを起動する際に推奨される方法です。単純にmysqldを直接起動するのではなく、いくつかの安全機能を追加したラッパースクリプトとして機能します。
主な安全機能としては、エラー発生時のサーバー自動再起動や、実行時情報のエラーログへの記録などが挙げられます。本番環境での運用では、このmysqld_safe経由での起動が一般的です。
mysql.server(起動・停止スクリプト)
mysql.serverは、サーバーを手動で起動・停止するためのスクリプトです。コマンドラインからstartまたはstop引数を付けて呼び出すことで利用できます。
shell> mysql.server start shell> mysql.server stop
mysql.serverは、カレントディレクトリをMySQLインストールディレクトリに変更した上で、内部でmysqld_safeを呼び出す仕組みになっています。
また、特定のユーザー権限でサーバーを実行したい場合は、グローバルオプションファイル「/etc/my.cnf」の[mysqld]グループに適切なuserオプションを追加することで対応できます。
mysqld_multi(複数サーバーの管理)
mysqld_multiは、複数のmysqldプロセスを管理するために設計されたツールです。異なるUnixソケットファイルやTCP/IPポートで接続を待ち受ける複数のサーバーを、一元的に操作できます。
具体的には、サーバーの起動・停止だけでなく、現在のステータスレポートの取得にも対応しています。開発環境やテスト環境で複数のMySQLインスタンスを並行して運用する場合に特に便利です。
mysqld_multiは、以下の形式で呼び出します。
shell> mysqld_multi [options] {start|stop|reload|report} [GNR[,GNR] ...]GNR(グループ番号)を指定することで、特定のサーバーのみを対象に操作することも可能です。
まとめ
MySQLの起動関連プログラムは、単体サーバーの起動ならmysqld_safeまたはmysql.server、複数インスタンスの管理ならmysqld_multiというように、用途に応じて選択します。それぞれの特性を理解しておくことで、より安定したMySQL運用が実現できます。
-
macOSにMySQLをインストールする方法を徹底解説
macOSへのMySQLインストールの概要この記事では、macOS環境にMySQLをインストールする手順について詳しく解説します。macOSでは、ディスクイメージ(.dmg)ファイルとして配布されているパッケージを使用することで、簡単にMySQLを導入できます。インストール前の準備インストール作業を始める前に、まず.dmgファイルをダブルクリックしてマウントし、内容を表示しておきましょう。Finderでアイコンをダブルクリックするだけで、イメージがマウントされます。また、MySQLを新しくインストールする前に、すでに稼働中のMySQLサーバーインスタンスがすべて停止していることを必ず確認してく
-
UbuntuにMySQLをインストールして設定する方法【初心者向け完全ガイド】
MySQLは、オープンソースで強力かつ広く利用されているリレーショナルデータベース管理システム(RDBMS)です。データを1つまたは複数のテーブルに整理し、テーブル間のデータ型を相互に関連付けることができます。SQL(Structured Query Language)はRDBMSと連携して動作し、大量のデータを保存・管理したい場合には、リレーショナルデータベースとSQLの活用が標準的な選択肢となります。 本記事では、Ubuntu 18.04サーバーにMySQLをセットアップする手順を解説します。認証の有効化、サービス管理の方法に加え、最後に設定が正しく完了したことを確認するためのテスト方法ま