您好,登錄后才能下訂單哦!
MySQL備份的原因
1. 災難恢復 2. 審計 3. 測試1234512345
mysql的備份類型
1. 根據服務器的在線狀態: 熱備:服務器處于運行狀態 冷備:服務器出去停止狀態 溫備:服務器處于半離線狀態,只能讀,但是不能寫 2. 根據備份的數據集: 完全備份:備份整個數據庫 部分備份:備份某個表 3. 根據備份時的接口: 物理備份:直接將數據庫文件從磁盤上復制出來 邏輯備份:把數據從數據庫中提取出來備份成文本文件 4. 根據數據量進行備份: 完全備份:備份從創建數據庫到目前為止的數據 增量備份:備份從上次進行完全備份結束到目前為止的數據 差異備份:1234567891011121314151612345678910111213141516
MySQL備份對象
數據+配置文件+代碼(存儲過程等)+os相關的配置文件(如crontab配置計劃及腳本)11
使用mysqldump工具進行數據備份和恢復
1. mysqldump命令格式 a.備份多個或者一個數據庫 mysqldump [option] --database db_name1 db_name2... b.備份某個數據庫中的某張表 mysqldump [option] db_anme table1 tables2 ... c.備份全部數據庫 mysqldump [option] --alldatabases 2. option -u user:指定以哪個用戶的身份進行備份 -p password:指定用戶的密碼 -h host:指定備份的數據庫 --local-all-tables:請求鎖住所有備份的表 --local-tables:備份那張表鎖住那張表 --single-transaction:能夠對InnoDB存儲引擎實現熱備。(不常用) --events:備份事件調度器 --routines:備份存儲過程和存儲函數 --triggers:備份觸發器 --flush-log:備份前,請求到鎖之后滾動日志 3. 常用備份格式 mysqldump -uroot -p -h --database|db_name|--all-databases db_name|table --local-tables --flush-log 4. 恢復備份 a.關閉當前session的sql_log_bin b.mysql<source /path/*.sql c.開啟二進制文件日志1234567891011121314151617181920212223242526272829303112345678910111213141516171819202122232425262728293031
mysqldump備份測試
備份數據庫wordpress 庫中表的列表 mysql> show tables; +-----------------------+ | Tables_in_wordpress | +-----------------------+| wp_commentmeta || wp_comments || wp_links || wp_options || wp_postmeta || wp_posts || wp_term_relationships || wp_term_taxonomy || wp_termmeta || wp_terms || wp_usermeta || wp_users |+-----------------------+12 rows in set (0.00 sec)1234567891011121314151617181920212212345678910111213141516171819202122
備份整個數據庫
還原剛才備份的數據庫
使用xtrabackup工具進行備份
1. 下載安裝xtrabackup [root@www ~]# wget https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.7/binary/redhat/6/x86_64/percona-xtrabackup-24-2.4.7-1.el6.x86_64.rpm [root@www ~]# wget http://dl.fedoraproject.org/pub/epel/6/x86_64//libev-4.03-3.el6.x86_64.rpm [root@www ~]# yum install libev-4.03-3.el6.x86_64.rpm [root@www ~]# yum install --skip-broken percona-xtrabackup-24-2.4.7-1.el6.x86_64.rpm 2. 備份后生成的文件 xtrabackup_checkpoints:記錄備份類型,備份狀態,lsn(日志序列號)等信息。 xtrabackup——binary:備份中用到的xtrabackup的可執行文件 xtrabackup_binlog_info:當前服務器正在使用的二進制日志文件及備份道這一刻的時間位置 xtrabackup_binlog_pos_innodb:二進制文件的但前position backup_my.cnf:備份命令用到的配置選項信息。12345678910111213141234567891011121314
1. 完全備份和恢復
格式:>innobackupex --user= --password= --apply-log /path/to/back_dir/結果:completes ok!1212
測試完整備份數據庫
測試恢復
格式: >innobackupex --user= --password= --copy-back /path/to/back_dir/1212
創建新文件講原有數據庫全部移到目錄下
恢復
增量備份
格式: #innobackupex --incremental /path/to/back_dir --incremental-basedir=以那個備份文件偽基礎 還原:將增量備份整合道完全備份上去 先準備完全備份: #innobackupex --apply-log --redo-only 完全備份路僅(base-dir) 在準備第一次增量備份: #innobackupex --apply-log --redo-only base-dir --incremental-dir=one_base_dir 在準備第二次增量備份: #innobackupex --apply-log --redo-only base-dir --incremental-dir=two_base_dir .. .. 。 恢復: >innobackupex --copy-back base-dir12345678910111213141234567891011121314
a.第一次完整備份
操作數據庫增加數據
第一次增量備份
準備完全備份
準備第一次增量備份文件
恢復
結果
xtrabackup進行表的導入和導出
在進行表的導出時,需要啟用服務器的innodb_file_per_table這個選項。 在進行表的導入時,需有啟用服務器的innodb_file_per_table和innodb_expand_import選項 導出表 innobackupex --apply-log --export /path/base_dir 此命令會為每個innodb表空間創建一個.exp結尾的文件,這個文件可以導入其他服務器 導入表: 1,在服務器上創建一個與此結構相同的表。 2,然后刪除此表的表空間: alter table 表 discard tablespace; 3,將.exp文件復制到數據庫服務器的數據目錄中,然后進行一下命令: alter table 表 import tablespace;
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。