mysql_install_dbとは?MySQLデータディレクトリの初期化手順をわかりやすく解説
mysql_install_dbは、MySQLサーバー(mysqld)が使用可能な状態になる前に必要となる初期化処理を行うためのツールです。具体的には、MySQLのデータディレクトリを初期化し、その中に含まれるシステムテーブルを作成します。さらに、InnoDBテーブルを管理するために必要なシステム表領域や関連するデータ構造も初期化します。
セキュア・バイ・デフォルトのデプロイメント
現在のバージョンのmysql_install_dbは、初期状態から安全な(secure-by-default)MySQL環境を構築します。主な特徴は以下のとおりです。
「root」@「localhost」という単一の管理者アカウントが作成され、ランダムに生成されたパスワードが設定され、期限切れ状態としてマークされます。
匿名ユーザーアカウントは作成されません。
すべてのユーザーがアクセスできるtestデータベースは作成されません。
「--admin-xxx」系のオプションを使用することで、管理者アカウントの特性を制御できます。
「--random-password-file」オプションにより、ランダムパスワードの出力先ファイルを指定できます。
「--insecure」オプションを使用すると、ランダムパスワードの生成を抑制できます。
mysql_install_dbがランダムな管理者パスワードを生成できた場合、そのパスワードはファイルに書き込まれ、同時にファイル名も表示されます。初回ログイン時には、このファイルに記載されたパスワードを確認して利用してください。
実行構文(Invocation Syntax)
mysql_install_dbの実行方法を見ていきましょう。まず、MySQLのインストールディレクトリに移動し、以下の構文でコマンドを実行します。
shell> bin/mysql_install_db --datadir=path/to/datadir [other_options]
--datadirオプションについて
--datadirオプションは必須です。mysql_install_dbはデータディレクトリを作成しますが、そのディレクトリは事前に存在していてはなりません。
もしデータディレクトリがすでに存在する場合、それは新規インストールではなくアップグレード操作に該当します。この場合はmysql_install_dbではなく、mysql_upgradeを実行する必要があります。
また、データディレクトリが存在しない状態でmysql_install_dbの実行に失敗した場合は、再実行する前に部分的に作成されたデータディレクトリを必ず削除しておいてください。残ったままにすると、次回の実行時に問題が発生する可能性があります。
実行ユーザーに関する注意点
MySQLサーバー(mysqld)は起動後にデータディレクトリへアクセスする必要があるため、以下のいずれかの方法でmysql_install_dbを実行することが推奨されます。
mysqldを実行する予定の同じシステムアカウントでmysql_install_dbを実行する
rootユーザーとして実行し、--userオプションでmysqldの実行ユーザー名を明示的に指定する
この点に注意することで、権限の不整合による起動エラーを防ぎ、スムーズにMySQL環境を構築できます。
-
MySQLのmy.iniが見つからない?ProgramDataの隠しフォルダから探す方法
MySQLの設定ファイル「my.ini」が見つからない理由MySQLの設定ファイル「my.ini」は、一般的なインストールフォルダではなく、ProgramDataフォルダ内の隠しディレクトリに保存されています。このフォルダは隠し属性になっているため、エクスプローラーの初期設定では表示されず、「my.iniがどこにもない」と悩む方が多いのです。以下の手順に沿って進めれば、簡単にファイルを見つけられます。my.iniへのアクセス手順1. Cドライブを開くまず、エクスプローラーでCドライブを開きます。2. ProgramDataフォルダを開くCドライブ直下にある「ProgramData」フォルダをク
-
MySQLで特定のカラムのデータをエクスポートする方法(INTO OUTFILEの使い方)
MySQLで特定のカラムのデータをエクスポートする方法 MySQLでテーブルから特定のカラム(列)のデータだけをファイルに書き出したい場合は、SELECT文とINTO OUTFILEを組み合わせるのが最もシンプルで確実な方法です。この記事では、実際にテーブルを作成し、データを投入したうえで、特定のカラムをテキストファイルへエクスポートする手順を順番に解説します。 基本構文 特定のカラムをファイルに出力する際の基本構文は次のとおりです。 select yourColumnName from yourTableName into outfile yourLocationOfFile; このように