スポンサードリンク

2011年9月20日火曜日

データベースサーバ(MySQL)の構築

データベースを導入する、その備忘録。

DBは、PostgreSQL と MySQLがフリーで主流のようだ。
MySQLを採用した。

<導入方法>
※MySQLデーモン(サービス)は、mysqldである。

1.スーパユーザになる
   $su -

2.MySQLインストール (と確認)
   #yum install mysql-server

   インストールされている場合は、Package mysql-.... already installed and latest...
    Nothing to doと表示される



3.MySQLバージョンを確認+最新へアップデート
   #rpm -q mysql-server
   #yum -y update mysql-server

4.MySQLを起動する
   # /etc/init.d/mysqld start

   以下画像のように初期化処理後、起動し、準備完了となる。

5.MySQLを自動起動する設定
   # chkconfig mysqld on

6.MySQLに接続する
#mysql -u root













7. MySQLのユーザリストを表示する
  mysql > select user,host,password from mysql.user;
  ※最後の";"が重要なので注意!
















8. root@localhost, root@webserver, root@'127.0.0.1'のパスワードを設定する
 mysql > set password for root@localhost=password('任意のパスワード');
  Query OK...とリプライがある

 mysql > set password for root@webserver=password('任意のパスワード');
  Query OK...とリプライがある

 mysql > set password for root@'127.0.0.1'=password('任意のパスワード');
  Query OK...とリプライがある 


9. 匿名ユーザを削除する
 mysql > delete from mysql.user where user='';
  Query OK...とリプライがある
 ※where=の後ろは、"(ダブルクォーテーション)ではなく' (シングルクォーテーション)

10.任意ユーザの追加
mysql > grant all on *.* to USERNAME identified by 'Password';
※USERNAMEに任意の名前、Passwordに任意のパスワードをセットする

11.(必要あれば)ネットワーク上のアクセスを許可する場合
mysql > grant all on *.* to USERNAME@"192.168.0.%" identified by 'Password' with grant option;

※USERNAMEに任意の名前、Passwordに任意のパスワードをセットする
  192.168.0.セグメントのPCや端末から接続できる。

12. ユーザが正しく作成されたか確認
   select user,host,password from mysql.user;

13.(ファイアウォール有効にしている場合)サーバのポート許可する
    3306 TCP/UDP オープン


14.一度データベースから出る
  mysql > exit

15.データベースに接続できるか確認する
  #mysql -u root -p
  Enter Password > (パスワードを入力)
  ※パスワード設定後は、-pを後ろにつけて接続する必要があることに注意。
     ただし、#mysql -u root -p PASSWORD とパスワードを入力しないこと
  historyに痕跡が残り他人にパスワードがばれてしまうよ。

16.接続確認できたので、データベースから出る
  mysql > exit

17.MySQLの設定ファイルを開き、書き換える
   # vi /etc/my.cnf

   以下セクション・キーを追加する
   ;サーバの文字コードをutf8にする設定
   [mysql]
   default-character-set = utf8
 
   [mysqld]
   character-set-server=utf8

   ;クライアントの文字コードをutf8にする設定
   [client]
   default-character-set = utf8

※PHPをEUC-JPで操作することにしていたため、ujis登録していたが、
   JAVAから登録するときに文字化けしてしまうので、utf8に変更した

設定ファイルを閉じる
  :wq

18.mysqlへ接続
また、データベース作成時点の文字コードにデータベースは設定されてしまうので、
あとから文字コード変更する場合は以下命令でエンコード変更できる。
   alter database データベース名 character set 文字コード; [ENTER]

19.データベースの文字コード設定を確認
show variables like 'char%';











20.character_set_databaseがutf8になっていない場合は、以下を実行
set character_set_database = 'utf8';



21.確認










22.MySQLを再起動する
#service mysqld restart


これで無事MySQL準備完了!

以上

0 件のコメント:

コメントを投稿