自宅サーバー ≫ Linux Server ≫ CentOS 6.5 ≫ SQLサーバー(mysql + phpMyAdmin)

 
MySQLサーバーのインストール
 
 
[root@centos]# yum -y install mysql-server   <--- 入力
 
MySQLサーバーの起動

 
[root@centos]# /etc/rc.d/init.d/mysqld start   <--- 入力
 
PCの再起動に mysqld を自動的に起動するように設定
 
 [root@
centos]# chkconfig mysqld on   <--- 入力
 
自動起動設定の確認
 
 [root@
centos]# chkconfig --list mysqld   <--- 入力
 mysqld       0:off   1:off   2:on   3:on   4:on   5:on   6:off
 
MySQLサーバーの設定
MySQLサーバーに root でログイン
 
 [root@
centos]# mysql -u root   <--- 入力
 Welcome to the MySQL monitor. Commands end with ; or \g.
 Your MySQL connection id is 2
 Server version: 5.1.61 Source distribution

 Copyright (c) 2000, 2011, 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>

 
root のパスワード設定
 
 mysql>
select user,host,password from mysql.user;   <--- 入力
 +------+----------------+----------+
 | user | host           | password |
 +------+----------------+----------+
 | root | localhost      |          |
   <--- パスワードが設定されていない
 | root | sentos-server  |          |

 | root | 127.0.0.1      |          |

 |      | localhost      |          |
 |      | sentos
-server  |          |
 +------+----------------+----------+
 5 rows in set (0.00 sec)

 
上記のようにパスワードが設定されていないので locaihost の root のパスワードを設定
 
 mysql>
set password for root@localhost=password('******');   <--- 入力 (****** がパスワード)
 
sentos-server の root のパスワードを設定sentos-server はサーバーのホスト名)
 
 mysql>
set password for root@'sentos-server'=password('******');   <--- 入力 (****** がパスワード)
 
127.0.0.1 の root のパスワードを設定
 
 mysql>
set password for root@'127.0.0.1'=password('******');   <--- 入力 (****** がパスワード)
 
パスワードの設定確認
 
 mysql>
select user,host,password from mysql.user;   <--- 入力
 +------+----------------+------------------+
 | user | host           | password         |
 +------+----------------+------------------+
 | root | localhost      | **************** |
   <--- パスワードが設定された
 | root | sentos-server  | **************** |
 | root | 127.0.0.1      | ****************
|
 |      | localhost      | 
                 |
 |      | sentos
-server  |                  |
 +------+----------------+------------------+
 3 rows in set (0.00 sec)

 

匿名ユーザーを削除

ユーザーの確認

 
 mysql>
select host,user from mysql.user;   <--- 入力
 +----------------+------+
 | host           | user |
 +----------------+------+
 |
127.0.0.1      | root |
 | localhost      |      |
   <--- 匿名ユーザー
 | localhost      | root
|
 | sentos
-server  |      |   <--- 匿名ユーザー
 | sentos
-server  | root |
 +----------------+------+
 5 rows in set (0.00 sec)

 
匿名ユーザーを削除
 
 mysql>
delete from mysql.user where user='';   <--- 入力
 
削除の確認
 
 mysql>
select host,user from mysql.user;   <--- 入力
 +----------------+------+
 | host           | user |
 +----------------+------+
 |
127.0.0.1      | root |   <--- 匿名ユーザーが削除された
 | localhost      | root
|
 | sentos
-server  | root |
 +----------------+------+
 
3 rows in set (0.00 sec)
 

不要なデータベースを削除

MySQLサーバーには最初から test と言うデータベースが登録されていますのでこれを削除

データベースの確認

 
 mysql>
show databases;   <--- 入力
 +--------------------+
 |
Database           |
 +--------------------+
 |
information_schema |
 |
mysql              |
 |
test               |   <--- 不要なデータベース test
 +------+-------------+
 
3 rows in set (0.00 sec)
 
データベースを削除
 
 mysql>
drop database test;   <--- 入力
 
削除の確認
 
 mysql>
show databases;   <--- 入力
 +--------------------+
 |
Database           |
 +--------------------+
 |
information_schema |
 |
mysql              |
 +------+-------------+
 2
rows in set (0.00 sec)
 

ここでいったん MySQL サーバーよりログアウト

 
 mysql>
exit   <--- 入力
 
再度 MySQL サーバーにログイン

上記で設定したパスワードでログイン

 
 [root@
centos]# mysql -u root -p   <--- 入力
 Enter password:
