絶対忘れるのでめもめも。
てけとうなuserで…
tarしてconfigureしてmake。
大体こんな感じかな。
rm config.cache
make clean./configure \
--prefix=/opt/db/mysql-4.0.26 \
--localstatedir=/opt/db/mysql/data \
--with-charset=ujis \
--with-extra-charsets=all
rootになって…
mysql ユーザ & グループの作成
/usr/sbin/groupadd mysql
/usr/sbin/useradd -g mysql mysql
configファイルをcopy
cp /usr/src/mysql-4.0.26/support-files/my-medium.cnf /etc/my.cnf
初期DBのインストール
mkdir /opt/db/mysql/data
chown -R mysql:mysql /opt/db/mysql/data
/opt/db/mysql-4.0.26/bin/mysql_install_db --user=mysql
ようやっと起動
/opt/db/mysql-4.0.26/bin/mysqld_safe &
念のために起動確認:psでいいじゃんって気もするが…
/opt/db/mysql-4.0.26/bin/mysqladmin ping
MySQL用のrootのパスワードの設定
/opt/db/mysql-4.0.26/bin/mysqladmin -u root password ぱすわぁど
クライアントプログラムの移動
cp /opt/db/mysql-4.0.26/bin/mysql /usr/bin/mysql
rootでアクセスじゃちょっと「如何なもの感」満載なので、別途ユーザを作成
…コマンドラインで出来るかが不明。やむを得ず、涙を呑んでGRANT文使う。
まずmysqlに入り込む。
mysql -uroot -p mysql
んで、とりあえず「全権限付与でユーザ作る」
2006/11/21 追記。ホスト名とかが厄介なときは「ユーザ名」と「ホスト名」をそれぞれエスケプ(それはFFXIの魔法)
grant all on でぇたべぇす名.* to ユーザ名@ホスト名 identified by 'ぱすわぁど';
ちなみにホスト名がlocalhostならろーかるから、になる。当たり前である。localhostと書いて自分以外のマシンをさしたらびっくりである。
grant all on でぇたべぇす名.* to 'ユーザ名'@'ホスト名' identified by 'ぱすわぁど';
つぎ。権限を適切に制限する。
パターン的には「限定された空間内で万能」な程度?
こいつをallの代わりに指定するもよし。
ALTER, CREATE, DELETE, DROP, INDEX, INSERT, LOCK TABLES, SELECT, UPDATE
ついで。いらんモン消しとく。
ただし「rootのパスワード設定してない」んなら、下の行はNGなので注意。
delete from mysql.user where user="";
delete from mysql.user where password='';
最後に、権限周りの情報を再読み込みさせる。
flush privileges ;
注意
いらんdatabaseへの権限除去とかはまた別途やってくれぃ。