Ver.7.02:MySQL関数をmysqliに変更

MyHome Portal Ver.7.02をリリースしました。
http://ok2nd.web.fc2.com/download.html

MySQL関数をmysqliに変更。(mysql拡張モジュールが、PHP5.5から非推奨になっているため。)
$link = mysql_connect('localhost', 'my_user', 'my_password');
$db_selected = mysql_select_db('database_name', $link);
 ↓↓↓
$link = mysqli_connect('localhost', 'my_user', 'my_password', 'database_name');

ただし、モバイル用モジュール「_mobile/以下」は、mysqli非対応のままです。

ツール「Google Maps API V3版」で、ストリートビューをオフにした時に、人形マークを元に戻すようにしました。

ツール「Google Maps API V3版」で、ストリートビュー状態では、現在地情報ウインドウを表示しないようにしました。
スポンサーサイト

はてなブックマークに追加 はてなブックマーク - Ver.7.02:MySQL関数をmysqliに変更

Ver.6.02:MySQL:CSVダウンロード機能追加

MyHome Portal Ver.6.02をリリースしました。
http://ok2nd.web.fc2.com/download.html

リリース情報:1/2

ツール「MySQL管理ツール」に、「CSVダウンロード」機能を追加。CSVファイルの文字コードはShift-JISにします。

「CSVダウンロード」では、auto_incrementの列を除いたダウンロードもできます。

ツール「MySQL管理ツール」に、「c_delete=999 完全削除」機能を追加。テーブル単位に削除フラグ付きデータを完全削除します。

ツール「MySQL管理ツール」のデータベース一覧、テーブル一覧で、プルダウンでデータベースやテーブルを切り替えられるようにしました。

sql2.jpg

はてなブックマークに追加 はてなブックマーク - Ver.6.02:MySQL:CSVダウンロード機能追加

theme : PHP
genre : コンピュータ

MySQL5.5でリストア・エラー

XAMPPの最近のバージョン(Version 1.8.0)のMySQL 5.5.25aで、MyHome Portalデータベースセットアップの「_db_guide」リストアのところでエラーが出るようです。

原因を調べてみたら、「_db_guide」のバックアップデータの中に'(シングルクォート)が含まれているのが原因ぽい。XAMPP version 1.7.1(MySQL 5.1.33)では問題無くリストアできます。

'(シングルクォート)は、\できちんとエスケープされているのに、エラーになるなんて明らかなバグじゃないのかな?

(8/23追記:Ver.5.00でバックアップデータの中のシングルクォートを除きました。)

はてなブックマークに追加 はてなブックマーク - MySQL5.5でリストア・エラー

theme : PHP
genre : コンピュータ

Ver.3.27:バックアップ・リストア修正

MyHome Portal Ver.3.27をリリースしました。
http://ok2nd.web.fc2.com/download.html

サンプルDBセットアップ処理「setup-sample.php」でエラーを拾えていなかったのを修正。
実運用環境バックアップ処理「db_tool/backup-mydb.php」でエラーを拾うように修正。また、実行中のバックアップコマンドmysqldumpを表示するようにしました。
実運用環境バックアップ処理「db_tool/backup-mydb.php」でmysqldumpを連続処理するとエラーになる場合があるようなので、データベース単位に時間間隔を空けてバックアップ処理できるようにしました。
実運用データベース・リストア用サンプル・スクリプトmydb_restore.txt.php追加。

MySQLのバージョンにより、mysqldumpで作成されるバックアップファイルのCREATE TABLEのUSING BTREEの書式が違っているようで、新しいバージョンでバックアップしたデータを古いバージョンでリストアするとエラーが発生するようです。
例えば、MySQL 5.1.33でバックアップされたデータは、MySQL 5.0.51aではエラーになってリストアできません。USING BTREEの書式を修正すれば、リストア可能なようですが。 MyHome PortalのVer.3.27では、サンプルDBのファイルがMySQL 5.1.33でバックアップされたものが混在しますので、MySQLのバージョンによっては、リストアできない可能性があります。
-- (MySQL 5.0.51a) MySQL dump 10.11
PRIMARY KEY USING BTREE (`id_category`)
-- (MySQL 5.1.33) MySQL dump 10.13 Distrib 5.5.8, for Win32 (x86)
PRIMARY KEY (`id_category`) USING BTREE

「__define_common_my_sample.php」の「FILE_MANAGER_CIPHER_SEED」設定箇所に注意事項追加。ファイル暗号化では、PHPのCrypt_Blowfishを使っていますが、XAMPPのバージョンによっては、Crypt_Blowfishがインストールされないようです。「/xampp/php/PEAR/Crypt/Blowfish.phpがインストールされている事を確認の上、設定してください。