******   <--- 入力 ( ****** はパスワード )
 
文字化け対策

MySQL5.Xではデータベースの文字コードがlatin1になっていて、サーバーやアプリケーションの文字コードは通常 ujis(euc-jp)・utf8(utf-8) になってい るのでサーバーやアプリケーションによっては文字化けを起こすので文字コードを utf8(utf-8) に変更( ujis(euc-jp) に変更したい場合は utf8 の所を ujis に読み替える)

 
 mysql>
show variables like '%char%';   <--- 入力(文字コードの確認)
 +--------------------------+----------------------------+
 | Variable_name            | Value                      |
 +--------------------------+----------------------------+
 | character_set_client     | latin1                     |
   <--- 文字コード
 | character_set_connection | latin1                     |
 | character_set_database   | latin1                     |
 | character_set_filesystem | binary                     |
 | character_set_results    | latin1                     |
 | character_set_server     | latin1                     |
 | character_set_system     | utf8                       |
 | character_sets_dir       | /usr/share/mysql/charsets/ |
 +--------------------------+----------------------------+
 8 rows in set (0.00 sec)

 mysql>
 
データベースの文字コードが latin1 である事が確認できたので MySQL の設定ファイル/etc/my.cnf を変更
 
 
[root@centos]# vi /etc/my.cnf   <--- 入力
 
 [mysqld]
 datadir=/var/lib/mysql
 socket=/var/lib/mysql/mysql.sock
 user=mysql
 # Disabling symbolic-links is recommended to prevent assorted security risks
 symbolic-links=0
 
default-character-set=utf8   <--- 追記
 
 [mysqld_safe]
 log-error=/var/log/mysqld.log
 pid-file=/var/run/mysqld/mysqld.pid
 
 
以下追記
 
[mysqldump]
 default-character-set=utf8

 [mysql]

 default-character-set=utf8
 
MySQL を再起動
 
 
[root@centos]# /etc/rc.d/init.d/mysqld restart   <--- 入力
 
 MySQL を停止 中:                        [
OK ]
 MySQL を起動 中:                        [
OK ]
 
文字コードの確認
 
 
[root@centos]# mysql -u root -p   <--- 入力
 Enter password:
******   <--- 入力 ( ****** はパスワード )
 Welcome to the MySQL monitor. Commands end with ; or \g.
 Your MySQL connection id is 2
 Server version: 5.1.52 Source distribution

 Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
 This software comes with ABSOLUTELY NO WARRANTY. This is free software,
 and you are welcome to modify and redistribute it under the GPL v2 license

 Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

 mysql>
show variables like '%char%';   <--- 入力
 +--------------------------+----------------------------+
 | Variable_name            | Value                      |
 +--------------------------+----------------------------+
 | character_set_client     | utf8                       |
   <--- 文字コード
 | character_set_connection | utf8                       |
 | character_set_database   | utf8                       |
 | character_set_filesystem | binary                     |
 | character_set_results    | utf8                       |
 | character_set_server     | utf8                       |
 | character_set_system     | utf8                       |
 | character_sets_dir       | /usr/share/mysql/charsets/ |
 +--------------------------+----------------------------+
 8 rows in set (0.00 sec)

 mysql>
 
MySQL を Web で操作できるように phpMyAdmin 及び関連ソフトのインストール
php-mysql のインストール

 
[root@centos]# yum -y install php-mysql   <--- 入力
 
PHP のインストール

 
[root@centos]# yum -y install php   <--- 入力
 
php-mbstring のインストール

 
[root@centos]# yum -y install php-mbstring   <--- 入力
 

php-mcrypt のインストール


 
[root@centos]# yum -y install php-mcrypt   <--- 入力
 
phpmyadmin のインストール
phpmyadmin をダウンロード
 
 [root@
centos]# wget -P /usr/local http://sourceforge.jp/projects/sfnet_phpmyadmin/downloads/
                                   
phpMyAdmin/4.2.7/phpMyAdmin-4.2.7-all-languages.zip   <--- 1行で入力
 
(2014年8月現在の最新版は phpMyAdmin-4.2.7)

ダウンロードしたファイルを解凍

 
 [root@
centos]# unzip /usr/local/phpMyAdmin-4.2.7-all-languages.zip -d /home/****/   <--- 入力 
                          
/home/****/ に解凍 **** はHP公開ディレクトリ)
 
展開が完了すると /home/****/ に phpMyAdmin-4.2.7-all-languages と言う名前のフォルダが出来上がるので名前を変更
 
 [root@
centos]# mv /home/****/phpMyAdmin-4.2.7-all-languages /home/****/phpmyadmin   <--- 入力 
                          
             ( **** はHP公開ディレクトリ)
 
