データベースの基本設定_MySQLの設定

設定する内容

SuitePROの仮想専用サーバには初期状態で「MySQL」というデータベースプログラムがインストールされています。 「MySQL」を使用してデータベースサーバを構築する場合はMySQLの設定を行ってください。
オンラインマニュアルに記載されていない設定については弊社のサポート対象外となります。 この例と異なるご利用形態でお使いになる場合はMySQLの設定方法について解説されている書籍・Webサイトなどをご参考に お客様にて設定ファイルの内容を書き換えてご利用ください。

  • MySQLサービスを起動し、パスワードの変更を行う。
  • 下記のデータベースとユーザを作成する。

    データベース名:data1
    ユーザ名 :dbuser
    ※上記は例となりますので、任意の名前を設定下さい。

MySQLの起動と初期パスワードの変更

  1. サーバにSSHで接続し、rootアカウントを使用してログインします。
  2. mysqldを起動します。
    現在のホスト名で初期化されます。(以下example.comの場合)
    [root@example ~]# service mysqld start
    Initializing MySQL database:  Installing MySQL system tables...
    OK
    Filling help tables...
    OK
    
    To start mysqld at boot time you have to copy
    support-files/mysql.server to the right place for your system
    
    PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
    To do so, start the server, then issue the following commands:
    /usr/bin/mysqladmin -u root password 'new-password'
    /usr/bin/mysqladmin -u root -h example.com password 'new-password'
    See the manual for more instructions.
    You can start the MySQL daemon with:
    cd /usr ; /usr/bin/mysqld_safe &
    
    You can test the MySQL daemon with mysql-test-run.pl
    cd mysql-test ; perl mysql-test-run.pl
    
    Please report any problems with the /usr/bin/mysqlbug script!
    
    The latest information about MySQL is available on the web at
    http://www.mysql.com
    Support MySQL by buying support/licenses at http://shop.mysql.com
                                                               [  OK  ]
    Starting MySQL:                                            [  OK  ]
  3. root@localhostのパスワードを変更します。
    初期状態で空白となっているパスワードを変更します。
    ※'パスワード'を任意の文字列に変更してください。
    [root@example ~]# mysqladmin -u root password パスワード
  4. mysqlにログインします。
    パスワードは前の手順で設定したパスワードです。
    [root@example ~]# mysql -u root -p
    Enter password: (パスワード)
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 3
    Server version: 5.0.77 Source distribution
    
    Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
  5. root@127.0.0.1のパスワードを変更します。
    初期状態で空白となっているパスワードを変更します。
    ※'パスワード'を任意の文字列に変更してください。
    mysql> SET PASSWORD FOR root@127.0.0.1=password('パスワード');
    Query OK, 0 rows affected (0.00 sec)
  6. root@ホスト名のパスワードを変更します。
    初期状態で空白となっているパスワードを変更します。
    ※'ホスト名'パスワード'を任意の文字列に変更してください。
    mysql>SET PASSWORD FOR root@ホスト名=password('パスワード');
    Query OK, 0 rows affected (0.00 sec)
    ※ホスト名情報は以下コマンドにて確認できます。(以下example.comの場合)
    mysql> USE mysql;
    Database changed
    mysql> SELECT user,host,password FROM mysql.user;
    +------+--------------+------------------+
    | user | host         | password         |
    +------+--------------+------------------+
    | root | localhost    | 5b7c3de030159ee5 |
    | root | example.com. | 3b7c3fe040159ef1 |
    | root | 127.0.0.1    | 4dcce08d5aff563f |
    +------+--------------+------------------+
    5 rows in set (0.00 sec)

データベースとユーザの作成

続けて、データベースとユーザを作成します。

  1. データベースdata1を作成します。
    データベース名'data1'は任意の名前に変更してください。
    mysql>CREATE DATABASE data1;
    Query OK, 1 row affected (0.00 sec)
  2. データベースが作成されました。
    ※初期状態で information_schema、mysql、test という3つのデータベースが存在します。
    mysql>SHOW DATABASES;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema | 
    | data1              | 
    | mysql              | 
    | test               | 
    +--------------------+
  3. dbuserというユーザを作成し、データベース(data1)の権限をを付与します。
    ※ユーザ名'dbuser'及びデータベース名'data1'は任意の名前に変更してください。
    mysql> GRANT ALL ON data1.* TO dbuser@localhost IDENTIFIED BY 'パスワード';
    Query OK, 0 rows affected (0.00 sec)
    ※ユーザdbuserのパスワードを変更する場合は以下のように設定します。
    mysql>  SET PASSWORD FOR dbuser@localhost=password('変更後のパスワード');
    Query OK, 0 rows affected (0.00 sec)

自動起動の設定 

OSの再起動と同時にMySQLを自動起動したい場合は、chkconfig でmysqldをon に設定してください。 chkconfig の設定方法は、オンラインマニュアル内 サービスの自動起動設定 に掲載しておりますのでご参照ください。

以上で基本的なMySQLの設定は完了です。

MySQLのrootのパスワードの再設定

MySQLのrootパスワードを紛失した場合も、以下の手順で再設定が行えます。

  1. mysqld サーバを停止します。
    [root@example ~]# service mysqld stop
    Stopping MySQL:                                            [  OK  ]
  2. セーフモードでmysqlを起動し,ログインします。
    [root@example ~]# /usr/bin/mysqld_safe --user=root --skip-grant-tables & 
    [1] 5128
    [root@example ~]# Starting mysqld daemon with databases from /var/lib/mysql
    [root@example ~]# mysql mysql
  3. パスワードを初期化します。
    mysql> update user set password=null where host='localhost' and user='root';
    Query OK, 1 row affected, 1 warning (0.00 sec)
    Rows matched: 1  Changed: 1  Warnings: 1
    ※この時点でroot@localhostのパスワードは以下のように空白になっています。
    mysql>  USE mysql;
    Database changed
    mysql>  SELECT user,host,password FROM mysql.user;
    +--------+--------------+------------------+
    | user   | host         | password         |
    +--------+--------------+------------------+
    | root   | localhost    |               |
    | root   | example.com. | 5b7c3de030159ee5 |
    | root   | 127.0.0.1    | 3b7c3fe040159ef1 |
    | dbuser | localhost    | 378a243f220ca493 |
    +--------+--------------+------------------+
  4. MySQLをログアウトし、サービスの再起動を行います。
    mysql> QUIT;
    Bye
    [root@example ~]# service mysqld restart
  5. mysqlにパスワード無しでログインし、パスワードを再設定します。
    ※'新しいパスワード'を任意の文字列に変更してください。
    [root@example ~]# mysql -u root
    mysql> set password for root@localhost=password('新しいパスワード');