mysql事件備份 MySQL三種備份

2021-10-17 11:41:31 字數 1778 閱讀 6898

一)備份分類

二)備份工具mysqldump講解

mysqldump三種備份方式:

第一種:

備份:[root@station141 ~]# mysqldump --databases benet > /tmp/benet.sql

mysql> unlock tables;解鎖

mysql> drop database benet;刪除庫

query ok, 1 row affected (0.70 sec)

恢復

第二種方式備份:

mysqldump --databases benet --lock-all-tables --flush-logs > /tmp/benet.sql直接備份的

第三種方式備份:主要是針對innodb引擎備份,實現熱備。

mysqldump --databases benet --single-transactions --flush-logs > /tmp/benet.3.sql

備份所有資料庫

mysqldump --all-databases > /tmp/all.sql

xtrabackup備份工具使用如下:

yum -y install percona-xtrabackup-2.1.8-733.rhel6.x86_64.rpm

yum -y install percona-toolkit-2.2.7-1.noarch.rpm

備份全部資料庫:

innobackupex --user=root /myback

恢復資料庫

innobackupex --copy-back /mydata/2014-04-14_23-39-44/根據全備份恢復資料

做增量備份

innobackupex --incremental /mydata/ --incremental-basedir=/mydata/2014-04-14_23-39-44/

基於上次的全備做

檢視是增量備份

恢復增量備份,依次先恢復,全備,後增量

lvm-snapshot:基於lvm快照備份

大致步驟:

1)事務日誌跟資料檔案必須在同乙個卷上

2)建立快照卷之前,要請求mysql的全域性鎖,在快照建立完成之後釋放鎖

3)請求全域性鎖完成之後,做一次日誌滾動;做二進位制日誌及位置標記(手動進行);

安裝資料庫的時候先建立好個邏輯卷,安裝目錄為/mnt下。

請求全域性鎖,滾動日誌

mariadb [(none)]> flush tables with read lock;

mariadb [(none)]> flush logs;

記錄二進位制日誌位置

mysql -e 'show master status' > mysql.txt

建立快照

[root@localhost ~]# lvcreate -l 1g -s -n mydata-snap -p r /dev/myvg/mydata

解鎖mariadb [(none)]> unlock tables;

掛載快照並且備份

mount /dev/myvg/mysql-snap /media/

tar -jcf /tmp.mysq.tar.xz /media/*

解除安裝並刪除快照

mysql備份 MySQL備份指令碼

第乙個指令碼 bin bash mysql備份指令碼bak dir data backup date y m d mysqldb 資料庫名mysqluser 使用者mysqlpwd 密碼mysqlcmd usr bin mysqldumpmysqlser 資料庫伺服器mysqlport 埠if d ...

mysql月備份 MySQL 備份

備份資料庫 匯出全部資料庫 all databases,a 匯出幾個資料庫。引數後面所有名字參量都被看作資料庫名 databases,b 匯出儲存過程以及自定義函式 routines,r 匯出事件 events,e 不緩衝查詢,直接匯出到標準輸出。預設為開啟狀態,使用 skip quick取消該選項...

mysql不能備份 mysql不能備份

備份資料,但出現了錯誤 mysqldump uroot p123 d ct problem home mariadb problem.sql 提示如下錯誤 mysqldump got error 2002 can t connect to local mysql server through soc...