mysqldump备份之SQL格式
2016-11-17 21:31
106 查看
7.4 使用mysqldump进行备份 --------------------- dump file: 可以作為數據備份,以防止數據丟失; 主從複製的時候可以作為數據源; 可以用來做實驗: 作為數據庫的拷貝而不需要改動原來的數據; 測試可能的升級兼容性 根據是否指定--tab選項,mysqldump的輸出有2種類型 1、沒有--tab,mysqldump將SQL語句寫到標準輸出。 輸出由CREATE語句(創建dumped 對象-數據庫、表等等)和SELECT語句(將數據加載到表裡邊)組成; 可以把輸出保存到文件裡邊,之後可以讓mysql重建dumped 對象; 有一些選項可以用於修改SQL語句的格式、控制哪些對象需要dump; 2、使用了--tab選項,mysqldump為每一個dumped的表創建2個輸出文件; 服務器將寫一個tab-delimited text file(製表符分割文本文件)--“表中每一行數據占一行的文件”;這個文件被命名為tbl_name.txt,放到輸出目錄; 服務器也會為mysqldump操作的表發送一條CREATE TABLE 語句,這條語句將會在輸出目錄創建一個名為tbl_name.sql的文件; 7.4.1 使用mysqldump將數據以SQL格式進行dump ++++++++++++++++++++++ 在默認情況下,mysqldump將以SQL格式將信息寫到標準輸出;我們可以將輸出保存到文件裡邊; shell> mysqldump [arguments] > file_name 使用--all-databases選項來dump所有的數據庫: shell> mysqldump --all-databases > dump.sql 使用--databases選項來dump指定的數據庫: shell> mysqldump --databases db1 db2 db3 > dump.sql --databases這個選項是的命令行中的所有名字(上面這個例子中:db1 db2 db3)都被當做數據名; 如果不指定這個選項,命令行中的第一個名字(上面這個例子中的db1)被當做數據庫的名字,其他的(上面這個例子中的db2和db3)被當做表的名字; 使用了--all-databases或者--databases選項的時候,對於每一個操作到的數據,mysqldump在dump output之前會寫CREATE DATABASE和USE語句; 這樣可以保證在重新載入dumped文件的時候,如果數據庫不存在,那麼將會被創建; 並且將它作為默認的數據庫,這樣數據就會被重新載入到對應的數據(就是說,保證了數據從哪個數據來還到哪個數據庫去) 如果想要在重建數據庫之前強制刪除每一個數據庫,使用--all-drop-databases選項; 這樣的話,mysqldump在每一個CREATE DATABASE語句之前寫一個DROP DATABASE語句; 想要dump某一個數據庫,可以在命令行指定它的名字: shell> mysqldump --databases test > dump.sql 對於只dump一個數據庫的情況,--all-databases選項可以省略掉: shell> mysqldump test > dump.sql 在這種情況下,dump的輸出文件裡邊沒有CREATE DATABASE和USE語句,這樣做有下面這些影響: 1、在重新載入的時候,我們必須指定一個數據庫,這樣,服務器才知道將數據導入到哪一個數據庫; 2、在重新載入的時候,指定的數據庫名字可以和之前(導出的時候)的數據庫名字不一樣; 3、如果導入數據的時候,數據庫不存在,我們必須先創建出來; 4、因為沒有了CREATE DATABASE語句,所以--all-drop-databases選項就沒用;如果使用的話,將不會生成DROP DATABASE語句; 如果只是想要dump出某一個數據的指定的表,可以在命令行中,將表的名字寫到數據庫後面: shell> mysqldump test t1 t3 t7 > dump.sql 7.4.2 重新載入SQL格式的備份數據 ++++++++++++++++++++++ 想要重新載入由mysqldump寫的由SQL語句組成的dump文件的時候,將這個文件作為mysql客戶端的輸入; 如果dump文件是使用--all-databases或者--databases選項創建的,它會包含CREATE DATABASE和USE語句,那麼我們導入dump文件的數據的時候就不用指定數據庫; shell> mysql < dump.sql 另一種可選方法,進入mysql,使用source命令: mysql> source < dump.sql 如果dump的文件是一個“單數據庫”(沒喲CREATE DATABASE和USE語句),可能需要先創建數據庫: shell> mysqladmin create db1 shell> mysql db1 < dump.sql 另一種可選的方法: mysql> CREATE DATABASE IF NOT EXISTS db1; mysql> USE db1; mysql> source dump.sql ++++++++++++++++++++++
相关文章推荐
- MariaDB 10 mysqldump备份sql文件导入报错一则
- Linux下通过mysqldump备份MySQL数据库成sql文件
- 提供三万单词库备份下载,MS-SQL 2000格式,下载请“自觉”捐赠可用分给我。
- oracle执行sql plus导入dmp格式数据备份
- 解决mysqldump备份报错:SET OPTION SQL_QUOTE_SHOW_CREATE=1
- 【SQL】MySQL之使用mysqldump全备份及恢复过程详解
- 【mysql】备份篇1:使用系统计划任务+mysqldump 定时备份mysql数据库 不用输入密码自动导出sql文件
- PL/SQL DEVELOPER 6 模板格式设计应用指南(原译)
- MySQL数据备份之mysqldump的使用详解
- PL/SQL DEVELOPER 6模板备份与迁移(原创)
- 关于SQL的若干问题:备份,更改SA用户密码,添加用户,连接失败,服务不能开启等
- SQL异地备份
- 使用SQL语句对Access数据库进行备份
- 用Sql语句生成Sqlserver数据字典(备份)
- asp实现sql的备份与恢复
- SQL 数据备份
- SQL Server中也用格式字符串定制日期转换为字符串
- 存储过程备份SQL日志
- VB.NET DMO SQL SERVER备份恢复
- MySql数据库备份mysqldump参数选项