スタイルシートの一部変更をしました。font-sizeを基本的に%指定からpx指定に変更。
IEではボタンの左右に余分な余白が付いてしまう問題を、INDEXトップページでは、width指定することで回避していましたが、cssで"overflow: visible;"を指定することで回避するようにしました。ただし、IE6はinput[type="button"]が使えないため、対象外です。inputで指定すると弊害が出るため。
その他、common.css, tools_common.cssの基本部分を見直して以前より少しシンプルにしました。

アルバムのギャラリ3,5を、それぞれ「3D Wall Gallery」「Supersized - Fullscreen Slideshow jQuery Plugin」を使ったものに変更。旧ギャラリ3,5は、それぞれgallery88.php, gallery99.phpとして残してあります。
≪3D Wall Gallery≫
http://tympanus.net/codrops/2011/02/02/3d-wall-gallery/
≪Supersized - Fullscreen Slideshow jQuery Plugin≫
http://www.buildinternet.com/project/supersized/

はてなブックマークに追加 はてなブックマーク - Ver.3.27:バックアップ・リストア修正

theme : PHP
genre : コンピュータ

MySQLのストレージエンジンをInnoDBにする方法

MyHome Portalでは、MySQLのストレージエンジンはMyISAMを使っています。
MySQLの代表的なストレージエンジンには、MyISAMとInnoDBがありますが、
【漢(オトコ)のコンピュータ道:MyISAMからInnoDBへ切り替えるときの注意点】
http://nippondanji.blogspot.com/2009/02/myisaminnodb.html
によれば、MyISAMの欠点として以下のものが上げられています。
・トランザクション対応ではない。
・クラッシュセーフではない。
・更新と参照が入り乱れた場合の同時実行性能がよくない。
・テーブルが大きく(数億行とか)なるとINSERTの性能が劣化する。
2番目の「クラッシュセーフではない」というのが一番気になるとところです。

ということで、MyHome PortalのストレージエンジンをInnoDBにしたい方のための簡単な手順を以下に書きます。
なお、トラブルが発生してもサポートできませんので、あくまでも自己責任でお願いいたします。事前にMyISAMの状態でバックアップをとっておいてください。
以下、MySQL管理者ユーザーrootのパスワードを「kanri789」、インストールドライブを「D:」として説明します。
●1.XAMPPは初期状態では、InnoDBが使えませんので、InnoDBを有効にする必要があります。
【参考:XAMPP環境でMySQLのInnoDBを有効にする】
http://code.xenophy.com/?p=127
[xamppインストールディレクトリ]/mysql/bin/my.cnf
(例:D:\xampp\mysql\bin\my.cnf)
を以下のように編集して、MySQLを再起動します。
skip-innodbの先頭に#を頭につけてコメントアウトします。
skip-innodbの下4行のinnodb_...の頭の#を外します。
その他innodb_...は任意で設定してください。
------------------------------------------------------
#skip-innodb
innodb_data_home_dir = "D:/xampp/mysql/"
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = "D:/xampp/mysql/"
innodb_log_arch_dir = "D:/xampp/mysql/"

