一)備份分類
二)備份工具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...