速查表之mysqldump

2021-10-08 13:23:13 字數 1439 閱讀 1444

環境

基於docker的mysql 5.7.26

mysqldump 使用

引數說明

-h指定ip

-p指定埠

-u指定使用者名稱

-p指定密碼

-a備份所有表

-q備份的資料直接dump到標準輸出,不經過buffer

-b帶上-b引數備份時,會加上建庫語句, 可以直接還原,不用指定資料庫

備份資料庫到bak.sql

$ docker exec -it dc_mysql_1 bash

$ mysqldump -q -c \

-h127.0.0.1 -p3306 \

--single-transaction --flush-logs --master-data=2 \

-uroot -proot -b 庫名 > ./bak.sql

從bak.sql恢復到mysql
mysql -uroot -proot < ./bak.sql
–master-data=1 會在備份檔案中生成記錄position位置的sql,未注釋狀態,多使用在建立主從的資料庫中

–master-data=2 單純為了記錄備份時的二進位制日誌檔案位置,sql呈顯注釋狀態

–flush-logs 為結束當前日誌,生成新日誌檔案

–single-transaction 當前會話事務隔離級別設定為"可重讀"

–routines選項:表示備份時,儲存過程和儲存函式也會被備份。

–triggers選項:表示備份時,觸發器會被備份。

–events選項:表示備份時,事件表會被備份。

一致性讀:

在可重讀(rr)級別下,開啟事務 start transaction使用with consistent snapshot子句,相當前start transaction+select,其它的dml操作不會影響到開啟事務之前的資料.

該事務內獲取到的資料與事務開始時間點一致

增量恢復

mysqlbinlog把多個二進位制檔案解析 管道傳輸給mysql處理, -v顯示執行日誌

$ mysqlbinlog binlog_files binlog_files_1 | mysql -u root -p  -v
追加binlog_files_1 到binlog_files,合併為乙個檔案

$ binlog_files_1.sql >> binlog_files.sql
增量恢復
$ mysqladmin -u root -p flush-logs  #生成二進位制檔案

cp前乙個檔案,儲存之

mysqldump: error: binlogging on server not active

在mysql主從結構,在從庫使用mysqldump備份時,出現此提示,

markdown語法速查表

markdown 語法速查表 這是 h1 一級標題 這是 h2 二級標題 這是 h6 六級標題 這是 h6 六級標題 這是文字粗體格式 這是文字斜體格式 在文字上新增刪除線 這是文字粗體格式這是文字斜體格式 在文字上新增刪除線 專案1 專案2 專案3 1.專案1 2.專案2 3.專案3 專案1 專案...

Python 基礎速查表

資料型別 integer 256,15 float 253.23,1.253e 10 string hel lo goodbye mul til ine boolean true,false list value,tuple value,dictionary set 語句if 語句 if expre...

vim指令速查表

命令 描述vim filename 開啟或新建檔案,並將游標置於第一行首 vim n filename 開啟檔案,並將游標置於第n行首 vim filename 開啟檔案,並將游標置於最後一行首 vim pattern filename 開啟檔案,並將游標置於第乙個與pattern匹配的串處 vim...