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

SQL基礎 結合に関して

SQL実践入門を読んで勉強しておりますが、本日は結合に関して。 Contents1 クロス結合2 内部結合3 外部結合4 結合のアルゴリズムとパフォーマンス4.1 NestedLoops4.2 Has …

no image

アンチパターン 参照渡しと値渡し+キー情報の設定+同一値を複数テーブルに配置+正規化が不十分+集計表+不適切なステータス値

本日は自分がデータベースの設計をしていて気を付かないといけないなーと思った点などを。 注意点としては設計のミスは実装で取り返しにくいことが多いので極力気を付けましょう。あといろいろなテーブルのパターン …

no image

データクレンジング

リレーショナルデータベースでデータを管理する前に、しなくてはいけないことはデータをデータベースに登録できる形に整形することです。 このことをデータクレンジングといいます。 これを行わずに何も考えずにデ …

no image

checkboxでの値の管理

formにてcheckboxの値を一つのカラムにいれて管理する機会があったのですが、これ入力更新出会っても検索であっても処理がなかなか厄介です。特に検索の時ですね・・・ 要するに値の候補が1,2,3, …

no image

ajaxのasync:falseと複数DBのjoinに関して

本日も小ネタ集です。 Contents1 ajax:false2 複数DBでのJOIN ajax:false ajaxは非同期処理が基本ですが、async:falseとすると同期処理になります。 ただ …