WordPressの動作環境としてMySQLをインストールしたので、手順をまとめておきます。
今回はCentOS 6.0の標準パッケージとして用意されているMySQL 5.1をインストールし、必要な設定を行います。
以下、プロンプトを#
で表記しているコマンド行の実行には管理者権限が必要です。スーパーユーザーで実行するかsudo
コマンド等を用いてください。
パッケージのインストール
yumを使用してパッケージをインストールします。
# yum install mysql-server
設定ファイルの編集
データベースにて特定の文字コードを扱うことが多い場合には、設定ファイル(/etc/my.cnf
)に以下の項目を追加しておきます。
[mysqld]
,[mysql]
はグループ行を表します。該当のグループ行があればその下(他のグループ行までの間)に各設定項目のみを、なければグループ行ごと追記してください。なお、設定ファイルについての詳細は公式マニュアルの3.3.2. オプションファイルの使用に記載されています。
[mysqld] character-set-server=utf8 [mysql] default-character-set=utf8
この設定により、新規データベースの作成時およびmysql
コマンドの実行時に、特にオプションを指定しなくともデフォルトで指定した文字コード(今回の場合はUTF-8
)が使用されるようになります。
グラントテーブルの初期化
以下のコマンドを実行してグラントテーブル(各ユーザーがどのようにMySQLサーバーに接続できるか等の情報が含まれたテーブル)を初期化します。
# mysql_install_db --user=mysql
ここで、MySQLが正常に動作するかどうか確認しておきたい場合は、公式マニュアルの2.10.2. Unix のインストール後のプロシージャに記載されているように、各種テストを行うこともできます。
サービスの起動と自動起動の設定
以下のコマンドでサービスを起動します。
# service mysqld start
また、OSを起動時に自動でサービスが起動されるよう、自動起動の設定を行います。
# chkconfig mysqld on
より安全に使用するために
インストール直後は、MySQLの管理者であるrootアカウントにパスワードが設定されておらず、リモートからの接続や匿名接続も許可された、セキュリティ上好ましくない状態になっています。これらをひとつひとつ手作業で修正してもよいのですが、一連の作業をまとめて行ってくれるスクリプトがあるので、それを使用するのが簡単でしょう。
以下のスクリプトを実行し、対話形式で各設定を進めていきます。
# mysql_secure_installation
設定の流れは下記の通りですが、rootパスワードの入力以外は基本的にデフォルト値(空のままEnter)でよいと思います。
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY! In order to log into MySQL to secure it, we'll need the current password for the root user. If you've just installed MySQL, and you haven't set the root password yet, the password will be blank, so you should just press enter here. Enter current password for root (enter for none): 現在設定されているrootユーザーのパスワードを入力。 初期のパスワードは空であるため、何も入力せずにEnterキーで次へ。 OK, successfully used password, moving on... Setting the root password ensures that nobody can log into the MySQL root user without the proper authorisation. Set root password? [Y/n] rootユーザーにパスワードを設定するかどうか。 (Yまたは空Enterで設定する) New password: Re-enter new password: rootユーザーに設定するパスワードを(確認のため2度)入力。 Password updated successfully! Reloading privilege tables.. ... Success! By default, a MySQL installation has an anonymous user, allowing anyone to log into MySQL without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment. Remove anonymous users? [Y/n] 匿名ユーザーを削除するかどうか。 (Yまたは空Enterで匿名ユーザーを削除する) ... Success! Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network. Disallow root login remotely? [Y/n] リモートからのrootログインを無効にするかどうか。 (Yまたは空Enterで無効にする) ... Success! By default, MySQL comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. Remove test database and access to it? [Y/n] testデータベースとtestデータベースに対する権限情報を削除するかどうか。 (Yまたは空Enterで削除する) - Dropping test database... ... Success! - Removing privileges on test database... ... Success! Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? [Y/n] 権限情報の変更を直ちに反映するかどうか。 (Yまたは空Enterで反映する) ... Success! Cleaning up... All done! If you've completed all of the above steps, your MySQL installation should now be secure. Thanks for using MySQL!
PHPからmysqlにアクセスする
PHPからmysqlのデータベースを使用する場合は、php-mysqlパッケージをインストールしておきます。
# yum install php-mysql
以上でひとまず作業終了です。