MySQL 5.0.51a のインストールログ 1. MySQL 用のグループとユーザの作成 /usr/sbin/groupadd mysql /usr/sbin/useradd -g mysql -d /usr/local/mysql mysql 2. ソースの展開 gtar zxvf mysql-5.0.51a.tar.gz cd mysql-5.0.51a 3. 作成とインストール ./configure --with-charset=eucjpms --with-extra-charsets=all --with-mysqld-user=mysql --prefix=/usr/local/mysql (mysql ユーザで実行する、インストール先は /usr/local 直下でなく /usr/local/mysql として関連ファイルをまとめる) (ある sparc マシンでの付記:何故か /usr/local 以下にインストールした libz.a を組み込もうとするとエラーになったので、一時的に /usr/local/lib/libz.a を別の名前にしておいて、組み込みの zlib を使って make) make make install 4. データベース初期化 /usr/local/mysql/bin/mysql_install_db --user=mysql chown -R mysql:mysql /usr/local/mysql (今回の設定ではデータベースは /usr/local/mysql/var 以下に作成される) 5. 起動してみて root のパスワードを設定し、動作確認 /usr/local/mysql/bin/mysqld_safe --user=mysql & /usr/local/mysql/bin/mysqladmin -u root password zzzzzzzz /usr/local/mysql/bin/mysqlshow -p (として root のパスワードを入力) または su mysql してから /usr/local/mysql/bin/mysqlshow これで、 +----------------------+ | Databases | +----------------------+ | informational_schema | | mysql | | test | +----------------------+ と出力されればOK (起動した mysql はいったん停止) 6. 自動起動の設定 /usr/local/mysql/share/mysql にサンプル設定ファイルがある。今回は 一般的なサーバ用の my-medium.cnf を使う (ソースを展開したディレクトリの support-files の下にも同ファイルがある) cp /usr/local/mysql/share/mysql/my-medium.cnf /etc/my.cnf この my.cnf ファイルを編集し、[mysqld] のところに user = mysql という行を加えておく。 同様に、起動用スクリプトのサンプルをコピーする。 cp mysql.server /etc/init.d chmod 744 /etc/init.d/mysql.server cd /etc/rc3.d ln -s ../init.d/mysql.server S99mysql /etc/rc3.d/S99mysql start でうまく起動すればOK 7. データベースユーザの登録 root で mysql -p mysql (パスワードを聞かれたら入力)として mysql のコマンドモードに。 (mysql は mysql のデフォルトのユーザ管理データベース名で最初から存在する) mysql> 次に GRANT ステートメントで新規ユーザを追加する。 ここでは全権を持つ専用ユーザを登録。 (専用ユーザ名 hogehohe, パスワード xxxxxx とする) mysql> GRANT ALL PRIVILEGES ON *.* TO hogehoge@localhost IDENTIFIED BY 'xxxxxx' WITH GRANT OPTION; mysql> GRANT ALL PRIVILEGES ON *.* TO hogehoge@'%' IDENTIFIED BY 'xxxxxx' WITH GRANT OPTION; (localhost からしか接続しないなら上のステートメントだけでいいのかもしれない。 ここでのユーザは MySQL のユーザなのでホストの Solaris にユーザ登録する必要 はない) ---------------------------------------------------------------------- * 追記(2010-Mar.4) perl から MySQL を使うため、CPAN から DBD::mysql を導入しようとしたところ、 いくつかひっかかったところを書いておく。 1) Can't exec "mysql_config" とか言われる場合は、mysql_config を見つけられ   ないので、mysql_config をぱすの通ったところにシンボリックリンクする。  (例: ln -n /usr/local/mysql/bin/mysql_config /usr/local/bin/mysql_config) 2) No library found for -lmysqlclient のようにライブラリが見つからない場合   /usr/local/mysql/bin/mysql_config --libs /usr/local/mysql/bin/mysql_config --cflags  の結果を控えておき、CPAN でインストール途中だったディレクトリに行って、   perl Makefile.PL --cflags=上記 "--libs=上記"  とかして Makefile が生成されればOK. 3) make; make test; make install するが、make test でエラーが出るのは無視  その後、cgi から呼ぶと(Movable Type の mt-db2sql.cgi の例) An error occurred while loading data: install_driver(mysql) failed: Can't load '/usr/perl5/site_perl/5.8.4/sun4-solaris-64int/auto/DBD/mysql/mysql.so' for module DBD::mysql: ld.so.1: perl: fatal: libgcc_s.so.1: open failed: No such file or directory at /usr/perl5/5.8.4/lib/sun4-solaris-64int/DynaLoader.pm line 230. at (eval 7) line 3 Compilation failed in require at (eval 7) line 3. Perhaps a required shared library or dll isn't installed where expected at /home2/staff/nibu/kanamitu/html/Blog/MT/lib/MT/ObjectDriver/DBI/mysql.pm line 96 のように言われる場合は libgcc_s.so.1 を動作している httpd の環境から見つけられ ない状態なので、httpd.conf で SetEnv LD_LIBRARY_PATH /usr/local/lib とかして httpd を再起動する。