# You can set .._buffer_pool_size up to 50 - 80 %
# of RAM but beware of setting memory usage too high
innodb_buffer_pool_size = 16M
innodb_additional_mem_pool_size = 2M
# Set .._log_file_size to 25 % of buffer pool size
innodb_log_file_size = 5M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50
------------------------------------------------------
コマンドプロンプトで、以下を実行してMySQLを再起動します。
net stop mysql
net start mysql
------------------------------------------------------
●2.MyHome Portalの実運用データベースの更新系テーブルをInnoDBにします。
コマンドプロンプトで、以下を実行します。
「ERROR 1025 (HY000): Error on rename ...」
というエラーが出る場合があります。その場合は、以下の一連の処理を再実行します。多分2度目はエラーが出ません。
------------------------------------------------------
mysql -u root -pkanri789
use _mydb_abook;
ALTER TABLE m_abook ENGINE=InnoDB;
ALTER TABLE m_category ENGINE=InnoDB;
ALTER TABLE m_check_caption ENGINE=InnoDB;
use _mydb_account;
ALTER TABLE m_account ENGINE=InnoDB;
ALTER TABLE m_friends ENGINE=InnoDB;
ALTER TABLE m_public ENGINE=InnoDB;
ALTER TABLE z_loginlog ENGINE=InnoDB;
use _mydb_bbs;
ALTER TABLE m_bbs ENGINE=InnoDB;
ALTER TABLE m_category ENGINE=InnoDB;
use _mydb_calendar;
ALTER TABLE m_category ENGINE=InnoDB;
ALTER TABLE m_schedule ENGINE=InnoDB;
ALTER TABLE m_todo ENGINE=InnoDB;
use _mydb_chat;
ALTER TABLE m_messages ENGINE=InnoDB;
use _mydb_diary;
ALTER TABLE m_category ENGINE=InnoDB;
ALTER TABLE m_marker ENGINE=InnoDB;
ALTER TABLE m_schedule ENGINE=InnoDB;
use _mydb_index;
ALTER TABLE m_category ENGINE=InnoDB;
ALTER TABLE m_homepage ENGINE=InnoDB;
ALTER TABLE m_oftenuse ENGINE=InnoDB;
use _mydb_kakeibo;
ALTER TABLE m_chokin ENGINE=InnoDB;
ALTER TABLE m_ginkou ENGINE=InnoDB;
use _mydb_memo;
ALTER TABLE m_category ENGINE=InnoDB;
ALTER TABLE m_memo ENGINE=InnoDB;
use _mydb_rss;
ALTER TABLE m_category ENGINE=InnoDB;
ALTER TABLE m_rss ENGINE=InnoDB;
use _mydb_sticky;
ALTER TABLE m_category ENGINE=InnoDB;
ALTER TABLE m_notes ENGINE=InnoDB;
use _mydb_study;
ALTER TABLE m_category ENGINE=InnoDB;
ALTER TABLE m_category2 ENGINE=InnoDB;
ALTER TABLE m_mycheck ENGINE=InnoDB;
ALTER TABLE m_study ENGINE=InnoDB;
use _mydb_zid_mgr_a;
ALTER TABLE m_category ENGINE=InnoDB;
ALTER TABLE m_pass ENGINE=InnoDB;
use _mydb_zid_mgr_b;
ALTER TABLE m_pass2 ENGINE=InnoDB;
exit;

はてなブックマークに追加 はてなブックマーク - MySQLのストレージエンジンをInnoDBにする方法

theme : システム開発
genre : コンピュータ

郵便番号から都道府県を判定するには?

MyHome Portal Ver.2.19で、郵便番号から判断して都道府県名をセットする機能を追加しましたが、郵便番号頭2桁で判断しています。
http://ok2nd.blog87.fc2.com/blog-entry-134.html
最初は、以下のサイトから郵便番号データ全件をダウンロードして、郵便番号全桁から判断しようと思ったのですが、郵便番号って、1つの郵便番号に複数の住所が紐づいていて、かつ、その住所が2つの都道府県に跨っているケースがあることが分かりました。
http://www.post.japanpost.jp/zipcode/download.html
つまり、郵便番号から都道府県を100%判断することは出来ないということです。
そこで、割り切って郵便番号頭2桁で判断することにしました。
頭2桁でも99%以上、多分99.8%(?)程度は正しく判断できそうです。
MyHome Portal用に作った郵便番号頭2桁と都道府県の対応テーブルを下に載せておきます。

郵便番号頭2桁都道府県
00北海道
01秋田県
02岩手県
03青森県
04北海道
05北海道
06北海道
07北海道
08北海道
09北海道
10東京都
11東京都
12東京都
13東京都
14東京都
15東京都
16東京都
17東京都
18東京都
19東京都
20東京都
21神奈川県
22神奈川県
23神奈川県
24神奈川県
25神奈川県
26千葉県
27千葉県
28千葉県
29千葉県
30茨城県
31茨城県
32栃木県
33埼玉県
34埼玉県
35埼玉県
36埼玉県
37群馬県
38長野県
39長野県
40山梨県
41静岡県
42静岡県
43静岡県
44愛知県
45愛知県
46愛知県
47愛知県
48愛知県
49愛知県
50岐阜県
51三重県
52滋賀県
53大阪府
54大阪府
55大阪府
56大阪府
57大阪府
58大阪府
59大阪府
60京都府
61京都府
62京都府
63奈良県
64和歌山県
65兵庫県
66兵庫県
67兵庫県
68鳥取県
69島根県
70岡山県
71岡山県
72広島県
73広島県
74山口県
75山口県
76香川県
77徳島県
78高知県
79愛媛県
80福岡県
81福岡県
82福岡県
83福岡県
84佐賀県
85長崎県
86熊本県
87大分県
88宮崎県
89鹿児島県
90沖縄県
91福井県
92石川県
93富山県
94新潟県
95新潟県
96福島県
97福島県
98宮城県
99山形県

はてなブックマークに追加 はてなブックマーク - 郵便番号から都道府県を判定するには?

Ver.1.71:実運用環境バックアップ先変更

MyHome Portal Ver.1.71をリリースしました。
http://ok2nd.web.fc2.com/download.html

ツール「実運用環境バックアップ」のバックアップ先ディレクトリ指定を、Windows物理パス指定ができるように変更。
Ver.1.70以前の/xampp/htdoc以下のパス指定では、バックアップファイルがWeb経由でダウンロードできてしまい、セキュリティ上問題です。

