/ 企画開発部
Tweet
シェア
システム開発ブログ
最近の記事
- Chrome for Androidの新機能、Chrome to Mobileを試す
- ファイルサーバのBCP対策(アイロベックスの場合)
- Illustratorの矢印機能でラクラク矢印作成!
- システム会社選びのポイント
- システム保守の移管費用を抑えます
- アイロベックス通信発行してます
- ボタンのデザインをxmlで定義する
- Excel2010で行コピーをした場合に、画像ファイルのサイズが変わらないようにする
- Power Point2010 でスライド番号をつける方法
- Photoshop の秘宝
カテゴリー
- HTML全般 (2)
- Access (15)
- Android (5)
- .NET (14)
- Excel (9)
- Google Apps (5)
- HTML5 (3)
- iPhone (8)
- JAVA (14)
- Linux (7)
- Movable Type (15)
- MySQL (7)
- OpenOffice (10)
- Oracle (6)
- PHP (20)
- SQLServer (4)
- twitter (6)
- VBA (11)
- Webサイト構築・Web戦略 (32)
- Webサイト構築事例 (4)
- Windows (10)
- その他 (29)
- アクセス解析 (2)
- ウィジェット (1)
- システム設計 (5)
- システム開発事例 (3)
- システム開発体制 (1)
- セキュリティ (5)
- データベース (20)
- プロジェクト管理 (8)
- 品質管理・テスト (6)
- 帳票 (3)
- 技術活用 (6)
- 運用・保守 (8)
部署
- システム開発事業部 (33)
- ビジネスソリューション課 (17)
- システムソリューション事業部 (32)
- 流通システム部 (76)
- 産業システム部 (93)
- ソフトウエア開発部 (56)
- Webコンサルティング部 (97)
- 企画開発部 (37)
- 部長インタビュー (3)
月別アーカイブ
- 2012年2月 (6)
- 2012年1月 (18)
- 2011年12月 (19)
- 2011年11月 (22)
- 2011年10月 (29)
- 2011年9月 (28)
- 2011年8月 (5)
- 2011年7月 (18)
- 2011年6月 (15)
- 2011年5月 (21)
- 2011年4月 (8)
- 2011年3月 (12)
- 2011年2月 (12)
- 2011年1月 (13)
- 2010年12月 (18)
- 2010年11月 (19)
- 2010年10月 (19)
- 2010年9月 (21)
- 2010年8月 (17)
- 2010年7月 (21)
- 2010年6月 (22)
- 2010年5月 (14)
- 2010年4月 (12)
- 2010年3月 (13)
- 2010年2月 (9)
- 2010年1月 (12)
- 2009年12月 (7)
- 2009年11月 (6)
- 2009年10月 (8)
- 2009年9月 (7)
- 2009年8月 (3)
- 2009年7月 (1)
- 2009年6月 (3)
- 2009年5月 (1)
- 2009年4月 (1)
- 2009年3月 (8)
- 2009年2月 (10)
- 2009年1月 (1)
- 2008年12月 (1)






企画開発部 / データベース
MySQLのインストールを行う際、
インストール後一度サーバが起動するか確認したあとに、
MySQLのパラメータ設定を行う人が多いかと思います。
innodbを使用する場合、my.cnfの innodb_data_file_path の設定を
行う方が多いと思いますが
設定後、MySQLが起動エラーになってしまった場合の対処法をお知らせします。
まず、innodb_data_file_pathのパラメータの意味について簡単に説明します。
innodbでは ib_dataやib_log で始まる名前のファイルにデータやログが書き込まれます。
記述法は以下のようになります。
innodb_data_file_path = ibdata1:2000M;ibdata2:10M:autoextend
この設定では、ibdata1 というファイルを2GB確保し、
足りなくなった場合は ibdata2 というファイルに10MBずつ自動拡張することになります。
2GBのファイルを確保する作業は、設定した後初めてMySQLを起動した際に行われます。
その際、既にサイズの異なるibdata1 というファイルがある場合、起動時にエラーとなります。
起動時のエラー内容は、MySQLのデータファイルが保存されるディレクトリ内の
ホスト名.err というファイルで確認できます。
今回検証している端末は、CentOS5.4にrpmでMySQLをインストールしているので
/var/lib/mysql にログが出力されているので確認してみます。
InnoDB: 640 pages (rounded down to MB)
InnoDB: than specified in the .cnf file 128000 pages!
InnoDB: Could not open or create data files.
InnoDB: If you tried to add new data files, and it failed here,
InnoDB: you should now edit innodb_data_file_path in my.cnf back
InnoDB: to what it was, and remove the new ibdata files InnoDB created
InnoDB: in this failed attempt. InnoDB only wrote those files full of
InnoDB: zeros, but did not yet use them in any way. But be careful: do not
InnoDB: remove old data files which contain your precious data!
このエラーを見れば、ibdata1 のファイルサイズが異なるため、
InnnoDBがエラーになっていることがわかります。
このエラーを解消するには、MySQLのデータディレクトリからib_ で始まるファイルを
削除する必要があります。
どんなファイルがあるか確認してみます。
合計 20612
-rw-rw---- 1 mysql mysql 5242880 6月 6 16:09 ib_logfile0
-rw-rw---- 1 mysql mysql 5242880 6月 6 16:08 ib_logfile1
-rw-rw---- 1 mysql mysql 10485760 6月 6 16:09 ibdata1
drwx--x--x 2 mysql mysql 4096 6月 3 20:08 mysql
-rw-rw---- 1 mysql mysql 263 6月 3 20:57 mysql-bin.000001
ib_logfile0, ib_logfile1, ibdata1が余計なファイルなので、削除してしまいます。
rm -rf ib_logfile1
rm -rf ibdata1
その後、再度MySQLを起動します。
今回、2GBの固定ファイルを確保するよう設定したので、起動完了までしばらく待ちます。
サイズをもっと小さくすれば、起動はすぐに終わると思います。
-rw-rw---- 1 mysql mysql 104857600 6月 6 16:38 ib_logfile1
-rw-rw---- 1 mysql mysql 2097152000 6月 6 16:38 ibdata1
-rw-rw---- 1 mysql mysql 10485760 6月 6 16:38 ibdata2
2GBのibdata1と10MBのibdata2ファイルが作成されており、
起動も正常にできるようになりました。
運用後にデータが増え、自動データ拡張が頻発するとパフォーマンスが悪くなります。
自動拡張が始まってしまった後は、
innodb_data_file_path = ibdata1:2000M;ibdata2:10M:autoextend
を
innodb_data_file_path = ibdata1:5000M;ibdata2:10M:autoextend
等にしてしまうと、またibdata1のサイズが異なるため、MySQLが起動しなくなります。
その際は、一度データベースのdumpを取って退避した後に、
ibで始まるファイルを削除し、my.cnfの設定変更後、MySQLを起動しdumpファイルを
インポートする作業を行う必要があります。
データベースが巨大化すればするほど、作業に時間もかかりますし、
作業リスクも多くなるので、構築段階でのサイジングはしっかり行わなければいけませんね。
※参考サイト MySQL5.1リファレンスマニュアル(Innodb設定)
「システム開発ブログ」へのコメントやご意見等ありましたら、ファンページまでお願いします。 Facebook のファンページ
他社のシステムも直します。資産を活かしてシステムリフォーム