Tagged ‘MYSQL’

MovableTypeをXREAからCORE SERVERへ

仕事の仮アップ用にMovableTypeもインストールしていたが先日のXREAからCORE SERVERへ移転でMySQLのデータが上手くバックアップできなかった。
まず、PhpMyAdminでバックアップしたデータが’(シングルコーテーション)が2重になってたり、表示などの文字に¥マークが付いたりしていた。
どう書き出しても同じ結果なので仕方なくエディタで検索しながら手作業でエラーが出ない形に整形して読み込ませた。何度か挑戦するとようやく読み込みに成功した。
MovableTypeを立ち上げて、管理画面を開くと文字化けだらけ。念のためPhpMyAdminでデータを確認したが正常に表示される。
前回のCORE SERVERでMySQLの文字化けと同じ現象だ、MySQL4(XREA)からMySQL5(CORE SERVER)に移転したのが原因だと思われる。
前回はPHPだったのでセーフティな対処法があったが、MovableTypeはPERLなので同じ事は出来ない。
/mt/lib/MT/ObjectDriver/DBI/mysql.pm

$driver->{dbh}->do(“SET NAMES sjis”);
を3箇所ぐらいに記載して無理矢理文字化けしないようにしたが、後で調べてみるとXREAのサーバーでMySQL5を使っているとMovable Type4をインストールするとそれまで使っていたデータベースのデータが文字化けするようだ。という記事を発見した。
/mt/mt-config.cgi

SQLSetNames 1
とするだけで良かったみたい。
「mysql.pm」を元に戻して「mt-config.cgi」を修正したらすんなり表示できた。
ソースを見る限りやることは同じだけど、オフィシャルのやり方なのでコッチの方が安心だ。

CORE SERVERでMySQLの文字化け

作業量を計る為に日報を書くプログラム(PHP+MySQL)を作っていたが、今回のXREAからCORE SERVERの引っ越しで文字化したので調べてみた。
PhpMyAdminから入力した文章は自作PHPで文字化けし、
自作PHPから入力した文章はPhpMyAdminで文字化けしてる状態だ。
最初は明らかに古いPhpMyAdminがインストールされたので怪しいと思ってバージョンアップしてみたが何も変わらない。phpinfoとかも見てみたが大丈夫だ残るはmySQL。telnetでログインして文字コードが何なのか調べてみる事にした。

> cd /
> mysql -u ユーザー名 -p
mysql> SHOW VARIABLES LIKE 'cha%';
+--------------------------+---------------------------------------------------+
| Variable_name            | Value                                             |
+--------------------------+---------------------------------------------------+
| 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                                              |
| character_sets_dir       | /usr/local/mysql-src-5.1.22/share/mysql/charsets/ |
+--------------------------+---------------------------------------------------+

とlatin1(ラテン)が混じっていた。もちろん管理画面からmySQLを作成する時にUNICODEで作成してる。
一体何を考えてlatin1のまま放置してるのか分からないが、共用サーバーではこの設定を変える事は出来ない。
検索するとset names utf8以外の文字化け対策ってのを見つけた。
CORE SERVERはPHP5.2.5なので
mysql_set_charset(‘utf8’);
を追記した。するとバッチリ直った。
ただ、毎回CORE SERVERの為だけにコレを書く必要があるしオープンソースなソフトをインストールする時にややこしい事になりそうだ。

DNRH-001にVINEその5

宣言通り、セキュリティソフトを入れることにした。
まず、アンチウイルスのソフトだけど何がいいのかよく分からんので毎度のVine Linuxで自宅サーバーに載ってるF-Prot AntivirusてのとClam AntiVirusてのを入れる事にした。
(正直2つもいるのかも分からんが・・・)
F-Prot AntivirusはWindowsマシンで落としてからファイル共有(SAMBA)経由でVINE側に送ってインストールした。
なぜか個人情報を入れる事無くダウンロードが出来インストールをしてウイルス定義を更新したが既に最新版で何も起こらなかった。
自動起動等の処理も指示通りやったら、問題なく登録できた。

続いてClam AntiVirus。Vine Linuxで自宅サーバーでは/etc/apt/sources.listを弄る様に書いてたが既に指示通りになってたので保存せず閉じる。
それ以外はこれまた指示通りやったらすんなりインストールと自動起動等の処理も完了。

あとは、chkrootkitってのを導入してみた。正直、何をしてくれるのかよく分からんけど守ってくれそうだ。
これもすんなりインストールが終わった。

あまりに早く終わったのでphpMyAdminを入れてみた。

(さらに…)