CentOS に MySQL をインストールする手順を紹介します。一応 RDB を2回に分けて説明する予定で一回目の今回は MySQL を、次回は MariaDB を紹介する予定です。
まずはインストール:
これだけ、簡単すぎ。 起動と起動時設定も以下の2行できてしまいます:
これだけだとあまりにも簡単すぎるので、インストール後のセットアップについても触れておきます。
まずは root ユーザーでサーバーにアクセスします。最初はパスワードなしでログインできます:
とりあえずパスワードを設定しておきましょう。以下の例では localhost の root ユーザーに 'P@ssw0rd' というパスワードを設定しています(localhost 以外からのアクセスについては後述):
ついでに UTF-8 で使えるデータベースを1つ作成しておきます:
quit コマンドいったんログアウトして、再度今度はパスワードを指定して、先ほど作成した sampledb データベースにログインします:
この sampledb データベースにアクセスする専用のユーザーを1つ作ります。ユーザー名は user_sample、パスワードを pass_sample としています。このユーザーには外部からのアクセスも許可しています:
この応用で、root ユーザーに外部アクセスを許可するのであればこのようにします(同じパスワードを指定しています):
ついでにおまけ。一度導入した MySQL の root のパスワードを忘れてしまった、など、現在の MySQL 環境を一度捨てて、新たにイチから環境を作り直したい、というケースもあると思います。 そんな時に「一度削除して、再インストールすればいいや」ということで、
で再導入できる、、、というわけにはいかないのでした。yum でインストールした MySQL を yum で remove しても、管理用のデータベースが /var/lib/mysql/ 以下に残っていて、これが残った状態で再インストールしても設定情報は変わらないのでした。
というわけで、MySQL の再導入には、上記コマンドによる再インストール後に以下の様な手順が必要になります:
注意点としては、この段階で root ユーザーのパスワードもリセットされ、パスワード無しの状態に戻ってしまいます。すぐにパスワードを設定するようにしましょう。
まずはインストール:
# yum install mysql-server
これだけ、簡単すぎ。 起動と起動時設定も以下の2行できてしまいます:
# /etc/init.d/mysqld start # chkconfig mysqld on
これだけだとあまりにも簡単すぎるので、インストール後のセットアップについても触れておきます。
まずは root ユーザーでサーバーにアクセスします。最初はパスワードなしでログインできます:
# mysql -u root Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 7975 Server version: 5.1.71 Source distribution Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
とりあえずパスワードを設定しておきましょう。以下の例では localhost の root ユーザーに 'P@ssw0rd' というパスワードを設定しています(localhost 以外からのアクセスについては後述):
mysql> set password for root@localhost=PASSWORD('P@ssw0rd');
ついでに UTF-8 で使えるデータベースを1つ作成しておきます:
mysql> create database sampledb default character set utf8;
quit コマンドいったんログアウトして、再度今度はパスワードを指定して、先ほど作成した sampledb データベースにログインします:
# mysql -u root -p sampledb Password: (パスワード入力) Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 7975 Server version: 5.1.71 Source distribution Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
この sampledb データベースにアクセスする専用のユーザーを1つ作ります。ユーザー名は user_sample、パスワードを pass_sample としています。このユーザーには外部からのアクセスも許可しています:
mysql> grant all privileges on sampledb.* to user_sample@'%' identified by 'pass_sample';
この応用で、root ユーザーに外部アクセスを許可するのであればこのようにします(同じパスワードを指定しています):
mysql> grant all on *.* to root@"%" identified by 'P@ssw0rd' with grant option;
ついでにおまけ。一度導入した MySQL の root のパスワードを忘れてしまった、など、現在の MySQL 環境を一度捨てて、新たにイチから環境を作り直したい、というケースもあると思います。 そんな時に「一度削除して、再インストールすればいいや」ということで、
# yum remove mysql-server # yum install mysql-server
で再導入できる、、、というわけにはいかないのでした。yum でインストールした MySQL を yum で remove しても、管理用のデータベースが /var/lib/mysql/ 以下に残っていて、これが残った状態で再インストールしても設定情報は変わらないのでした。
というわけで、MySQL の再導入には、上記コマンドによる再インストール後に以下の様な手順が必要になります:
# /etc/init.d/mysqld stop (MySQL サーバーを止める) # cd /var/lib/mysql (管理用データベースがあるフォルダに移動) # mv mysql mysql-old (管理用データベースをリネームして削除) # mysql_install_db (新しく管理用データベースを作成)
# /etc/init.d/mysqld start (MySQL サーバー起動)
注意点としては、この段階で root ユーザーのパスワードもリセットされ、パスワード無しの状態に戻ってしまいます。すぐにパスワードを設定するようにしましょう。