さくらのVPSを使ってみる【4】-MySQLをインストールする

7月 21st, 2011 カテゴリー さくら VPS

MySQLのインストールと設定を行ないます。


1)MySQLのインストール

まずは、MySQLがインストールされているか確認します。
# rpm -qa mysql-server
#
ないです。

今回も手軽にインストールで、yum を利用してインストールします。
# sudo yum -y install mysql-server
Complete!がでたらインストール完了です。

念のため、確認します。
# rpm -qa mysql-server
mysql-server-5.0.77-4.el5_6.6
バージョンは 5.0.77 です。次は初期設定をおこないます。




2)MySQLの初期設定

まずは MySQL の文字コードを設定します。
/etc/my.cnfに設定されているので、コピーをしてから作業をします。
# cd #HOME
# cp /etc/my.cnf .
# sudo vi /etc/my.cnf

文字コード関連の設定を UTF-8に設定します。
「追加」部分を追加します。
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1

##########追加##########
# character-set
default-character-set=utf8
skip-character-set-client-handshake
########################

# Disabling symbolic-links is recommended to prevent assorted security risks;
# to do so, uncomment this line:
# symbolic-links=0

##########追加##########
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

[client]
default-character-set=utf8

[mysql]
default-character-set=utf8

[mysqldump]
default-character-set=utf8
########################



3)MySQLの自動起動

MySQLもApachのように自動起動してほしいので、chkconfigの設定をおこないます。

毎度のごとく、まずは確認
# chkconfig --list mysqld
mysqld          0:off   1:off   2:off   3:off   4:off   5:off   6:off

自動起動に設定
# sudo chkconfig mysqld on
# chkconfig --list mysqld
mysqld          0:off   1:off   2:on    3:on    4:on    5:on    6:off
これで自動起動OK。


まだMySQLは起動させていないので起動させる。
# sudo /etc/rc.d/init.d/mysqld start
・
・
・
                                                           [  OK  ]
Starting MySQL:
OK!



4)MySQLのrootユーザーにパスワードを設定する

root にパスワードを設定します。
sudo mysqladmin -u root password 'password'

正しく設定されたことを確認するために、root でログインしてみます。
# mysql -u root -p
Enter password:
#エラーの場合
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
#okの場合
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.0.77 Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> quit
mysql> となっているときは MySQL コマンドラインの操作になり、通常のシェルコマンドは受け付けてくれません。この状態から抜ける場合は quit と打ち込んで Enter を押すか、Ctrl + D を押すとシェルに戻れます。



5)不要なデータとユーザーを削除します

初期状態の MySQL には、いくつかの既定ユーザーとデータベースが設定されていので、不要なユーザーとデータベースを消しておく。

ユーザーを削除(シェルに戻ってから)
# mysql -u root -p mysql
mysql> SELECT user, password, host FROM user;
+------+------------------+-----------------------+
| user | password         | host                  |
+------+------------------+-----------------------+
| root | **************** | localhost             |
| root |                  | localhost.localdomain |
| root |                  | 127.0.0.1             |
|      |                  | localhost             |
|      |                  | localhost.localdomain |
+------+------------------+-----------------------+
5 rows in set (0.00 sec)

さきほどパスワードを設定したユーザーは root@localhost になり、他が不要になります。
出力されたテーブルを見ると、root で localhost 以外のユーザーが 2 名、匿名のユーザーが 2 名登録されていますので、以下の SQL を発行して消します。
DELETE FROM user WHERE user = '' OR ( user = 'root' AND host != 'localhost' );

ユーザー一覧を出力してみる。
mysql> DELETE FROM user WHERE user = '' OR ( user = 'root' AND host != 'localhost' );
Query OK, 4 rows affected (0.00 sec)

mysql> SELECT user, password, host FROM user;
+------+------------------+-----------+
| user | password         | host      |
+------+------------------+-----------+
| root | **************** | localhost |
+------+------------------+-----------+
1 row in set (0.00 sec)
OK。


次は不要なデータベースを削除します。
どのようなデータベースが定義されているか確認します。
mysql> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
+--------------------+
3 rows in set (0.00 sec)

3つのデータベースがあり、これらの内の test が不要。以下のように消します。
mysql> DROP DATABASE test;
Query OK, 0 rows affected (0.00 sec)

mysql> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
+--------------------+
2 rows in set (0.00 sec)
OK。



⇒ さくらのVPSを使ってみる【5】-phpmyadminをインストールする

Sponsored Links

コメントする

Eメールアドレスは公開されません。