MySQL を手動で開始/停止する方法、および MySQL の起動後に最低限必要となる基本設定について解説します。MySQL のデーモン mysqld は、/etc/init.d/mysqld スクリプトに以下のオプションを指定することにより制御することができます。
表 26-1. 制御スクリプトオプション
| オプション | 操作 |
|---|---|
| start | mysqld デーモンを起動します。 |
| stop | mysqld デーモンを停止します。 |
| restart | mysqld デーモンを再起動します。 |
| status | mysqld デーモンの起動状況を確認します。 |
| condrestart | mysqld デーモンが動作しているかを確認後、再起動します。(/var/lock/subsys/mysqld が存在するとき再起動します。) |
MySQL を起動するには、以下のコマンドを実行します。
# /etc/init.d/mysqld start |
MySQL を停止するには、以下のコマンドを実行します。
# /etc/init.d/mysqld stop |
Turbolinux 11 Server 起動時に MySQL を自動的に開始するには、以下のように chkconfig コマンドを実行しておきます。
# chkconfig mysqld on |
MySQL の初回起動時には、mysql_install_db コマンドを実行しデータベースを作成し必要な初期設定を行います。Turbolinux 11 Server では、デーモンの実行に必要な mysql というユーザーが自動的に登録されています。
これにより、標準では /var/lib/mysql/ ディレクトリ以下に mysql データベースが作成され、多くのテーブルに権限が設定されます。他にもテスト用の TEST データベースなどが作成されます。また、 mysql_install_db を実行した root ユーザーのみがデータベースユーザーとして登録されており、mysql データベースに対しすべての権限を持ちます。しかし、注意しなければならないのは、初期状態で root に対しパスワードが設定されていない点です。すぐにパスワードを設定します。
![]() | 初期状態では、すべてのユーザーがパスワードの入力なしに root ユーザーとして管理権限を持つユーザーして MySQL サーバーにアクセスできてしまいます。すぐにパスワードを設定してください。 |
![]() | Linuxシステムにおけるユーザーと MySQL のデータベースユーザーは、まったく別のユーザーであり、区別されていますので注意してください。 |
MySQL 起動後、次のように実行し root ユーザーでデータベースに接続します。パスワードの設定がありませんのでそのまま接続できてしまいます。セキュリティ面を考慮しすぐにパスワードを設定しましょう。
# mysql -u root Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 17 Server version: 5.0.45 Source distribution Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> |
上記のように表示された場合は正常にデータベースに接続されています。mysql> に続けて次のように入力しパスワードを設定します。new_pass には設定するパスワードを host_name にはサーバーのホスト名を指定してください。リモートホストやローカルホストそれぞれから接続時にパスワードを使用するように次のように SET PASSWORD 文を複数実行します。
mysql> SET PASSWORD FOR 'root'@'localhost' =
PASSWORD('new_pass');
Query OK, 0 rows affected (0.00 sec)
mysql> SET PASSWORD FOR 'root'@'host_name' =
PASSWORD('new_pass');
Query OK, 0 rows affected (0.00 sec)
mysql> SET PASSWORD FOR 'root'@'127.0.0.1' =
PASSWORD('new_pass');
Query OK, 0 rows affected (0.00 sec) |
host_name は次のように実行し確認できます。
mysql> SELECT Host, User FROM mysql.user; +--------------------+------+ | Host | User | +--------------------+------+ | 127.0.0.1 | root | | localhost | root | | server.example.com | root | +--------------------+------+ 3 rows in set (0.00 sec) |
設定が完了したら次のように入力をして mysql を終了します。
mysql> \q Bye |
次回からは mysql および 他の管理コマンド実行時にも設定をしたパスワードの入力が必要になります。“-p”オプションを指定しないと接続に失敗します。
# mysql -u root -pnew_pass Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 27 Server version: 5.0.45 Source distribution Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> |
![]() | “-p”オプションのみを指定しパスワードを省略した場合はプロンプトからパスワード入力を要求されます。 |
新規データベースユーザーの登録やデータベースの作成は、root ユーザーでデータベースに接続して行います。また、管理権限を持つユーザーを新規に作成することも可能です。
これで、MySQL を使用するための準備が整いました。データベースの作成を開始することができます。