Log in

CentOS でサーバー構築 - MySQL

目次へ戻る

mysql をインストールします。

# yum -y install mysql-server

以下のように /etc/my.cnf の各セクションに default-character-set=utf8 を追加してデフォルトで utf-8 になるようにしておきます。

[mysqld]
default-character-set=utf8

[client]
default-character-set=utf8

[mysql]
default-character-set=utf8

サービスを再起動します。

service mysqld restart

OS リスタート時に自動的に起動するようにします。

chkconfig httpd on

現在の文字コードの設定は mysql ツールで show variables like 'char%'; としてやれば見れるようです。

このようにほとんど何も設定しなくても MySQL は動くようですが、/usr/share/mysql/ ディレクトリーにいくつか設定ファイルのサンプルがあります。ある程度規模が大きくなるのなら my-large.cnf を参考に

# 以下は /usr/share/mysql/my-large.cnf の内容です。規模に応じて調整することになります。
skip-locking
key_buffer_size = 256M
max_allowed_packet = 1M
table_open_cache = 256
sort_buffer_size = 1M
read_buffer_size = 1M
read_rnd_buffer_size = 4M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size= 16M
# Try number of CPU's*2 for thread_concurrency
thread_concurrency = 4

といった設定を追加した方がいいんじゃないかと思います。(上記の一番下の thread_concurrency はコメントの通り CPU 数の 2倍に設定します)
なお、この設定は [mysqld] セクションに書けばいいようです。

root のパスワードなどの設定

MySQL をインストールしただけだと root(CentOS の root では無く MySQL の root)のパスワードなどが何も設定されていません。他にも細々とセキュアになるように設定してくれる mysql_secure_installation というツールが入っているそうなのでこれを実行します。

# mysql_secure_installation

Enter current password for root (enter for none):(今の root のパスワードなので空を入力)
Set root password? [Y/n] Y
New password:(root のパスワード)
Re-enter new password:(root のパスワード)
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

目次へ戻る