mysql_install_db
        スクリプトの目的は、新しい MySQL
        権限テーブルを生成することです。このスクリプトがその他のデータに影響を及ぼすことはありません。
        MySQL
        権限テーブルがすでにインストールされている場合は、何も行いません。
      
        権限テーブルを作成し直す場合は、mysqld
        サーバを停止して(サーバが稼動している場合)、以下のようなコマンドを実行します。
      
shell>mv mysql-data-directory/mysql mysql-data-directory/mysql-oldshell>mysql_install_db
        ここでは、mysql_install_db
        の実行時に発生する可能性のある問題について説明します。
      
            mysql_install_db
            が権限テーブルをインストールしない
          
            mysql_install_db
            が権限テーブルのインストールに失敗し、以下のメッセージを表示した後に終了することがある。
          
starting mysqld daemon with databases from XXXXXX mysql daemon ended
            この場合は、ログファイルを詳しく調べる必要がある。ログは、エラーメッセージに表示されている
            XXXXXX
            ディレクトリにある。ログには
            mysqld
            が起動しない原因が示される。何が起きたかわからない場合は、mysqlbug
            を使用してバグレポートを投稿するときにこのログを含める。
            See 項1.7.1.3. 「バグまたは問題を報告する方法」。
          
            mysqld
            デーモンがすでに稼動している
          
            この場合は、mysql_install_db
            を実行する必要はない。mysql_install_db
            は、MySQL を初めてインストールするときに 1
            回だけ実行する必要がある。
          
            mysqld
            デーモンが稼動しているときに、別の
            mysqld
            デーモンをインストールできない
          
            この問題は、既存の MySQL
            インストールがある場合に、テストのためや、同時に
            2
            つのインストールを稼動させるために別の場所に新しいインストールを配置するときに発生する。一般に、2
            つ目のサーバを実行するときに起きる問題は、そのサーバが既存のサーバと同じソケットやポートを使用しようとすることである。
            この場合は、次のエラーメッセージが表示される。Can't
            start server: Bind on TCP/IP port: Address already in
            use または Can't start server: Bind on
            unix socket...。 See
            項4.2. 「同じマシン上で複数の MySQL サーバを実行する」。
          
            デフォルトの場所(/tmp
            内)にあるソケットファイルを作成するための書き込みアクセス権がない場合や、/tmp,
            内にテンポラリファイルを作成するためのアクセス権がない場合に、mysql_install_db
            の実行時や、mysqld
            の起動時または使用時にエラーが表示される。
          
以下のコマンドを実行して、別のソケットとテンポラリディレクトリを指定することができる。
shell>TMPDIR=/some_tmp_dir/shell>MYSQL_UNIX_PORT=/some_tmp_dir/mysqld.sockshell>export TMPDIR MYSQL_UNIX_PORT
            項A.4.5. 「MySQL ソケットファイル /tmp/mysql.sock
        の保護または変更方法」 を参照。
          
            some_tmp_dir
            には、自分が書き込みアクセス権を持つディレクトリのパスを指定する。
            See 付録 F. 環境変数。
          
            この後、以下のコマンドを使用して、mysql_install_db
            を実行し、サーバを起動できる。
          
shell>scripts/mysql_install_dbshell>BINDIR/mysqld_safe &
            mysqld
            がすぐにクラッシュする
          
            2.0.7-5 より前のバージョンの
            glibc を備えた Red Hat
            バージョン 5.0
            を実行している場合、glibc
            のすべてのパッチがインストールされていることを確認する必要がある。
            MySQL
            メールアーカイブには、これに関する大量の情報がある。メールアーカイブへのリンクは、http://lists.mysql.com/
            からオンラインで利用できる。
            項2.6.2. 「Linux の注意事項(すべての Linux バージョン)」 も参照。
          
            また、--skip-grant-tables
            オプションを指定して mysqld
            を手動で起動し、mysql
            を使用して自分で特権情報を追加することもできる。
          
shell>BINDIR/mysqld_safe --skip-grant-tables &shell>BINDIR/mysql -u root mysql
            mysql
            から、mysql_install_db で SQL
            コマンドを手動で実行する。後で、必ず
            mysqladmin flush-privileges
            またはmysqladmin reload
            を実行してサーバに権限テーブルの再ロードを指示する。
          
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.

