データベースに機種依存文字の入ったCSVデータをインポート

phpMyAdminにて、データベース側にインポートする際、エンコードの設定を「cp932」に設定することで、機種依存文字を文字化けせずにインポートすることが可能になります。

*今回は、機種依存文字を含むsjisのCSVをutf8のデータベースにインポートしました。

参考サイト:http://smiu2it.blog.so-net.ne.jp/2009-04-16

広告

phpmyadmin のIPによるアクセス制限

# vi /etc/httpd/conf.d/phpmyadmin.conf ← phpMyAdmin用Apache設定ファイル作成

以下にアクセスを許可するIPアドレスを指定

order deny,allow
deny from all
allow from 127.0.0.1
allow from 192.168.3.      ←ローカルIP全てを許可する
allow from 123.123.123.123  ←許可するグローバルIPアドレスを指定
allow from ::1

続きを読む »

mysqlデータの移行

こんなことが起こってはいけないのですが、、、、

昨日、サーバでsudo関連のプログラムをfedoraサーバでテストしてたのですが、その際に、誤って、想定してないような値を渡してしまい、サーバ上のディレクトリやファイルのパーミッションがおかしなことになってしまいました。

rootでもログイン出来なくなってしまい、全てがおかしくなったのか、部分的におかしくなったのかも把握できず、とりあえず、初期化するしかないかなと思いつつも、調べて、調べて、試行錯誤してました。

そんな状況で、どうにかこうにか /var/lib/mysql 内のデータをFTP経由で抜き出しました。
それだけでは、DBのバックアップは出来ないだろうなと思いつつも、違うサーバ上の同じ場所(/var/lib/mysql)に置いてみると、普通にphpmyadminでデータが読み込まれました。
ただ、この状態では、データの参照は出来るものの、phpmyadmin上からデータの編集、削除や、phpプログラムからデータを追加することも出来ない状態でした。(read onlyというエラーが出ます)

これではあまり意味がないので、また試行錯誤していました。

新しいサーバ上のphpmyadminから参照しか出来ないread onlyのDBエクスポートし、/var/lib/mysql から、さきほど置いた古いDB(old_db)のディレクトリを削除。
この時点で、新しいphpmyadmin上には、古いDB(old_db)の情報はなくなっています。
その状態で、新しいサーバに古いDBと同じ名前(old_db)のDBを作り、エクスポートしておいた、ものをインポートすると、編集や削除も出来る状態で、新しいphpmyadminに移行することが出来ました。

phpプログラムからのデータの追加や削除なども出来ました。

朝から夜までずっと調べて、試して、丸一日かけて、やっと辿り着きました・・・。

今回は、DBのバックアップなどをしてなかったので、こんな状況になりましたが、普段からDBをしっかりバックアップしておけば、良いだけ、、という普通の教訓を得ました(_ _。)・・・シュン

phpmyadmin のインポートサイズの最大値を変更する

php.iniを適当なサイズに変更します。

memory_limit 32M
post_max_size 50M
upload_max_filesize 50M

php.iniを変更したら
httpdをリスタートします。

service httpd restart

これで、大きなサイズでもインポート可能になります。