MySQL 5.1.43 のインストールログ 1. MySQL 用のグループとユーザの作成 /usr/sbin/groupadd mysql /usr/sbin/useradd -g mysql -d /usr/local/mysql5 mysql 2. ソースの展開 gtar zxvf mysql-5.1.43.tar.gz cd mysql-5.1.43 3. 作成とインストール ./configure --with-charset=eucjpms --with-extra-charsets=all --with-mysqld-user=mysql --prefix=/usr/local/mysql5 (mysql ユーザで実行する、インストール先は /usr/local 直下でなく /usr/local/mysql5 として関連ファイルをまとめる) (Solaris 9 の companion CD にある gcc 2.95.3 との組み合わせでは、いくつかエラーが出る。 a. 5.0.90 と同様の localtime_r のエラー(対処は 5.0.30 参照) b. 次のようなエラーが出る。 Undefined first referenced symbol in file do_postlock__Q313select_result61prepare__13select_createRt4List1Z4ItemP18st_select_lex_unit.0_8MY_HOOKSPP8st_tableUi.11405 sql_insert.o _._Q313select_result61prepare__13select_createRt4List1Z4ItemP18st_select_lex_unit.0_8MY_HOOKS.11406 sql_insert.o ld: fatal: Symbol referencing errors. No output written to mysqld collect2: ld returned 1 exit status   原因はよくわからないが、対処法として、環境変数に CFLAGS=-D_REENTRANT,   CXXFLAGS=-D_REENTRANT を設定するという方法があるようなので、それで回避。 c. mysqlmanager の build の所でも Undefined symbol エラーが出る。 Undefined first referenced symbol in file Manager::is_linux_threads(void) mysqlmanager-instance.o Manager::get_thread_registry(void) mysqlmanager-instance.o ld: fatal: Symbol referencing errors. No output written to mysqlmanager collect2: ld returned 1 exit status   mysqlmanager の build は必ずしも必要ではないようなので、./configure   のオプションに --with-mysqlmanager=no を加えて回避した。) gmake gmake install (gmake を想定しているそうなので gmake を使ったが make でも大丈夫かも。) 4. データベース初期化 /usr/local/mysql5/bin/mysql_install_db --user=mysql chown -R mysql:mysql /usr/local/mysql5 (今回の設定ではデータベースは /usr/local/mysql5/var 以下に作成される) 5. 起動してみて root のパスワードを設定し、動作確認 /usr/local/mysql5/bin/mysqld_safe --user=mysql & /usr/local/mysql5/bin/mysqladmin -u root password zzzzzzzz /usr/local/mysql5/bin/mysqlshow -p (として root のパスワードを入力) または su mysql してから /usr/local/mysql5/bin/mysqlshow これで、 +----------------------+ | Databases | +----------------------+ | informational_schema | | mysql | | test | +----------------------+ と出力されればOK (起動した mysql はいったん停止) 6. 自動起動の設定 /usr/local/mysql5/share/mysql にサンプル設定ファイルがある。今回は 一般的なサーバ用の my-medium.cnf を使う (ソースを展開したディレクトリの support-files の下にも同ファイルがある) cp /usr/local/mysql5/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 にユーザ登録する必要 はない)