mysql サーバ移転 テーブルデータ書き出し

テーブル構造は取得できたので、内用をcsvファイルに書き出す。

// 定義
$dir = ‘/backup/’
$mcsv = ‘table’;
$my_table = ‘my_table’;
// $my_tableテーブルを呼び出す
$rs = mysql_query(“SELECT * FROM “.$my_table);
// $my_tableテーブルのフィールド数
$fields = mysql_num_fields($rs);
if(!$fields) return;
// ループ処理
while($row = mysql_fetch_array($rs)) {
for($j=0; $j< $fields; $j++) {
// $dataにデータを蓄積
$data .= ‘”‘.addslashes($row[$j]).'”‘;
if($j< $fields-1) $data .= ',';
}
$data .= “\n”;
}
// $dataから余計な文字列を取り除く
$a = substr($data, 0, 5);
if($a == ‘Array’) $data = strstr($data, ‘Array’);
// CSVファイルを呼び出す(※なければ新たに作成)
$fp = @fopen($dir.$mcsv.”.csv”, “a”);
// CSVファイルに$dataを追加挿入
@fputs($fp, $data);
// CSVファイルを閉じる
@fclose($fp);

うまく書き出せた。件数は多くなかった。
機種依存文字がある...。

次は新サーバでの設定。
“mysql サーバ移転 テーブルデータ書き出し” の続きを読む

mysql サーバ移転 テーブルコピー

ターミナルからdumpが使えない場合の引っ越し手順覚え書き。

今回の移転作業は、移転もとの DBが業者の専用の物であり、他のクライアントと共用であると推測されるため、このような手順をとる。

MySQLDump 2.0というクラスをダウンロードし、phpファイルから実行するとdumpファイルを出力するというもの。

でも、なぜかこれができなかったので、手動で情報を取得する。

まずテーブルのリストを取得。

$dbname = ‘mysql_dbname’;

if (!mysql_connect(‘mysql_host’, ‘mysql_user’, ‘mysql_password’)) {
echo ‘Could not connect to mysql’;
exit;
}

$sql = “SHOW TABLES FROM $dbname”;
$result = mysql_query($sql);

if (!$result) {
echo “DB Error, could not list tables\n”;
echo ‘MySQL Error: ‘ . mysql_error();
exit;
}

while ($row = mysql_fetch_row($result)) {
echo “Table: {$row[0]}\n”;
}

mysql_free_result($result);

幸いにも2個しかテーブルが無いようだ。

テーブルの構造を取得

$result = mysql_query(“SHOW COLUMNS FROM sometable”);
if (!$result) {
echo ‘Could not run query: ‘ . mysql_error();
exit;
}
if (mysql_num_rows($result) > 0) {
while ($row = mysql_fetch_assoc($result)) {
print_r($row);
}
}

後はselect分でcsvを吐き出して、それを取り込むか。続きは明日。
“mysql サーバ移転 テーブルコピー” の続きを読む

ホームページ制作の費用

詐欺まがいのホームページビジネスのニュースがありました。
総額170万円の5年リース契約で、ちょっとしたホームページを作った後、変更や修正等希望しても聞いてもらえず、リースだから途中解約できない、という事例でした。

–均等割すると1月当たり2.8万円の契約ということになる。—

その3~4日後、取引先のクライアントが同様の契約を結びかけて直前に回避できた事例も伺いました。(月額5万の5年契約)

昨日もホームページのだいたいの費用を教えてほしいと知人から聞かれたのですが、
ホームページを持つ目的によって費用は様々になり、ざっくりと出す事は難しいのです。

ホームページビルダーでちょちょっと作ったらできてしまう様な印象をもってらっしゃる方も多いかもしれません。
とりあえず、誰がみるという訳でもなく存在すればいいんだ。という様な場合はそれで十分でしょう。

でも、ホームページを維持するには最低でも年間数千円~数万円のレンタルサーバー代金などの費用が発生します。

意味なくホームページを作っても、そういったレンタルサーバ代金を捨てている様なものです。

ホームページはなんらかの目的を達成する為に作られるものであり、見てもらえないとなんの価値もありません。

しかも、ホームページは路面店の様にオープンしただけで人が来るというものではないので、なにもしなければ一人もやって来ないホームページとなります。

