« | Home | »

2006.01.03

MySQLの導入(Package編)

MovabletypeのDBをBerkley DBからMySQLに移行するために、MySQLをportsから入れる方法を書いた。
知識不足でportsからoptionを付けて入れないとdatabaseの位置などが指定できないと思ったからです。
しかし、Packageからでも自由に構築できるこたが解ったので、以下にその方法を書く。
これは楽だ。
まず、/usr/sbin/sysinstall(FreeBSD 6.0の場合)してpackageのdatabasesを選ぶ。
そして下記をインストール。
(1) mysql-client-4.1.13
(2) mysql-server-4.1.13
(3) p5-DBD-mysql41-3.0002
(4) p5-DBI-1.48
あとは勝ってに依存性を考慮してdependencyとして入れてくれる。
次に、以下の作業をする
(1) /usr/local/share/mysql内にあるmy-medium.cnfをmy.cnfの名前で /etcにコピー。

# cp /usr/local/share/mysql/my-medium.cnf /etc/my.cnf

(2) /etc/my.cnf に datadir = /usr/db/mysql の1行を追加

[mysqld]
datadir = /usr/db/mysql ・・・この行を追加
port            = 3306
socket          = /tmp/mysql.sock
skip-locking
key_buffer = 16M

(3) /usr/local/binにあるmysql_install_dbを使ってdbを設定し、mysqlのオーナーをmysqlに変えておく。

# mysql_install_db
# chown -R mysql /usr/db/mysql

(4) /usr/local/etc/rc.d内にあるmysql-server.sh は複雑でうまく動かなかったので、/usr/local/shre/mysql内にある mysql.server を/usr/local/etc/rc.dにコピーしmysql-server.shに名前を変えます。

# cd /usr/local/etc/rc.d
# mv mysql-server.sh mysql-server.org
# cp /usr/local/share/mysql.server ./mysql-server.sh

そして起動

./mysql-server.sh start

いよいよ、管理者のパスワードを設定です。 portsインストールと少し違う。

# mysqladmin -u root password パスワード

これで、mysql -u -p で入れます。
そして、匿名ユーザの削除以降は以前書いた手順と同じですが、説明は省略しますが繰り返し書いておきます。
Berkeley DBからMySQLへ移行(アップデートしました) と合わせ見てください。

# mysql -u root -p
Enter password: 設定したパスワード
mysql> use mysql;
mysql> delete from user where password=' ';
mysql> flush privileges;
mysql> exit
Bye
# mysql -u root -p
Enter password: パスワード
mysql> create database mtdb;
Query OK, 1 row affected (0.00 sec)
mysql>
mysql> use mysql;
mysql> grant all privileges on mtdb.*
to mtuser@localhost identified by 'パスワード';
Query OK, 0 rows affected (0.13 sec)
mysql> flush privileges;
mysql> exit
Bye

これで、Berkley DBからMySQLに移行の準備完了です。

コメント

コメントはありません

コメントフィードを購読する

コメント投稿





コメント本文に次の(X)HTMLタグを使えます:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)