MySQL导出和导入

MySQL的几句脚本

最近做了几次mysql的备份和恢复, 找了一些资料, 写了一些脚本, 记录一下.

#导出
mysqldump $_login_info_ $_src_db_name_ --no-create-db --no-create-info --compact >>$(date +"%Y%m%d%H%M%S")_data.sql
mysqldump $_login_info_ $_src_db_name_ --no-data --skip-add-drop-table --skip-comments --skip-set-charset >>$(date +"%Y%m%d%H%M%S")_stru.sql

--不加-B --database 就不会生成 CREATE DATABASE /*!32312 IF NOT EXISTS*/
-- -t 就是--no-create-info
--よりコンパクトな出力を生成します。このオプションは、--skip-add-drop-table、--skip-add-locks、--skip-comments、--skip-disable-keys、および --skip-set-charset オプションを有効にします。
-- disable-keys 仅对mysam有效


关于几个参数的说明, 找了很多资料, 最全的还是官方的api.

https://dev.mysql.com/doc/refman/5.6/ja/mysqldump.html#option_mysqldump_no-set-names

オプション名説明導入
--add-drop-databaseDROP DATABASE ステートメントを CREATE DATABASE ステートメントの前に追加 
--add-drop-tableDROP TABLE ステートメントを CREATE TABLE ステートメントの前に追加 
--add-drop-triggerDROP TRIGGER ステートメントを CREATE TRIGGER ステートメントの前に追加 
--add-locksLOCK TABLES と UNLOCK TABLES ステートメントで各テーブルダンプを囲む 
--all-databasesすべてのデータベース内のすべてのテーブルをダンプ 
--allow-keywordsキーワードであるカラム名の作成を許可 
--apply-slave-statementsCHANGE MASTER ステートメントの前に STOP SLAVE を含め、START SLAVE を出力の最後に含める 
--bind-address指定されたネットワークインタフェースを使用して MySQL サーバーに接続5.6.1
--commentsダンプファイルにコメントを追加 
--compactよりコンパクトな出力を生成 
--compatible古い MySQL サーバーやほかのデータベースシステムとの互換性がより高い出力を生成 
--complete-insertカラム名を含む完全な INSERT ステートメントを使用 
--create-optionsすべての MySQL に固有なテーブルオプションを CREATE TABLE ステートメントに含める 
--databases複数のデータベースをダンプ 
--debugデバッグのログを書き込み 
--debug-checkプログラムの終了時にデバッグ情報を出力 
--debug-infoプログラムの終了時に、デバッグ情報、メモリー、および CPU の統計を出力 
--default-auth使用する認証プラグイン 
--default-character-setデフォルト文字セットを指定 
--defaults-extra-file通常のオプションファイルに加えてオプションファイルを読み取る 
--defaults-file指名されたオプションファイルのみを読み取る 
--defaults-group-suffixオプショングループのサフィクス値 
--delayed-insertINSERT ステートメントではなく INSERT DELAYED ステートメントを書き出す 
--delete-master-logsマスターレプリケーションサーバーで、ダンプ操作の実行後にバイナリログを削除 
--disable-keys各テーブルについて、キーを無効にするステートメントおよび有効にするステートメントで INSERT ステートメントを囲む 
--dump-date--comments が指定された場合、ダンプ日を "Dump completed on" コメントとして含める 
--dump-slaveスレーブのマスターのバイナリログ座標をリストする CHANGE MASTER ステートメントを含める 
--eventsダンプされたデータベースからイベントをダンプ 
--extended-insert複数の VALUES リストを含む、複数行 INSERT 構文を使用 
--fields-enclosed-byこのオプションは --tab オプションとともに使用され、LOAD DATA INFILE の対応する句と同じ意味を持つ 
--fields-escaped-byこのオプションは --tab オプションとともに使用され、LOAD DATA INFILE の対応する句と同じ意味を持つ 
--fields-optionally-enclosed-byこのオプションは --tab オプションとともに使用され、LOAD DATA INFILE の対応する句と同じ意味を持つ 
--fields-terminated-byこのオプションは --tab オプションとともに使用され、LOAD DATA INFILE の対応する句と同じ意味を持つ 
--flush-logsダンプを始める前に MySQL サーバーログファイルをフラッシュ 
--flush-privilegesmysql データベースのダンプ後、FLUSH PRIVILEGES ステートメントを発行 
--helpヘルプメッセージを表示して終了 
--hex-blobバイナリカラムを 16 進変換表記法を使用してダンプ (たとえば、'abc' は 0x616263) 
--host接続先のホスト (IP アドレスまたはホスト名) 
--ignore-table指定されたテーブルをダンプしない 
--include-master-host-port--dump-slave ともに生成された CHANGE MASTER ステートメントに MASTER_HOST/MASTER_PORT オプションを含める 
--insert-ignoreINSERT ステートメントではなく INSERT IGNORE ステートメントを書き出す 
--lines-terminated-byこのオプションは --tab オプションとともに使用され、LOAD DATA INFILE の対応する句と同じ意味を持つ 
--lock-all-tablesデータベース内のテーブルをすべてロック 
--lock-tablesテーブルをダンプする前にすべてロック 
--log-error警告およびエラーを指名されたファイルに追加 
--login-pathログインパスオプションを .mylogin.cnf から読み取り5.6.6
--master-dataバイナリログファイルの名前と場所を出力に書き込む 
--max_allowed_packetサーバーとの間で送受信するパケットの最大長 
--net_buffer_lengthTCP/IP とソケット通信のバッファーサイズ 
--no-autocommitダンプされたテーブルごとに、INSERT ステートメントを SET autocommit = 0 ステートメントと COMMIT ステートメントで囲む 
--no-create-dbこのオプションは CREATE DATABASE ステートメントを抑制 
--no-create-info各ダンプされたテーブルを再作成する CREATE TABLE ステートメントを書き出さない 
--no-dataテーブルの内容をダンプしない 
--no-defaultsオプションファイルを読み取らない 
--no-set-names--skip-set-charset と同じ 
--no-tablespacesCREATE LOGFILE GROUP ステートメントおよび CREATE TABLESPACE ステートメントを出力に書き出さない 
--opt--add-drop-table --add-locks --create-options --disable-keys --extended-insert --lock-tables --quick --set-charset の短縮形。 
--order-by-primary各テーブルの行を、主キーまたは最初の一意のインデックスでソートしてダンプ 
--passwordサーバーに接続する際に使用するパスワード 
--pipeWindows で、名前付きパイプを使用してサーバーに接続 
--plugin-dirプラグインがインストールされているディレクトリ 
--port接続に使用する TCP/IP ポート番号 
--print-defaultsデフォルトを出力 
--protocol使用する接続プロトコル 
--quickサーバーからのテーブルについて、一度に 1 行ずつ取得 
--quote-names識別子を逆引用符文字で囲む 
--replaceINSERT ステートメントではなく REPLACE ステートメントを書き出す 
--result-file指定されたファイルに出力 
--routinesダンプされたデータベースからストアドルーチン (プロシージャーおよび関数) をダンプ 
--secure-auth古い (4.1.1 より前の) 形式でサーバーにパスワードを送信しない5.6.17
--set-charsetSET NAMES default_character_set を出力に追加 
--set-gtid-purgedSET @@GLOBAL.GTID_PURGED を出力に追加するかどうか5.6.9
--shared-memory-base-name共有メモリー接続に使用する共有メモリーの名前 
--single-transactionこのオプションは、サーバーからデータをダンプする前に BEGIN SQL ステートメントを発行 
--skip-add-drop-tableDROP TABLE ステートメントを CREATE TABLE ステートメントの前に追加しない 
--skip-add-locksロックを追加しない 
--skip-commentsダンプファイルにコメントを追加しない 
--skip-compactよりコンパクトな出力を生成しない 
--skip-disable-keysキーを無効にしない 
--skip-extended-insertextended-insert をオフにする 
--skip-opt--opt で設定されたオプションをオフにする 
--skip-quickサーバーからのテーブルについて、一度に 1 行ずつ取得しない 
--skip-quote-names識別子を引用符で囲まない 
--skip-set-charsetSET NAMES ステートメントを抑制 
--skip-triggersトリガーをダンプしない 
--skip-tz-utctz-utc をオフにする 
--socketローカルホストへの接続で、使用する Unix ソケットファイル 
--ssl接続に SSL を有効化 
--ssl-ca信頼された SSL CA のリストを含むファイルのパス 
--ssl-capath信頼された SSL CA の PEM 形式の証明書を含むディレクトリのパス 
--ssl-certPEM 形式の X509 証明書を含むファイルのパス 
--ssl-cipherSSL の暗号化に使用される、許可された暗号のリスト 
--ssl-crl証明書失効リストを含むファイルのパス5.6.3
--ssl-crlpath証明書失効リストファイルを含むディレクトリのパス5.6.3
--ssl-keyPEM 形式の X509 鍵を含むファイルのパス 
--ssl-verify-server-certサーバーへの接続時に、サーバーの証明書内のコモンネーム値をホスト名に対して検証 
--tabタブ区切りのデータファイルを生成 
--tables--databases オプションまたは -B オプションをオーバーライド 
--triggersダンプされた各テーブルについて、トリガーをダンプする 
--tz-utcSET TIME_ZONE='+00:00' をダンプファイルに追加 
--userサーバーへの接続時に使用する MySQL ユーザー名 
--verbose冗長モード 
--versionバージョン情報を表示して終了 
--where所定の WHERE 条件で選択された行のみダンプ 
--xmlXML 出力を生成

 


 

 导入使用load/mysqlimport, 以前用Oracle, load/unload简直是神助一般, mysql里也有load, unload就用mysqldump来代替, 需要些一些参数.还不错. 改天验证 一下.

