skillup

技術ブログ

Database

MySQLでtext型が大量にあるもののリストア 

投稿日:

MySQLでのリストアについて。

先日実務でtext型のカラムが複数あるテーブルを読もうとしたら下記エラーがでてこけました。

なにやらカラム数が多い&TEXTorBLOB型だとこのエラーがでるようです。

対策

/etc/my.confに下記設定を追加し、再起動

TABLEの定義文にROW_FORMAT=DYNAMICかROW_FORMAT=COMPRESSEDをつける

これで読み込めました。

ちなみに、テーブルが数十あってあるテーブルだけこける場合、下記のようなやり方がおすすめです。

  1. ダンプファイルを下記方法でテーブルごとに区切る。
    参考MySQL小ネタ テーブル単位のリストア・SQLの小ネタ(バックスラッシュの検索)
  2. 問題のあるテーブルのファイル、外し、残りをcatで再度同一のテキストファイルにする

こうして読み込んでみましょう。

参考リンク

Row size too large (> 8126). が出たので、解決がてら周辺知識をまとめてみた

【MySQL5.6->5.7】 とてもたくさんの列をもったテーブルをつくりたい/Row size too large (> 8126)についてかんがえる

-Database
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

MySQL小ネタ テーブル単位のリストア・SQLの小ネタ(バックスラッシュの検索)

MySQLのちょい小ネタ。 Contents1 テーブル単位でバックアップ&リストア2 バックスラッシュの入ったSQLについて テーブル単位でバックアップ&リストア 1 通常のdump(データベース単 …

no image

slow-query-logについて

データベースを伴う部分でののチューニングですが、大きく分けると SQLを書き直す インデックスを張りなおす プログラム内部でキャッシュを有効化する 設定ファイルの修正 上記のようなかんじになるのではな …

no image

JPQLでの算術関数

複雑なJPQLを書いていると、通常のレコードの取り出しだけではなく、合計(SUM)や算出(COUNT)などのいわゆる算術関数を使うことが一般的です。 JPQLでもこれらを通常通り扱うことができます。 …

no image

cakePHPでのマイグレーション

開発を続けているとデータベースのカラムの構造が変更するってことはしょっちゅうですが、管理がいい加減だとメンバー間でテーブルの構造が変わっていたり、本番と開発で違ってくるなどのトラブルが続出します。 そ …

no image

MySQLのSETとFIND_IN_SETについて

MySQLの方ですが、単純な文字列や、数字、日付の他に配列に近いSET型、また5.7以降ではJSONなどを入れることができます。 Contents1 SET型2 FIND_IN_SET SET型 いわ …