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-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导出和导入的更多相关文章
- mysql 导出,导入数据
导出 加-d代表只导出表结构 命令行下具体用法如下: mysqldump -u用户名 -p密码 -d 數據库名 表名 脚本名; 1.导出数据库为dbname的表结构(其中用户名为root, ...
- mysql导出和导入命令更改数据库名称数据库
概要 mysql 数据库导入和导出,有两种方法 1)从试点SQL脚本.导入(导入导出又分两种:1. 命令. 2. 工具.这里我们仅仅介绍命令). 2)直接拷贝数据库文件(此方法不推荐). 一.mysq ...
- mysql导出与导入
环境 centos6.5 32位 Mysql 5.7.19 导出 mysqldump用法 导出整个数据库 [root@mini2 mysql]# mysqldump -p123456 --databa ...
- Windows下mysql导出和导入数据库表(命令行)
导出: 1.打开ctrl+R输入cmd 打开命令行 2.cd D:\mysql-8.0.15-winx64\bin 到MySQL的bin目录 3.输入命令 mysqldump -u root -p ...
- mysql导出和导入数据库
出口 在dos计划,切换到mysql按照该文件夹bin下一个.输入以下命令 mysqldump -u root -p nxu_life > nxu_life2.sql 运行完毕后,就能够看到在b ...
- mysql如何利用Navicat 导出和导入数据库
MySql是我们经常用到的数据,无论是开发人员用来练习,还是小型私服游戏服务器,或者是个人软件使用,都十分方便.对于做一些个人辅助软件, 选择mysql数据库是个明智的选择,有一个好的工具更是事半功倍 ...
- [转]mysql如何利用Navicat 导出和导入数据库
MySql是我们经常用到的数据,无论是开发人员用来练习,还是小型私服游戏服务器,或者是个人软件使用,都十分方便.对于做一些个人辅助软件,选择mysql数据库是个明智的选择,有一个好的工具更是事半功倍, ...
- 非默认安装目录下mysql数据的导出与导入
系统:Centos 6.5 1.首先确定msyql是否安装以及安装目录: [root@localhost ~]# service mysqld status mysqld (pid ) 正在运行... ...
- 利用Java进行MySql数据库的导入和导出
利用Java来进行Mysql数据库的导入和导出的总体思想是通过Java来调用命令窗口执行相应的命令. MySql导出数据库的命令如下: mysqldump -uusername -ppassword ...
随机推荐
- 服务器端-W3Chool:服务器脚本教程
ylbtech-服务器端-W3Chool:服务器脚本教程 1.返回顶部 1. 服务器脚本教程 从左侧的菜单选择你需要的教程! SQL SQL 是用于访问和处理数据库的标准的计算机语言. 在本教程中,您 ...
- Git - 对一组仓库进行配置
对一组仓库使用一套配置,另一组仓库使用另一套配置的需求也是有的,比如公司仓库的配置和我个人项目的仓库配置并不完全相同,每次都修改单个仓库的配置太麻烦并且可能会粗心忘改了以错误的配置进行提交,如何对一个 ...
- Jedis源码浅析
1.概述 Jedis是redis官网推荐的redis java client,代码维护在github https://github.com/xetorthio/jedis. 本质上Jedis帮我们封装 ...
- css之——div模拟textarea文本域的实现
1.问题的出现: <textarea>标签为表单元素,但一般用于多行文本的输入,但是有一个明显的缺点就是不能实现高度自适应,内容过多就回出现滚动条. 为了实现高度自适应:用div标签来代模 ...
- xmake从入门到精通10:多个子工程目标的依赖配置
xmake是一个基于Lua的轻量级现代化c/c++的项目构建工具,主要特点是:语法简单易上手,提供更加可读的项目维护,实现跨平台行为一致的构建体验. 本文主要详细讲解下,如果在一个项目中维护和生成多个 ...
- 用WebService实现对数据库进行操作(添加+删除+修改)(转)
转自:http://blog.csdn.net/beyondqd/article/details/6703169 表为User,字段有 编号: int id,用户名:string UserName,密 ...
- Linux操作系统目录一览表
/ // 根目录 /bin //存放必要的命令 比如ls.cp.mkdir等命令 /boot //存放内核以及启动所需的文件 /dev //存放硬件设备文件 比如声卡.磁盘.光驱 /etc //存放系 ...
- CVE 2019 0708 安装重启之后 可能造成 手动IP地址丢失.
1. 最近两天发现 更新了微软的CVE 2019-0708的补丁之后 之前设置的手动ip地址会变成 自动获取, 造成ip地址丢失.. 我昨天遇到两个, 今天同事又遇到一个.微软做补丁也不走心啊..
- [转帖]深入理解 MySQL—锁、事务与并发控制
深入理解 MySQL—锁.事务与并发控制 http://www.itpub.net/2019/04/28/1723/ 跟oracle也类似 其实所有的数据库都有相同的机制.. 学习了机制才能够更好的工 ...
- RabbitMq学习6-安装php-amqplib(RabbitMQ的phpAPI)
一.使用composer安装php-amqplib 1.在你的项目中添加一个 composer.json文件: { "require": { "php-amqplib/p ...