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-database DROP DATABASE ステートメントを CREATE DATABASE ステートメントの前に追加  
--add-drop-table DROP TABLE ステートメントを CREATE TABLE ステートメントの前に追加  
--add-drop-trigger DROP TRIGGER ステートメントを CREATE TRIGGER ステートメントの前に追加  
--add-locks LOCK TABLES と UNLOCK TABLES ステートメントで各テーブルダンプを囲む  
--all-databases すべてのデータベース内のすべてのテーブルをダンプ  
--allow-keywords キーワードであるカラム名の作成を許可  
--apply-slave-statements CHANGE 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-insert INSERT ステートメントではなく 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-privileges mysql データベースのダンプ後、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-ignore INSERT ステートメントではなく 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_length TCP/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-tablespaces CREATE 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 サーバーに接続する際に使用するパスワード  
--pipe Windows で、名前付きパイプを使用してサーバーに接続  
--plugin-dir プラグインがインストールされているディレクトリ  
--port 接続に使用する TCP/IP ポート番号  
--print-defaults デフォルトを出力  
--protocol 使用する接続プロトコル  
--quick サーバーからのテーブルについて、一度に 1 行ずつ取得  
--quote-names 識別子を逆引用符文字で囲む  
--replace INSERT ステートメントではなく REPLACE ステートメントを書き出す  
--result-file 指定されたファイルに出力  
--routines ダンプされたデータベースからストアドルーチン (プロシージャーおよび関数) をダンプ  
--secure-auth 古い (4.1.1 より前の) 形式でサーバーにパスワードを送信しない 5.6.17
--set-charset SET NAMES default_character_set を出力に追加  
--set-gtid-purged SET @@GLOBAL.GTID_PURGED を出力に追加するかどうか 5.6.9
--shared-memory-base-name 共有メモリー接続に使用する共有メモリーの名前  
--single-transaction このオプションは、サーバーからデータをダンプする前に BEGIN SQL ステートメントを発行  
--skip-add-drop-table DROP TABLE ステートメントを CREATE TABLE ステートメントの前に追加しない  
--skip-add-locks ロックを追加しない  
--skip-comments ダンプファイルにコメントを追加しない  
--skip-compact よりコンパクトな出力を生成しない  
--skip-disable-keys キーを無効にしない  
--skip-extended-insert extended-insert をオフにする  
--skip-opt --opt で設定されたオプションをオフにする  
--skip-quick サーバーからのテーブルについて、一度に 1 行ずつ取得しない  
--skip-quote-names 識別子を引用符で囲まない  
--skip-set-charset SET NAMES ステートメントを抑制  
--skip-triggers トリガーをダンプしない  
--skip-tz-utc tz-utc をオフにする  
--socket ローカルホストへの接続で、使用する Unix ソケットファイル  
--ssl 接続に SSL を有効化  
--ssl-ca 信頼された SSL CA のリストを含むファイルのパス  
--ssl-capath 信頼された SSL CA の PEM 形式の証明書を含むディレクトリのパス  
--ssl-cert PEM 形式の X509 証明書を含むファイルのパス  
--ssl-cipher SSL の暗号化に使用される、許可された暗号のリスト  
--ssl-crl 証明書失効リストを含むファイルのパス 5.6.3
--ssl-crlpath 証明書失効リストファイルを含むディレクトリのパス 5.6.3
--ssl-key PEM 形式の X509 鍵を含むファイルのパス  
--ssl-verify-server-cert サーバーへの接続時に、サーバーの証明書内のコモンネーム値をホスト名に対して検証  
--tab タブ区切りのデータファイルを生成  
--tables --databases オプションまたは -B オプションをオーバーライド  
--triggers ダンプされた各テーブルについて、トリガーをダンプする  
--tz-utc SET TIME_ZONE='+00:00' をダンプファイルに追加  
--user サーバーへの接続時に使用する MySQL ユーザー名  
--verbose 冗長モード  
--version バージョン情報を表示して終了  
--where 所定の WHERE 条件で選択された行のみダンプ  
--xml XML 出力を生成

 

导入使用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 の対応する句と同じ意味を持っています  
--force SQL エラーが発生しても続行  
--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 サーバーに接続する際に使用するパスワード  
--pipe Windows で、名前付きパイプを使用してサーバーに接続  
--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-cert PEM 形式の X509 証明書を含むファイルのパス  
--ssl-cipher SSL の暗号化に使用される、許可された暗号のリスト  
--ssl-crl 証明書失効リストを含むファイルのパス 5.6.3
--ssl-crlpath 証明書失効リストファイルを含むディレクトリのパス 5.6.3
--ssl-key PEM 形式の X509 鍵を含むファイルのパス  
--ssl-verify-server-cert サーバーへの接続時に、サーバーの証明書内のコモンネーム値をホスト名に対して検証  
--use-threads 並列ファイルロードのスレッド数  
--user サーバーへの接続時に使用する MySQL ユーザー名  
--verbose 冗長モード  
--version バージョン情報を表示して終了  

