MySQLのインストール手順

よく忘れるのでメモ。

インストール

# yum -y install mysql mysql-server mysql-devel

default-charsetの指定

  • /etc/my.cnf のmysqld, mysqld_safe, mysql セクションに、default-charset=utf8を追加
  • mysqlセクションにプロンプトの設定を追加
[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
default-character-set=utf8

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
default-character-set=utf8

[mysql]
default-character-set=utf8
prompt=mysql (\u@\h)::\d >\_

rootのパスワードを設定

# mysql -u root mysql
mysql (root@localhost)::mysql > set password=password('hoge');
mysql (root@localhost)::mysql > exit;

mysql -u root -p でちゃんとパスワードが設定されていることを確認。

mysqldを自動起動するように設定

# chkconfig mysqld on

ユーザーとパスワードのデフォルト値を設定

2009-04-21追記:
下の説明だとcronでmysqldumpを実行した際に上手くいかなかったので、マニュアル通りに修正。
mysqldump使用時にパスワードを省略する場合は、rootユーザーでオプションファイル(~/.my.cnf)を作って、clientセクションにパスワードを記述する。

[client]
password=hoge

オプションファイルはパーミッションを0400か0600に変更。

スクリプトの都合なんかでデフォルト値を設定する場合は、~/.my.cnfを作って、mysqlセクションにユーザーとパスワードを指定する。

[mysql]
user=me
password=hoge

~/.my.cnf のパーミッションを0600に変更。

後述のmysqldump使用時にパスワードを省略したい場合は、mysqldumpセクションも併記すること

参考文献

  1. MySQL5
  2. 入門Redmine Linux/Windows対応
    • 3.1.1.6.2がインストール。3.1.5.2.1がバックアップ。
  3. MySQLのコマンドライン機能を活用する - builder by ZDNet Japan
    • プロンプト設定例とパスワードの隠蔽方法
  4. MySQL :: MySQL 5.6 リファレンスマニュアル :: 6.1.2 パスワードをセキュアな状態にする
    • オプションファイルの設定方法