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

laravelのmigrationに関して

DBのカラムの保守などをする場合のmigrationに関して。 ポツポツ使っていたのですが、しっかりまとめてなかったのでここでまとめて見ようかと思います。 Contents1 カラム定義2 実際の実行 …

no image

MySQLのマイグレーション(workbench使用)

以前cakePHPにてマイグレーションの手法を紹介したのですが、当然PHP以外をつかっていたり、PHPでもcakeを使っていなければこの方法は通用しません。 何か、汎用的にデータベースの構造の差分がチ …

no image

SQL基礎 case&groupbyの活用について

主に集計タイプの計算で大活躍するgroupbyについて。 主な用途は集計とカット。特にcase式と連動した集計はかなり使える 例 nameとageで構成されたテーブルがあるとして、年代ごとの人数を出し …

no image

複数GROUP BYでの注意

GROUP BYしたときに件数が増えるという現象があったので一応メモ。というか当たり前のことですが・・・ たとえば以下のようなテーブルがあったとします。 student id student_name …

no image

Postgres リモートホストからの接続他

今まで使ってきたデータベースはMySQLがほとんどなのですが、最近少し、Postgresを触っています。 今回はパスワードの設定とリモートからの接続など。 Contents1 postgresへのログ …