MySQL导出和导入的更多相关文章

  1. mysql 导出,导入数据

     导出     加-d代表只导出表结构 命令行下具体用法如下:  mysqldump -u用户名 -p密码 -d 數據库名 表名 脚本名; 1.导出数据库为dbname的表结构(其中用户名为root, ...

  2. mysql导出和导入命令更改数据库名称数据库

    概要 mysql 数据库导入和导出,有两种方法 1)从试点SQL脚本.导入(导入导出又分两种:1. 命令. 2. 工具.这里我们仅仅介绍命令). 2)直接拷贝数据库文件(此方法不推荐). 一.mysq ...

  3. mysql导出与导入

    环境 centos6.5 32位 Mysql 5.7.19 导出 mysqldump用法 导出整个数据库 [root@mini2 mysql]# mysqldump -p123456 --databa ...

  4. Windows下mysql导出和导入数据库表(命令行)

    导出: 1.打开ctrl+R输入cmd 打开命令行 2.cd D:\mysql-8.0.15-winx64\bin 到MySQL的bin目录 3.输入命令  mysqldump -u root -p ...

  5. mysql导出和导入数据库

    出口 在dos计划,切换到mysql按照该文件夹bin下一个.输入以下命令 mysqldump -u root -p nxu_life > nxu_life2.sql 运行完毕后,就能够看到在b ...

  6. mysql如何利用Navicat 导出和导入数据库

    MySql是我们经常用到的数据,无论是开发人员用来练习,还是小型私服游戏服务器,或者是个人软件使用,都十分方便.对于做一些个人辅助软件, 选择mysql数据库是个明智的选择,有一个好的工具更是事半功倍 ...

  7. [转]mysql如何利用Navicat 导出和导入数据库

    MySql是我们经常用到的数据,无论是开发人员用来练习,还是小型私服游戏服务器,或者是个人软件使用,都十分方便.对于做一些个人辅助软件,选择mysql数据库是个明智的选择,有一个好的工具更是事半功倍, ...

  8. 非默认安装目录下mysql数据的导出与导入

    系统:Centos 6.5 1.首先确定msyql是否安装以及安装目录: [root@localhost ~]# service mysqld status mysqld (pid ) 正在运行... ...

  9. 利用Java进行MySql数据库的导入和导出

    利用Java来进行Mysql数据库的导入和导出的总体思想是通过Java来调用命令窗口执行相应的命令. MySql导出数据库的命令如下: mysqldump -uusername -ppassword  ...

随机推荐

  1. UI-WPF_UI:WPF UI - DMSkin官方网站

    ylbtech-UI-WPF_UI:WPF UI - DMSkin官方网站 1.返回顶部 1. QQ: 944095635 DMSkin.com 首页 论坛 定制 博客  联系   DMSkin 3. ...

  2. python学习笔记:(四)tuple(元组)常用方法

    tuple(元组)的常用方法 1.del 删除元组 #del 删除元组 a=(1,2,3) del a print(a) 2.len() 计算元组中,值的个数 #len:计算元组元素的个数 a=(1, ...

  3. WinFrom控件双向绑定

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  4. 链路聚合teaming(网卡绑定技术)2

    一.sentos7网卡绑定技术之teaming 这里介绍两种最常见的双网卡绑定模式: (1) roundrobin - 轮询模式 所有链路处于负载均衡状态,这种模式的特点增加了带宽,同时支持容错能力. ...

  5. 应用安全 - 编程语言漏洞 - PHP语言漏洞汇总

    CVE-2019-11043 Date: 类型: 远程代码执行 前置条件: Nginx + fastcgi + php-fpm 配置文件信息如下: location ~ [^/]\.php(/|$) ...

  6. python面试题--初级(一)

    一. Python 中有多少种运算符? 这类面试问题可以判断你的 Python 功底,可以举一些实例来回答这类问题. 在 Python 中我们有 7 中运算符: 算术运算符.关系 (比较) 运算符.赋 ...

  7. 循环Gray码的生成(递归)

    #!/usr/bin/env python #coding:utf-8 import sys def gray_code(num, array): if num < 1: return if n ...

  8. 关于this与e.target区别以及data-*属性

    1 this与event.target 在编写事件函数时可以传入一个event参数,even参数可以使用一个target属性如even.target用以调用,其作用是指向返回事件的目标节点(触发该事件 ...

  9. 如何在ubuntu上安装 搜狗输入法(已经成功)

    转自:https://blog.csdn.net/qq_37589838/article/details/81208409 本文链接:https://blog.csdn.net/qq_37589838 ...

  10. 短信群发(Thinkphp内核)

    public function save(){ $id = I('id'); $Goods = M('message'); $info = $Goods->find($id); //就收数据 $ ...