#导出平板文件
https://dev.mysql.com/doc/refman/5.6/ja/mysqldump-delimited-text.html

#导入 https:
//dev.mysql.com/doc/refman/5.6/ja/mysqlimport.html

オプション名説明導入
--bind-address指定されたネットワークインタフェースを使用して MySQL サーバーに接続5.6.1
--columnsこのオプションはカンマによって分けられたカラム名のリストを値とします 
--compressクライアントとサーバー間で送信される情報をすべて圧縮 
--debugデバッグのログを書き込み 
--debug-checkプログラムの終了時にデバッグ情報を出力 
--debug-infoプログラムの終了時に、デバッグ情報、メモリー、および CPU の統計を出力 
--default-auth使用する認証プラグイン5.6.2
--default-character-setデフォルト文字セットを指定 
--defaults-extra-file通常のオプションファイルに加えてオプションファイルを読み取る 
--defaults-file指名されたオプションファイルのみを読み取る 
--defaults-group-suffixオプショングループのサフィクス値 
--deleteテキストファイルをインポートする前にテーブルを空にする 
--fields-enclosed-byこのオプションは、LOAD DATA INFILE の対応する句と同じ意味を持っています 
--fields-escaped-byこのオプションは、LOAD DATA INFILE の対応する句と同じ意味を持っています 
--fields-optionally-enclosed-byこのオプションは、LOAD DATA INFILE の対応する句と同じ意味を持っています 
--fields-terminated-by-- このオプションは、LOAD DATA INFILE の対応する句と同じ意味を持っています 
--forceSQL エラーが発生しても続行 
--helpヘルプメッセージを表示して終了 
--host指定されたホスト上で MySQL サーバーに接続 
--ignore--replace オプションの説明を参照 
--ignore-linesデータファイルの最初の N 行を無視 
--lines-terminated-byこのオプションは、LOAD DATA INFILE の対応する句と同じ意味を持っています 
--localクライアントホストから入力ファイルをローカルで読み込む 
--lock-tablesテキストファイルを処理する前に、すべてのテーブルを書き込みロック 
--login-pathログインパスオプションを .mylogin.cnf から読み取り5.6.6
--low-priorityテーブルロード時に LOW_PRIORITY を使用。 
--no-defaultsオプションファイルを読み取らない 
--passwordサーバーに接続する際に使用するパスワード 
--pipeWindows で、名前付きパイプを使用してサーバーに接続 
--plugin-dirプラグインがインストールされているディレクトリ5.6.2
--port接続に使用する TCP/IP ポート番号 
--print-defaultsデフォルトを出力 
--protocol使用する接続プロトコル 
--replace--replace および --ignore オプションは、一意のキー値に関して既存の行と重複する入力行の処理を制御 
--secure-auth古い (4.1.1 より前の) 形式でサーバーにパスワードを送信しない5.6.17
--shared-memory-base-name共有メモリー接続に使用する共有メモリーの名前 
--silentエラーが発生したときのみ出力を生成 
--socketローカルホストへの接続で、使用する Unix ソケットファイル 
--ssl接続に SSL を有効化 
--ssl-ca信頼された SSL CA のリストを含むファイルのパス 
--ssl-capath信頼された SSL CA の PEM 形式の証明書を含むディレクトリのパス 
--ssl-certPEM 形式の X509 証明書を含むファイルのパス 
--ssl-cipherSSL の暗号化に使用される、許可された暗号のリスト 
--ssl-crl証明書失効リストを含むファイルのパス5.6.3
--ssl-crlpath証明書失効リストファイルを含むディレクトリのパス5.6.3
--ssl-keyPEM 形式の X509 鍵を含むファイルのパス 
--ssl-verify-server-certサーバーへの接続時に、サーバーの証明書内のコモンネーム値をホスト名に対して検証 
--use-threads並列ファイルロードのスレッド数 
--userサーバーへの接続時に使用する MySQL ユーザー名 
--verbose冗長モード 
--versionバージョン情報を表示して終了 
 
 

 

转载于:https://www.cnblogs.com/tekikesyo/p/11306869.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值