2006.01.03
MySQLの導入(Package編)・・・(Database)
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に移行の準備完了です。