「実運用環境バックアップ」を使う場合、実運用定義ファイルに追加した定数「BACKUP_MYDB_DIR_REAL」のコメントアウトを外して、 /xampp/htdocsの下以外のディレクトリを指定してください。

//define("BACKUP_MYDB_DIR_REAL", "D:/_myhome_backup"); //←優先(物理パス)

Ver.1.70以前で作成されたディレクトリ「/xampp/htdoc/_myhome_backup」は安全のため、必ず削除してください。

はてなブックマークに追加 はてなブックマーク - Ver.1.71:実運用環境バックアップ先変更

theme : PHP
genre : コンピュータ

Ver.1.67:実運用環境バックアップツール追加

MyHome Portal Ver.1.67をリリースしました。
http://ok2nd.web.fc2.com/download.html
backup.jpg

ツールにシステム管理者用ツール「実運用環境バックアップ」を追加。
実運用定義ファイル「__define_common_my.php」と実運用データベースのバックアップをします。
MySQLデータベースをmysqldumpでバックアップします。
実運用定義ファイル「__define_common_my.php」と、MySQLデータベースバックアップファイルを、ZIPファイルに圧縮します。ZIPファイル生成には、CreateZipFileを使っています。
http://olederer.users.phpclasses.org/browse/package/2322.html

スタイルシートのうち、common.cssを別ディレクトリから参照できるように、定義ファイルを変更。

トップページ検索ボタンの百度をFresheye(コトバノウチュウ)に変更。

トップページ用サンプルブログパーツを、NHK NewsからGoogle Newsに再変更。
RSSサンプルデータベース_db_rssも、NHK NewsからGoogle Newsに再変更。

はてなブックマークに追加 はてなブックマーク - Ver.1.67:実運用環境バックアップツール追加

theme : PHP
genre : コンピュータ

Ver.1.57:MySQLデータ表示&Excelインポート

MyHome Portal Ver.1.57を リリースしました。
http://ok2nd.web.fc2.com/download.html

ツールの「MySQL データベース/テーブル一覧」を、「MySQL管理ツール」と名称変更し、「テーブルデータ一覧表示」「Excelインポート」機能を追加しました。

「テーブルデータ一覧表示」はページング機能付きです。列目クリックによる並び替えもできます。
「Excelインポート」では、Excelシートをアップロードして任意のデータベーステーブルにインポートできます。

sql1.jpg
sql2.jpg
sql3.jpg

はてなブックマークに追加 はてなブックマーク - Ver.1.57:MySQLデータ表示&Excelインポート

theme : PHP
genre : コンピュータ

Ver.1.28:サンプルデータベース作成スクリプト修正

MyHome Portal Ver.1.28を リリースしました。
http://ok2nd.web.fc2.com/download.html

MySQLサンプルデータベース作成スクリプトを修正しました。

・PHP実行用のユーザーアカウント作成スクリプトを追加しました。
・PHP実行用のユーザーアカウントのデータベースアクセス権限を、SELECT,INSERT,UPDATE,DELETEのみとしました。
mysql -u root -pパスワード
GRANT USAGE ON *.* TO myhome@localhost IDENTIFIED BY 'pass123';
GRANT SELECT,INSERT,UPDATE,DELETE ON _db_account.* TO myhome@localhost;
GRANT SELECT,INSERT,UPDATE,DELETE ON _db_calendar.* TO myhome@localhost;
GRANT SELECT,INSERT,UPDATE,DELETE ON _db_guide.* TO myhome@localhost;
GRANT SELECT,INSERT,UPDATE,DELETE ON _db_index.* TO myhome@localhost;
GRANT SELECT,INSERT,UPDATE,DELETE ON _db_memo.* TO myhome@localhost;
GRANT SELECT,INSERT,UPDATE,DELETE ON _db_zid_mgr_a.* TO myhome@localhost;
GRANT SELECT,INSERT,UPDATE,DELETE ON _db_zid_mgr_b.* TO myhome@localhost;
FLUSH PRIVILEGES;
exit

はてなブックマークに追加 はてなブックマーク - Ver.1.28:サンプルデータベース作成スクリプト修正

theme : MySQL
genre : コンピュータ

プロフィール

ok.2nd

Author:ok.2nd
HomePage:
http://ok2nd.web.fc2.com/
Email: m.ok.2nd@gmail.com

最新記事
最新コメント
最新トラックバック
月別アーカイブ
FC2ブログランキング

FC2Blog Ranking

検索フォーム
カテゴリ
リンク
RSSリンクの表示
ブロとも申請フォーム

この人とブロともになる

QRコード
QRコード
ユーザータグ