mysql的邏輯備份
Mysql物理備份可以利用mysqldump工具來備份相應的資料庫的文字資料,其命令相對也很簡單。
C:Userspc>mysqldump
-help
Usage: mysqldump
[OPTIONS] database [tables]
OR mysqldump [OPTIONS] --databases [OPTIONS]
DB1 [DB2 DB3...]
OR mysqldump [OPTIONS] --all-databases
[OPTIONS]
For more options,
use mysqldump --help
例如備份xiaoyu的tab02表
C:Userspc>mysqldump
-u root -p xiaoyu tab02 >f:tab02.txt
Enter password:
******
備份xiaoyu的tab02和tab01的表
C:Userspc>mysqldump
-u root -p xiaoyu tab02 tab01 >f:tab02.txt
Enter password:
******
備份xiaoyu這個database
C:Userspc>mysqldump
-u root -p xiaoyu >f:tab02.txt
Enter password:
******
備份相應的條件的資料文字記錄
C:Userspc>mysqldump
-u root -p xiaoyu t_qury01 --where='id=3' > f:test01.txt
Enter password:
******
Mysqldump還可以使用—no-data不匯出建表語句,只匯出文字檔案資料;--no-create-info不匯出rows,只匯出建表的ddl語句, .
-master-data或者--master-data=2時mysqldump會將當前mysql使用的binlog日誌的名稱和位置記錄到dump檔案中,並且是以change_master語句的形式,--master-data=1將會把change-master以註釋的形式存在,這些資訊可以在實施slave線上搭建時有用。即使不搭建slave也可以在某些情況下利用binlog做進一步恢復。
當然這些dump檔案都是ddl和dml的文字檔案,可以擴平臺遷移,同樣mysql也提供了純文字的檔案備份,簡而言之就是資料來源。
C:Userspc>mysqldump
-u root -p -T f:app xiaoyu tab02 --fields_terminated_by=,
--fields_enclosed_by="
Enter password:
******
這樣就會在f:app目錄下生成一個tab02.sql的ddl檔案和tab02.txt存檔案檔案,tab02.txt也就是資料來源。
也可以先進入到mysql資料庫中,用如下形式匯出文字檔案的資料來源,不過疑惑的是該命令在linux環境下正常執行,在windows環境下居然抱許可權不足,無法寫入。
mysql> select *
into outfile '/tmp/test01.txt'
-> fields terminated by ',' enclosed by
'"'
-> from userinfo limit 10;
那麼相對的邏輯備份的恢復就很簡單了,ddl和dml的文字檔案可以用如下方式:
Source path和myql –u root –p <
/tmp/test01.txt恢復即可。
這裡順便提一下對於mysql的邏輯備份和恢復的理解,由於邏輯備份時是一個一個表的備份,就有可能造成資料的不一致,有些應用可能影響不大但是對於關係比較嚴格的系統就不能忽略了,可以在備份開始時採取lock table(針對所有儲存引擎)或者—single_transaction的形式來備份,前者lock table write只提供讀取功能,後者是利用innodb等儲存引擎的事務一致性來實現的。
資料來源方式的邏輯恢復也相對簡單,這裡個人一般使用如下方式:
[root@Analyser ~]#
mysqlimport -u root -p cobra --fields_terminated_by=,
--fields_optionally_enclosed_by=" /tmp/userinfo.txt
注意再測試mysqlimport過程中,如果該表有索引資訊,那麼用mysqimport 資料來源很可能會出現
mysqlimport: Error:
1062, Duplicate entry '0' for key 'SYS_C009326', when using table: userinfo
此時是因為索引造成,採取的truncate表後然後倒入資料來源正常。
雖然資料來源檔案佔用空間小,但是還是推薦使用mysqldump的形式來進行邏輯備份,簡單而且命令相對來說比較容易記憶。
[@more@]
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25362835/viewspace-1058999/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Mysql備份與恢復(2)---邏輯備份MySql
- 圖解MySQL邏輯備份的實現流程圖解MySql
- openGauss-邏輯備份
- MySQL備份與恢復——基於MyDumper/MyLoader 邏輯備份恢復MySql
- MySQL備份與恢復——基於OUTFILE /LOAD DATA 邏輯備份恢復MySql
- MongoDB 邏輯備份工具mongodumpMongoDB
- expdp 邏輯備份指令碼指令碼
- MySQL鎖(一)全域性鎖:如何做全庫的邏輯備份?MySql
- oracle邏輯備份之--資料泵Oracle
- MySQL5.7 透過邏輯備份遷移到GreatSQL注意事項MySql
- mysql 開發進階篇系列 42 邏輯備份與恢復MySql
- MySQL 官方出品,比 mydumper 更快的多執行緒邏輯備份工具-MySQL Shell Dump & LoadMySql執行緒
- 阿里面試官:知道 MySQL 邏輯備份與恢復測試麼?阿里面試MySql
- 達夢DM備份恢復(物理和邏輯)
- Oracle邏輯備份與恢復選項說明Oracle
- Oracle資料庫的邏輯備份工具-expdp資料泵Oracle資料庫
- PostgreSQL邏輯備份pg_dump使用及其原理解析SQL
- Greenplum邏輯備份增強-備份期間不鎖metadata(pg_class),不堵塞DDL
- mysql的冷備份與熱備份MySql
- 11 管理邏輯備庫
- LightDB-Oracle和LightDB邏輯備份測試對比(十二)Oracle
- postgresql從入門到精通教程 - 第36講:postgresql邏輯備份SQL
- MySQL的冷備份和熱備份概念理解(轉)MySql
- MySQL:xtrabackup備份MySql
- Java備份MySQLJavaMySql
- Mysql備份系列MySql
- MySQL update ...set後的and寫法的邏輯MySql
- Mysql備份與恢復(1)---物理備份MySql
- 初探MySQL資料備份及備份原理MySql
- PostgreSQL邏輯備份恢復--pg_dump匯出及psql匯入案例SQL
- MySQL備份與主備配置MySql
- MySQL提升筆記(1):MySQL邏輯架構MySql筆記架構
- 【MySQL】MySQL備份和恢復MySql
- MySQL資料備份MySql
- mysql備份指令碼MySql指令碼
- MySQL 定時備份MySql
- mysql5.5.20備份MySql
- mysql每日備份for LinuxMySqlLinux
- Mysql備份恢復MySql