gallu’s blog

エンジニアでゲーマーで講師で占い師なおいちゃんのブログです。

MySQLのインストール

絶対忘れるのでめもめも。

てけとうな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

んで、とりあえず「全権限付与でユーザ作る」


grant all on でぇたべぇす名.* to ユーザ名@ホスト名 identified by 'ぱすわぁど';
2006/11/21 追記。ホスト名とかが厄介なときは「ユーザ名」と「ホスト名」をそれぞれエスケプ(それはFFXIの魔法)

grant all on でぇたべぇす名.* to 'ユーザ名'@'ホスト名' identified by 'ぱすわぁど';
ちなみにホスト名がlocalhostならろーかるから、になる。当たり前である。localhostと書いて自分以外のマシンをさしたらびっくりである。

つぎ。権限を適切に制限する。
パターン的には「限定された空間内で万能」な程度?


ALTER, CREATE, DELETE, DROP, INDEX, INSERT, LOCK TABLES, SELECT, UPDATE
こいつをallの代わりに指定するもよし。

ついで。いらんモン消しとく。
ただし「rootのパスワード設定してない」んなら、下の行はNGなので注意。


delete from mysql.user where user="";
delete from mysql.user where password='';

最後に、権限周りの情報を再読み込みさせる。


flush privileges ;

注意
いらんdatabaseへの権限除去とかはまた別途やってくれぃ。