■ FC2~FC6 / Fedora7 / Fedora8 / Fedora9
MySQL は高速性と堅牢性を追及したマルチユーザ・マルチスレッドのSQLデータベースで、 世界で最も人気のあるフリーのリレーショナルデータベースサーバーです。 Movable TypeとかNucleus等を利用する場合は各種データをMySQLデータベースに保存するようになっていますので、ここではMySQLを使ったデータベースサーバを構築します。
■MySQLインストール
mysql-serverをインストールします [root@linux ~]# yum -y install mysql-server
■MySQL起動
MySQLの起動 [root@linux ~]# /etc/init.d/mysqld start MySQL データベースを初期化中: Installing all prepared tables Fill help tables To start mysqld at boot time you have to copy support-files/mysql.server to the right place for your system PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER ! To do so, start the server, then issue the following commands: /usr/bin/mysqladmin -u root password 'new-password' /usr/bin/mysqladmin -u root -h linux.yokensaka.com password 'new-password' See the manual for more instructions. You can start the MySQL daemon with: cd /usr ; /usr/bin/mysqld_safe & You can test the MySQL daemon with the benchmarks in the 'sql-bench' directory: cd sql-bench ; perl run-all-tests Please report any problems with the /usr/bin/mysqlbug script! The latest information about MySQL is available on the web at http://www.mysql.com Support MySQL by buying support/licenses at http://shop.mysql.com [ OK ] MySQL を起動中: [ OK ]
■MySQL自動起動設定
MySQLの自動起動設定 [root@linux ~]# chkconfig mysqld on MySQLの自動起動設定確認 [root@linux ~]# chkconfig --list mysqld mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off ランレベル2~5がオンの状態であることを確認
■rootユーザへのパスワード設定
MySQLのrootユーザにはデフォルトではパスワードが設定されていないため、安全のためにパスワードを設定します。
MySQLサーバーへrootユーザでログインします [root@linux ~]# mysql -u root Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 to server version: 5.0.22 Type 'help;' or '\h' for help. Type '\c' to clear the buffer. 登録済ユーザ及びパスワードの確認をします mysql> select user,host,password from mysql.user; +------+---------------------+----------+ | user | host | password | +------+---------------------+----------+ | root | localhost | | ← パスワードが設定されていない | root | linux.yokensaka.com | | ← パスワードが設定されていない | | linux.yokensaka.com | | | | localhost | | +------+---------------------+----------+ 4 rows in set (0.00 sec) localhostのrootユーザにパスワードを設定します mysql> set password for root@localhost=password('パスワード'); Query OK, 0 rows affected (0.00 sec) linux.yokensaka.comのrootユーザにパスワードを設定します mysql> set password for root@linux.yokensaka.com=password('パスワード'); Query OK, 0 rows affected (0.00 sec) mysql> exit ← いったんログアウトします Bye rootユーザでパスワードありでMySQLサーバーへログインします [root@linux ~]# mysql -u root -pパスワード Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 3 to server version: 5.0.22 Type 'help;' or '\h' for help. Type '\c' to clear the buffer. 登録済ユーザ及びパスワードの確認をします mysql> select user,host,password from mysql.user; +------+---------------------+------------------+ | user | host | password | +------+---------------------+------------------+ | root | localhost | 1fd201a955bab306 | ← パスワードが設定された | root | linux.yokensaka.com | 1e6055bd75163e03 | ← パスワードが設定された | | linux.yokensaka.com | | | | localhost | | +------+---------------------+------------------+ 4 rows in set (0.00 sec) mysql> exit ← いったんログアウトします Bye
■匿名ユーザの削除
MySQLには匿名ユーザがデフォルトで登録されており、ユーザ名とパスワードなしでMySQLサーバーへログインできてしまうため、安全のためにこのユーザを削除します。
rootユーザでパスワードありでMySQLサーバーへログインします [root@linux ~]# mysql -u root -pパスワード Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 7 to server version: 5.0.22 Type 'help;' or '\h' for help. Type '\c' to clear the buffer. 登録ユーザの確認をします mysql> select user,host from mysql.user; +------+---------------------+ | user | host | +------+---------------------+ | | linux.yokensaka.com | | root | linux.yokensaka.com | | | localhost | | root | localhost | +------+---------------------+ 4 rows in set (0.00 sec) 匿名ユーザを削除します mysql> delete from mysql.user where user=''; Query OK, 2 rows affected (0.00 sec) 匿名ユーザが削除されてるか確認します mysql> select user,host from mysql.user; +------+---------------------+ | user | host | +------+---------------------+ | root | linux.yokensaka.com | | root | localhost | +------+---------------------+ 2 rows in set (0.00 sec) mysql> exit ← いったんログアウトします Bye 匿名ユーザでMySQLサーバーへログインできないことを確認します [root@linux ~]# mysql ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
■testデータベースの削除
MySQLにはデフォルトでtestという空のデータベースが登録されていますが、不要のため、このデータベースを削除します。
rootユーザでMySQLサーバーへログインします [root@linux ~]# mysql -u root -pパスワード Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 9 to server version: 5.0.22 Type 'help;' or '\h' for help. Type '\c' to clear the buffer. 登録データベースを確認します mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | test | +--------------------+ 3 rows in set (0.00 sec) testデータベースを削除します mysql> drop database test; Query OK, 0 rows affected (0.01 sec) testデータベースが削除されてるか確認します mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | +--------------------+ 2 rows in set (0.00 sec) mysql> exit ← ログアウト Bye
■MySQL確認
rootでMySQLサーバーへログイン [root@linux ~]# mysql -u root -pパスワード Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 10 to server version: 5.0.22 Type 'help;' or '\h' for help. Type '\c' to clear the buffer. takaデータベースへの全てのアクセス権限を持った、新規ユーザtakaを登録 mysql> grant all privileges on taka.* to taka@localhost identified by 'パスワード'; Query OK, 0 rows affected (0.00 sec) mysql> select user from mysql.user where user='taka'; ← takaユーザ登録確認 +--------+ | user | +--------+ | taka | +--------+ 1 row in set (0.00 sec) mysql> exit ← ログアウト Bye takaユーザでMySQLサーバーへログイン [root@linux ~]# mysql -u taka -pパスワード Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 11 to server version: 5.0.22 Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> create database taka; ← takaデータベース作成 Query OK, 1 row affected (0.00 sec) mysql> show databases; ← データベース作成確認 +--------------------+ | Database | +--------------------+ | information_schema | | taka | +--------------------+ 2 rows in set (0.00 sec) mysql> use taka ← takaデータベースへ接続 Database changed mysql> create table taka(num int, name varchar(50)); ← takaテーブル作成 Query OK, 0 rows affected (0.01 sec) mysql> show tables; ← テーブル作成確認 +----------------+ | Tables_in_test | +----------------+ | taka | +----------------+ 1 row in set (0.00 sec) mysql> insert into taka values(1,'データAB'); ← takaテーブルへデータ登録 Query OK, 1 row affected (0.00 sec) mysql> select * from taka; ← データ登録確認 +------+----------+ | num | name | +------+----------+ | 1 | データAB | +------+----------+ 1 row in set (0.01 sec) mysql> update taka set name='データAB'; ← takaテーブル内データ更新 Query OK, 1 row affected (0.00 sec) Rows matched: 1 Changed: 0 Warnings: 0 mysql> select * from taka; ← データ更新確認 +------+----------+ | num | name | +------+----------+ | 1 | データAB | +------+----------+ 1 row in set (0.00 sec) mysql> delete from taka where num=1; ← takaテーブル内データ削除 Query OK, 1 row affected (0.02 sec) mysql> select * from taka; ← データ削除確認 Empty set (0.00 sec) mysql> drop table taka; ← testテーブル削除 Query OK, 0 rows affected (0.00 sec) mysql> show tables; ← テーブル削除確認 Empty set (0.00 sec) mysql> drop database taka; ← データベースtaka削除 Query OK, 0 rows affected (0.00 sec) mysql> show databases; ← データベース削除確認 +--------------------+ | Database | +--------------------+ | information_schema | +--------------------+ 1 row in set (0.00 sec) mysql> exit ← ログアウト Bye rootでMySQLサーバーへログイン [root@linux ~]# mysql -u root -pパスワード Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 41 to server version: 5.0.22 Type 'help;' or '\h' for help. Type '\c' to clear the buffer. takaユーザから全てのデータベースへのアクセス権限を剥奪 mysql> revoke all privileges on *.* from taka@localhost; Query OK, 0 rows affected (0.00 sec) takaユーザ削除 mysql> delete from mysql.user where user='taka' and host='localhost'; Query OK, 1 row affected (0.03 sec) takaユーザ削除確認 mysql> select user from mysql.user where user='taka'; Empty set (0.00 sec) mysql> flush privileges; ← takaユーザの削除をMySQLサーバーへ反映 Query OK, 0 rows affected (0.02 sec) mysql> exit ← ログアウト Bye
■Movable Typeの初期設定
Movable Typeのブログデータを保存するデータベースの初期設定を行います。
rootでMySQLサーバーへログイン [root@linux ~]# mysql -u root -pパスワード Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 41 to server version: 5.0.22 Type 'help;' or '\h' for help. Type '\c' to clear the buffer. 「mt」というデータベースを作成 mysql> create database mt; Query OK, 1 row affected (0.01 sec) 管理DBをデフォルト(管理をカレント) mysql> use mysql; Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed 「mt」というデータベースにログインするユーザー名とパスワードを設定 mysql> grant usage on mt.* to admin@localhost identified by 'パスワード'; Query OK, 0 rows affected (0.00 sec) 「mt」というデータベースに対してすべての権限を「admin」に許す mysql> grant all on mt.* to admin@localhost; Query OK, 0 rows affected (0.00 sec) mysql> exit ← ログアウト Bye