mysql系列2 mysqldump邏輯備份

2021-07-10 04:14:22 字數 1925 閱讀 5102

1,導庫命令:mysqldump -uroot -p dbname>bak.sql

-b引數:連線多個庫,使用它可匯出多個庫,並且會匯出建立db,use db等語句 

-a引數:備份mysql中所有的庫

-- compact引數:去掉匯出sql中的注釋,減少輸出,除錯時方便使用

使用gzip對備份資料進行壓縮 mysqldump -uroot -p dbname|gzip>bak.sql.gz

多庫備份:mysqldump -uroot -p -b dbname1 [dbname2...]>bak.sql

分庫備份:先構造出命令,再利用bash執行(不常用)

mysql -uroot -ppass -e "show databases"|grep -evi "database|infor|perfor"|sed -r 's#^([a-z].*$)#mysqldump -uroot -ppass -b \1|gzip>/opt/\1.sql.gz #g'|bash

2,導表命令:mysqldump -uroot -p dbname tname1 [tname2...]>bak.sql

只備份表結構:-d 引數

只備份資料:-t 引數

備份時鎖表:-x 

備份時鎖表唯讀:-l

重新整理binlog引數:-f

--master-data引數:

等於1時,在匯出的檔案中記錄當前匯出的資料在binlog中的哪個檔案哪個位置,但語句是不注釋的,恢復時需要手動除了恢復dump檔案之外還需要從binlog中的記錄位置進行增量恢復

等於2時,在匯出的檔案中記錄當前匯出的資料在binlog中的哪個檔案哪個位置,語句是注釋的,這樣從庫恢復時會自動從binlog中尋找位置增量恢復

innodb事務資料庫備份引數:--single-transaction(鎖表),

推薦使用的生產備份命令

mysqldump -user=root -a -b --single-transaction --master-data=1 --events|gzip>backup_timestamp.sql

3,source恢復資料

登入資料庫後執行:source /path/bak.sql

show status 檢視當前會話的資料庫狀態資訊

show full processlist 檢視正在執行的完整sql語句

show global status 檢視整個資料庫狀態資訊,可用作監控

show variables 檢視資料庫的引數資訊

4,mysqlbinlog命令解析mysql binlog日誌,匯出sql

mysql-bin.index記錄了所有的mysql的binlog檔案 

mysql binlog日誌: 用來記錄mysql內部增刪改等對資料庫有更新的內容,如:mysql-bin.000001(預設位置在

/var/lib/mysql/)

mysqlbinlog mysql-bin.000001

檢視修改的記錄

從binlog中拆庫(只檢視某乙個庫的記錄) : -d

mysqlbinlog -d dbname mysql-bin.000001>bak.sql

指定開始與結束位置恢復:

mysqlbinlog mysql-bin.000001 --start-position=123--stop-position=456 -r bak.sql 

指定開始與結束時間恢復(但同一時間可能包括不想恢復的資料變更):

mysqlbinlog mysql-bin.000001 --start-datetime=『2015-12-1200:00:00『 --stop-datetime=』2015-12-13 00:00:00『 -r bak.sql 

MySQL資料的匯出和匯入 mysqldump

ysql環境變數設定,將 mysql home 下的mysql server 5.1 bin放到path下。mysql的mysqldump工具,基本用法是 shell mysqldump options database tables 通過執行mysqldump help,得到當前mysqldump...

移動應用開發系列 2 mysql

經過一番折騰,apache終於能使用了,接下來記錄下mysql的常用命令。環境 ubuntu 10.04lts mysql 5.1.73 1.安裝登入 sudo apt get install mysql server sudo apt get install mysql admin 控制台程式 s...

MySQL事物系列 2 事物的實現

1 事物的隔離性由鎖來實現。事物的永續性和事物的原子性通過redo log來實現。事物的一致性通過undo log來實現。redo log恢復提交事物修改的頁操作 undo log回滾到行記錄某個特定版本。redo通常是物理日誌,記錄的是頁的修改操作 undo是邏輯日誌,根據每行記錄進行記錄。2 r...