Mysql-5.1.44.tar.gzをダウンロードし、次のコマンドを発行してインストールしました。
$ ./configure
$ make
$ make install
すべてがエラーなしでインストールされました。次に、次のコマンドを発行してmysqlサーバーを起動しようとしました。
$ mysqld_safe --user=mysql &
100310 13:25:56 mysqld_safe Logging to '/usr/local/var/perfportal2.err'.
100310 13:25:56 mysqld_safe Starting mysqld daemon with databases from /usr/local/var
100310 13:25:56 mysqld_safe mysqld from pid file /usr/local/var/perfportal2.pid ended
$ cat /usr/local/var/myserver.err
100310 13:25:56 mysqld_safe Starting mysqld daemon with databases from /usr/local/var
/usr/local/libexec/mysqld: Table 'mysql.plugin' doesn't exist
100310 13:25:56 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
100310 13:25:56 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.Host' doesn't exist
100310 13:25:56 mysqld_safe mysqld from pid file /usr/local/var/perfportal2.pid ended
私の推測では、インストールプロセスはデータディレクトリを作成しませんでした。
私が何をすべきかについての提案はありますか?
make install
を実行し、すでにmysql-server
パッケージがインストールされている場合は、/ var/lib/mysqlに既存のmysql
データベーススキーマがある可能性があります。 RHEL5に含まれているバージョンは5.0.77です。これは、スクリプトがMySQLバージョン間でスキーマを更新するため、mysql-upgradeエラーを説明している可能性があります。インストールの一部として初期スキーマを作成しなかった場合も、エラーは非常に似ている可能性があります。
ソースからコンパイルし、インストール場所を指定しない場合は、最初にmysqlのシステムパッケージを削除する必要があります。システムパッケージとソースインストールの両方を維持したい場合は、システムパッケージ全体を踏みつけないように注意する必要があります。これは通常、デフォルトの/usr/local/mysql
ではなく、/usr/local
などの場所にソースをインストールすることを意味します。これは./configure --prefix=/usr/local/mysql
で実現できます。ここには詳細があり、これ以上詳しく説明しないベストプラクティスがあります。
ソースからコンパイルするのには十分な理由があるかもしれませんが、それはあなたにとって必要ではないかもしれないので、あなたはあなた自身のものを再考するかもしれません。
rpm -qa | grep mysql
は、現在インストールされているすべてのパッケージを表示します。おそらくmysql-server
とmysql-client
。
それ以外の場合は、ドキュメントの手順に従わなかった。行ったとしても、MySQLパッケージを削除した後にそれを繰り返す必要があります。
Mysql-5.1.44tarballに含まれているINSTALL-SOURCE
から:
2.3.1. Source Installation Overview
The basic commands that you must execute to install a MySQL source
distribution are:
Shell> groupadd mysql
Shell> useradd -g mysql mysql
Shell> gunzip < mysql-VERSION.tar.gz | tar -xvf -
Shell> cd mysql-VERSION
Shell> ./configure --prefix=/usr/local/mysql
Shell> make
Shell> make install
Shell> cp support-files/my-medium.cnf /etc/my.cnf
Shell> cd /usr/local/mysql
Shell> chown -R mysql .
Shell> chgrp -R mysql .
Shell> bin/mysql_install_db --user=mysql
Shell> chown -R root .
Shell> chown -R mysql var
Shell> bin/mysqld_safe --user=mysql &
mysql_upgrade
を実行する必要があることを明確に示していますmysql_install_db
を実行してみることもできます。