ダウンロードした不要なファイルを削除
 
 [root@
centos]# rm -rf /usr/local/phpMyAdmin-4.2.7-all-languages.tar.gz   <--- 入力 
 
phpMyAdmin の設定
上記で解凍したファイルの中より config.default.php を config.inc.php と言う名前にコピーして使用

 [root@centos]# cp /home/****/phpmyadmin/libraries/config.default.php /home/****/phpmyadmin/
                                 config.inc.php   <--- 1行で入力 **** はHP公開ディレクトリ)
 
config.inc.php のアクセス権の変更

 
[root@centos]# chmod 660 /home/****/phpmyadmin/config.inc.php   <--- 入力
                                        
**** はHP公開ディレクトリ)
 
phpMyAdmin の設定更

 
[root@centos]# vi /home/****/phpmyadmin/config.inc.php   <--- 入力( **** はHP公開ディレクトリ)
 
 
途中略
 
 /**
  * The 'cookie' auth_type uses blowfish algorithm to encrypt the password. If
  * at least one server configuration uses 'cookie' auth_type, enter here a
  * passphrase that will be used by blowfish. The maximum length seems to be 46
  * characters.
  *
 * @global string $cfg['blowfish_secret']
 */
 $cfg['blowfish_secret'] = '';
               

 $cfg['blowfish_secret'] = '**********';   <--- 入力 (48文字以内の適当な文字列を入力  この文字列は
            
                                          内部的に使うものなので覚えておく必要は無い)
 /*******************************************************************************
 
 
途中略
 
 /*******************************************************************************
  * Language and character set conversion settings
  */

 /**
  * Default language to use, if not browser-defined or user-defined
  *
  * @global string $cfg['DefaultLang']
  */
 $cfg['DefaultLang'] = '
en';
                
↓ 
 $cfg['DefaultLang'] =
'ja-euc';   <--- 入力(日本語に変更)
 
 /**
  * Default connection collation
  *
  * @global string $cfg['DefaultConnectionCollation']
  */
 $cfg['DefaultConnectionCollation'] = 'utf8_unicode_ci';

 /**
  * Force: always use this language
  * $cfg['Lang'] = 'en';
  *
  * Regular expression to limit listed languages, e.g. '^(cs|en)' for Czech and
  * English only
  *
  * @global string $cfg['FilterLanguages']
  */
 $cfg['FilterLanguages'] = '';

 
途中略
 
 /**
  * Default character set to use for recoding of MySQL queries, does not take
  * any effect when character sets recoding is switched off by
  * $cfg['AllowAnywhereRecoding'] or in language file
  * (see $cfg['AvailableCharsets'] to possible choices, you can add your own)
  *
  * @global string $cfg['DefaultCharset']
  */
 
$cfg['DefaultCharset'] = 'utf-8';
                
↓ 
 
$cfg['DefaultCharset'] = 'ja-euc';   <--- 入力(日本語に変更)
 
phpMyAdminの所有者(実行権限者)を apache に変更

 
[root@centos]# chown -R root.apache /home/****/phpmyadmin   <--- 入力( **** はHP公開ディレクトリ)
 
Apache の再読込
設定を反映させるように Apache を再読込
 
 [root@
centos]# /etc/rc.d/init.d/httpd reload   <--- 入力
 
phpMyAdmin の起動
インターネットブラウザを起動してアドレス欄にサーバーのアドレスの後に /phpmyadmin と追加して入力(http://192.168.1.**/phpmyadmin)

下図のような画面が表示されますので『ユーザー:』&『パスワード:』に MySQL で設定したユーザー名&パスワードを入力して『実行する』をクリック

下図のようにメイン画面が表示される事を確認

エラー対策
phpMyAdmin を  DocumentRoot にインストールした場合は上記のアドレスではアクセスできないのでサブドメインの設定を行いサブドメインでアクセス
※真っ白な画面や『エラーが出たためセッションを開始できませんでした。PHP やウェブサーバ・・・・・・・・・・・・・・・・・』のエラーメッセージが出てログイン画面が表示されない場合には /var/lib/php/session のアクセス権を 777 に変更

 
[root@centos]# chmod 777 /var/lib/php/session   <--- 入力
 
設定を反映させるように Apache を再読込
 
 [root@
centos]# /etc/rc.d/init.d/httpd reload   <--- 入力
 

戻る