MySQL をインストールしたあとの作業
初期化
MySQL のインストールが完了したら、マニュアル通り、インストール後の作業を進めていく。
mysql_install_db
でデータ格納ディレクトリとアカウントを初期化する。
% cd /usr/local/mysql/
% sudo chown -R mysql:mysql /usr/local/mysql
% sudo bin/mysql_install_db --user=mysql
データベースを起動。
% sudo bin/mysqld_safe --user=mysql &
いくつかのコマンドを実行して、動作を確認。
% bin/mysqladmin version
% bin/mysqladmin variables
% bin/mysqlshow
停止。
% sudo bin/mysqladmin -u root shutdown
アカウントの設定
インストール直後の MySQL には 2 つのアカウントが用意されている。
root
- パスワードなし
- local host からの接続のみ許可
- 匿名アカウント
- パスワードなし
- local host からの接続のみ許可
test
またはtest_
で始まる名前のデータベースへの権限
つまり、最初から用意されているアカウントには、いずれもパスワードが設定されていない。これはセキュリティ的によろしくないので、次のふたつを実行する。
- 匿名アカウントの削除
root
にパスワードを設定
MySQL を起動し、mysql -u root
で接続。
まずは、匿名アカウントの削除を削除する。
mysql> DELETE FROM mysql.user WHERE User = '';
mysql> FLUSH PRIVILEGES;
root
にパスワードを設定する。
mysql> SET PASSWORD FOR 'root'\@'localhost' = PASSWORD('newpwd');
mysql> SET PASSWORD FOR 'root'\@'%' = PASSWORD('newpwd');
アカウントの追加
実際に、アプリケーションを開発する場合は、自分のアカウントを作っておいた方がいいだろう。
アカウントの追加は GRANT
コマンドで行う。
mysql> GRANT ALL PRIVILEGES ON *.* TO 'ishikawa'\@'localhost'
-> IDENTIFIED BY 'newpwd' WITH GRANT OPTION;
ここでは ishikawa
というアカウントを作成した。開発用のため、外部から接続する必要はないので、local host からのみのアクセスを許可した。