LoginSignup
0
0

mysql-client ver8で、mysql-server5.7からdumpを取る

Posted at

現在のmysql-clientのバージョン

公式からダウンロードした8.0用のクライアント

$ mysql --version
mysql  Ver 8.0.35 for Linux on x86_64 (MySQL Community Server - GPL)

現在のmysql-serverのバージョン

AWSのaurora RDSなので、厳密には違うけど、
エンジンバージョンは5.7を対象にしてます。

mysqldump コマンド

mysqldump --user=[dumpできる権限をもったユーザ] --password=[パスワード] --host=[データベースのURI(ローカルなら不要)] --single-transaction --set-gtid-purged=OFF --default-character-set=binary --routines --add-drop-database --databases [データベース名] | zip > dump.sql.zip
  • --set-gtid-purged=OFF
    ちょっと前から何故かDumpがうまく行かなくなった。gtidがどうとかいうエラーのために付与…。
    細かく調べていないけど をつければOKでした。
  • --default-character-set=binary
    文字コードが変わったのか、日本語(utf-8)が文字化けするようだったので、binaryで出力。

zip圧縮しながら出力されるので、dump.sql.zipというものが出来上がります。
zip圧縮している理由は、dumpを取得する場所のディスク容量が逼迫しないようにということです。

unzip dump.sql.zip

解凍すると、-というファイルが出ます。
(中身はSQLdump)
mvコマンドなどで、名前を変えておくと読みやすいです。

mv - dump.sql.zip

dumpのインポート

手元のコンテナにmysqlコンテナを作成し、インポートします。

mysql -u root -ppassword --default-character-set=binary < dump.sql

これで文字化けせずにbinaryカラムなどもインポートできました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0