お金を出せば人が訪問する低価格から始められる広告も多種ありますが、人が来てもホームページの訴える力がなければ、わずか3秒で立ち去っていきます。

まず、(目的を達成する)効果のあるホームページを作る事が1番大事で、
それと同時に集客方法を確立する事。
そして、それらを維持運営する事です。

簡単に効果のあるホームページと言っても、何の為のホームページか、何を伝えたいのかによっても変わってくるので、訴える内容を深く研究する必用があります。
ホームページをきらびやかに作る技術だけあっても駄目なんです。

深く研究するには時間と努力が必用です。
(相性もあると思います。)

また、効果のあるホームページを作る為には画像加工ソフト、レイアウトソフト、フォント、カメラ、スキャナ、プリンタ、などなど、総額100万円を超えると思われる投資が必用です。

そして費用の中心となるのは、ホームページ制作に携わる人たちの人件費です。

優秀な人材の賃金、優秀とまでは行かなくても平均的な人件費として、去年ウェブ系雑誌で調査された結果によると、月収で33万円程度。

以前勤めていた会社では一人当たりの制作ノルマが最低80万円でしたから、20日勤務で1日当たりのノルマが4万円となります。

月収33万円の人材を抱える為に、80万円でやっていけるかどうかは会社にもよると思いますが、経験上このくらいで妥当だと思います。

物を仕入れて売る時、仕入れ価格がどのくらいだったらうれしいですか?
人材の場合は教育や保険、道具など付随する負担が大きくなります。

で、話があちこちになってしまいますが、
1日当たり4万円として、単純にページ作りをどのくらいこなせるかという話です。

仮に A4程度のレイアウトだとしましょう。

コーディングに長けた優秀なデザイナー(大規模な制作会社の場合、デザイナーとコーダーは分業になりますが、小さい会社では兼業です)が印刷物で使用したデータを流用してつくるとして、画像加工、チェックなども含め3~4時間。

多く見積もってもせいぜい1日当たり3ページでしょう。

もちろん、パターン化された物なら、10や20ページこなす場合もあります。

ということでだいたいのページ単価というものが見えて来ます。

この話ってと~っても長くなりそうですね。
項目別に分析していく方がいいかもしれません。

でもここで一旦結論!

だいたいホームページを作るには20万円~80万円ぐらいの初期費用がかかり、大規模な物だと1000万円というものもあると思いますが、それ以上の物はほとんど、商品撮影やシステムにかかる物であり特殊なケースだと思います。
(私の関わる規模ではございません)

保守にどれくらいかかるの?という問いに対しては、
20万円~80万円規模の場合、
ドメイン、レンタルサーバに5千円~1万円/月額
ホームページの更新内容や頻度によって月額保守費用は様々ですが、
自分で更新できる仕組みを用意し、それで補うという方も多いです。
(ブログなど利用するケースが増加中)

そして、冒頭のリース契約の料金について私の意見を述べますと、

保守として、ホームページの変更や更新内容を伺い手配するのは、ディレクターまたは営業(小規模の場合、兼業する事が多い)がするのであって、
彼らのノルマから考えると、ノルマが最低でも100万/月として(ちょっと少なすぎる?)1日当たりノルマ5万円以上となり、

1回訪問してとりまとめや連絡や手配やなんやかんやで1日かけて、それで5万円。

リース契約の2.8万円は安すぎて、とても営業活動もできないし、ページを作るにもその金額では新規追加はできない。

まして、初期にホームページを作る為の金額(最低でも20万円)はどこから捻出できるのか。

5年で総額170万円。

したがって、そんなリース契約で効果のあるホームページが作られるはずも無く、ちゃんとした会社であればあるほど、その金額設定は安すぎておかしい。

そしてもう一つ。
5年縛りは、注意!インターネットの世界は日々進歩しており、2年後にはホームページが古くなってしまいます。見れなくなるとはいいませんが、効果が薄れてくると言えます。

ホームページの賞味期限は業界にもよりますが2年と考えるのが妥当でしょう。

今までに無くだらだらと書いてしまいましたが、
後日項目別に書き直したいと思います。

皆様がどうか詐欺まがいの業者にあたりませんように。

「ホームページ リース契約」で検索してみてください。
“ホームページ制作の費用” の続きを読む

MT ログインログアウトを繰り返すエラー

MovableTypeでログインしてもすぐまたログイン画面に戻ってしまうという問題が発生した。

