2008年8月25日月曜日

DNS設定値の伝播遅延をnslookupコマンドで観察

nslookup コマンドでDNSの設定の伝播を確認する方法を紹介したサイト

http://sakaguch.com/nslookupLAG.html

2008年8月22日金曜日

MySQLの文字コードを換える(Windows、xammp)

======================================
Windows XP
Apache 2.0
PHP 5.2.5
MySQL 5.0.51a
phpMyAdmin 2.11.4
======================================

①mysqlの文字コードを確認
mysql> mysql -u root -p
Enter password:

mysql> SHOW VARIABLES LIKE 'char%';


/* プロンプト */
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

/* phpMyAdmin */
character_set_client | utf8
character_set_connection | utf8
character_set_database | latin1
character_set_filesystem |  binary
character_set_results | utf8
character_set_server | latin1
character_set_system | utf8

※プロンプト と phpMyAdminで確認すると違いがある



②C:\xampp\mysql\bin\my.cnf の [mysqld]に
default-character-set = utf8 追加

/* プロンプト */
character_set_client | latin1
character_set_connection | latin1
character_set_database | utf8
character_set_filesystem |  binary
character_set_results | latin1
character_set_server | utf8
character_set_system | utf8

/* phpMyAdmin */
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_set_database」と「character_set_server」が utf8 になるも、プロンプト と phpMyAdminではまだ違いがある



③C:\xampp\mysql\bin\my.cnf の [mysql] に
default-character-set = utf8
を追加

※プロンプト と phpMyAdminで確認するが変化なし




④C:\xampp\mysql\bin\my.cnf の [mysqld]に
skip-character-set-client-handshake 追加

/* プロンプト */
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

/* phpMyAdmin */
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_set_client」、「character_set_connection」、「character_set_results」が utf8 になり、プロンプト と phpMyAdminが同じになる

skip-charcter-set-client-handshakeは、MySQLクライアントなどの文字コードをMySQLサーバ(mysqld)で設定した文字コードに、無理やり統一するものです。私の環境では、skip-character-set-client-handshakeを記述しないと、character set client等の一部の変数がLatin1のままで、utf8になりませんでした。(何でだろう)



④"C:\xampp\mysql\bin\my.cnf "を書き換えた後にその設定を有効にするには、MySQLを再起動する必要がある。

xampp コントロールパネルでMySQLを restart

2008年8月21日木曜日

DNSの転送設定

www2.hogehoge.com へのアクセスを任意のIP(111.222.333.44)へ転送する設定

①マスターファイルの場所を確認
./etc/named.conf を # vi -R named.conf 

zone "hogehoge.com" {
type master;
file "/var/named/hogehoge.com.db";
}


②マスターファイルの編集
# vi /var/named/hogehoge.com.db で表示

下記を追加、保存
www2.hogehoge.com.  14400  IN  A  111.222.333.44
www2  14400  IN  A  111.222.333.44

※注意
マスターファイルを更新した時は、SOAリソースレコードのSERIALを増加させる必要がある。
一般的な設定例:2008082101 (年月日+その日のシリアル番号)
SERIALの番号は、32ビットの数値で4294967295(4,294,967,295)以下である必要がある。


③namedをリロード
#service named reload

下記が表示されれば完了
Reloading named:      [ OK ]

2008年8月8日金曜日

MySQLの文字コードを換える(SentOS)

======================================
Sent
Apache 2.0.63
PHP 5.2.5
MySQL 5.0.51a-community
phpMyAdmin
======================================

①mysqlの文字コードを確認
# mysql -u root -p
Enter password:


#SHOW VARIABLES LIKE 'char%';


/* プロンプト */
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

/* phpMyAdmin */
character_set_client | utf8
character_set_connection | utf8
character_set_database | latin1
character_set_filesystem |  binary
character_set_results | utf8
character_set_server | latin1
character_set_system | utf8

プロンプト と phpMyAdminで確認すると違いがある



②/etc/my.cnf の [mysqld]に
default-character-set = utf8 追加

/* プロンプト */
character_set_client | latin1
character_set_connection | latin1
character_set_database | utf8
character_set_filesystem |  binary
character_set_results | latin1
character_set_server | utf8
character_set_system | utf8

/* phpMyAdmin */
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_set_database」と「character_set_server」が utf8 になるも、プロンプト と phpMyAdminではまだ違いがある



③/etc/my.cnf に
[mysql]
default-character-set = utf8
を追加

/* プロンプト */
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

/* phpMyAdmin */
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_set_client」、「character_set_connection」、「character_set_results」が utf8 になり、プロンプト と phpMyAdminが同じになる




④データを登録してみる。
1、まず、phpMyAdminからデータを登録。
phpMyAdmin上では正常に表示されるがサイト上では文字化け。

2、サイトからデータを登録。
サイト上では正常に表示されるがphpMyAdmin上では文字化け。


※サイトの文字コードもutf8にしているがなぜだろう。。。





⑤/etc/my.cnf の [mysqld]に
init-connect=SET NAMES utf8 追加


※問題解決。
phpMyAdmin、サイトでデータを登録して文字化けが解消された。




⑥"/etc/my.cnf"を書き換えた後にその設定を有効にするには、MySQLを再起動する必要がある。
# /etc/rc.d/init.d/mysql restart

Shutting down MySQL..    [ OK ]
Starting MySQL..        [ OK ]

一般的な方法
/etc/init.d/mysqld restart...MySQLデーモンの再起動
/etc/init.d/mysqld start...MySQLデーモンの起動
/etc/init.d/mysqld stop...MySQLデーモンの停止

2008年8月6日水曜日

LinuxOSのディストリビューションのバージョンを調べる方法

たいていのディストリビューションは、/etc 配下に、それらしいファイルがあります。

(1) Debian系 Debian/GNU Linux

# /etc/debian_version 3.1

(2) RedHat系

CentOS

# /etc/redhat-release
CentOS release 4.3 (Final)

Fedora Core

# /etc/redhat-release
Fedora Core release 5 (Bordeaux)

Vine Linux

# /etc/vine-release
Vine Linux 3.2 (Ducru Beaucaillou)

Turbo Linux

# /etc/turbolinux-release
Turbolinux Server 8.0 (Viper)