ぐぐると、クッキーの問題、または再インストールするなどの情報がありました。
とりあえず、クッキーを削除してみましたが、これでは解決しませんでした。
「再インストール」は現実的ではないので、他の方法を模索。

きっと、数日前にサーバのトラブルがあった事が影響してセッションのなにかがおかしくなっているんだと推測し、サーバの管理画面を確認する。とくに問題なさそう。

再インストールで解決するという事は、きっと MT関連のテーブルがおかしいのだと思って、テーブル名を眺めると、「mt_session」がある。

案の定、これが破損していました。

MySQL、修復は簡単でした。

REPAIR TABLE `table_name`;

壊れる前のデータにもどるという事でしたが、セッションの情報なので
べつにかまいません。

これで元通りになりました。

再インストールなんて10個以上のブログがあって、オリジナルテンプレートも山ほどあるし、さけられてよかった。

冷や汗でました。
“MT ログインログアウトを繰り返すエラー” の続きを読む

警告 : ページの有効期限切れ

history.back() や ブラウザの戻るボタンで前のページへ戻ろうとすると、

警告 : ページの有効期限切れ

と出ることがあります。

前に閲覧していたページがフォームデータの送信によって作られたページの場合によくおこる様です。(検索結果、お問い合わせフォームなど)

今回の場合、再読み込みを強制させることで何とかなった様です。
session_cache_limiter(‘private, must-revalidate’);
“警告 : ページの有効期限切れ” の続きを読む

年間カレンダー

営業日のお知らせのため、テーブルでカレンダーを作る事がよくありますが、毎回手打ちして作るのはナンセンスだと思い、カレンダー出力のphpを作りました。

とりあえず、表示するだけのものです。
これに独自の休日や日本の祝日等を入れられる様にしたら便利ですね。
今後の課題です。

“年間カレンダー” の続きを読む

Movable Type 文字コードをUTF-8からEUC-JPへ

今時、UTF-8が主流ですが、EUC-JPへとMovable Type運用途中で無理に変更しました。

まず、UTF-8と記述されている部分をすべてEUC-JPに置換。
(この作業をローカルでやったのは時間がかかって失敗でした。)
→FTPで上書き
その後、
ターミナルより、nkfで文字コードの変換。
$find -name ‘*.php’ | xargs nkf –overwrite -w
$find -name ‘*.pm’ | xargs nkf –overwrite -w
$find -name ‘*.cgi’ | xargs nkf –overwrite -w
ブログのテンプレードはまだデフォルト状態だったので、初期化する。
(今思えば、「.tmpl」の文字コードも変換しておけば良かったのかもしれません。)
そして記事自体の文字コードの問題があり、
保存できなくなってしまったため、
まだ記事数が少なかったので、1つずつ再投稿するローテクで復元。
文字コードは計画的に事前に決めておきたいものです。

“Movable Type 文字コードをUTF-8からEUC-JPへ” の続きを読む

pg_dump でリストア時にエラー

別サーバで動いていたデータベースをdumpし、
不要な部分を排除してリストアしようとした時、
エラーとなりました。
ユーザーが無い場合等、出る事があるというのを見たので、
オーナーの部分を修正し、やり直すも、
エラー。
いろいろ調整してみても、エラー。
落ち着いてじっくり見ると、そもそも間違っていました。
psql database < dumpfile
とするところを、
pg_dump database < dumpfile
としていたのでした。…orz
(言い訳)
データベースのリストアなんて、
する機会も少ないし、
自分では滅多にしないからです。


“pg_dump でリストア時にエラー” の続きを読む

DBヘの接続

人に頼らず、なんとか自力で開発中、
いろいろ試すも、
Ident authentication failed for user
なるエラーがでて手こずった為、ここに記録。
ユーザを新しく作ってデータベースに権限を追加。
postgresql.confに
tcpip_socket = true
を追加。
pg_ctl restart
pg_hba.confを書き換える。
local databasename username password
host databasename username 127.0.0.1 255.255.255.255 password
これで良いのかどうか...。
service postgresql restart
TCP/IP ソケット経由の場合、下記のようにして接続テストを行う。

psql -h 127.0.0.1 -d databasename -U username

うまくいった様です。
ほぼ1日はまりました…orz


“DBヘの接続” の続きを読む