国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 數(shù)據(jù)庫(kù) > MySQL > 正文

淺談mysql 針對(duì)單張表的備份與還原

2024-07-24 13:12:34
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

A、MySQL 備份工具xtrabackup 的安裝

1. percona 官方xtrabackup 的二進(jìn)制版本;二進(jìn)制版本解壓就能用了。

2. 解壓xtrabackup & 創(chuàng)建連接

tar -xzvf percona-xtrabackup-2.3.4-Linux-x86_64.tar.gz -C /usr/local/
ln -s /usr/local/percona-xtrabackup-2.3.4 /usr/local/xtrabackup

3. 設(shè)置PATH環(huán)境變量
export PATH=/usr/local/xtrabackup/bin/:$PATH    

B、在mysql數(shù)據(jù)庫(kù)中創(chuàng)建一個(gè)用戶備份的用戶 & 授權(quán)

1. 創(chuàng)建用戶

        create user backuper@'localhost' identified by 'backup123';
        create user backuper@'127.0.0.1' identified by 'backup123';

2. 授權(quán)

grant reload,lock tables,replication client,process,super on *.* to 'backuper'@'localhost';
        grant create,insert,select on percona_schema.xtrabackup_history to 'backuper'@'localhost';
        grant reload,lock tables,replication client,process,super on *.* to 'backuper'@'127.0.0.1';
        grant create,insert,select on percona_schema.xtrabackup_history to 'backuper'@'127.0.0.1';

C、備份前的檢查,這一步的主要目地是在之后做還原操作時(shí),驗(yàn)證還原是不是有效;(生產(chǎn)是沒(méi)有這一步的,

1. select * from tempdb.dict__major;
   select * from dict__major;

        +--------------+-----------------+
        | column_value | column_mean     |
        +--------------+-----------------+
        |            1 | 漢語(yǔ)言文學(xué)      |
        |            2 | 精算            |
        |            3 | 生物制藥        |
        |            4 | 材料化學(xué)        |
        |            5 | 商務(wù)英語(yǔ)        |
        |            6 | 考古            |
        |            7 | 外交            |
        |            8 | 導(dǎo)游            |
        +--------------+-----------------+

D、備份tempdb.dict__major 表

1. 備份命令

innobackupex --host=127.0.0.1 --user=backuper --password=backup123 --port=3306 --include='tempdb.dict__major' /tmp/tempdb   

2. 備份完成后會(huì)在備份目錄(/tmp/tempdb) 下生成用當(dāng)前時(shí)間命名的目錄,里面保存的就是備份文件

        tree /tmp/tempdb/
        /tmp/tempdb/
        └── 2016-09-10_18-25-16
            ├── backup-my.cnf
            ├── ibdata1
            ├── tempdb
            │   ├── dict__major.frm
            │   └── dict__major.ibd
            ├── xtrabackup_binlog_info
            ├── xtrabackup_checkpoints
            ├── xtrabackup_info
            └── xtrabackup_logfile
           

E、備份完成后就可以刪除tempdb.dict__major表了(注意這里一定要保存一份表的定義,還原時(shí)會(huì)用到)

mysql>drop table tempdb.dict__major;

F、為了得到一個(gè)一致的備份集 在還原操作前還要進(jìn)行一次日志的前滾和回滾

1. 前滾&回滾日志

innobackupex --apply-log --export /tmp/tempdb/2016-09-10_18-25-16/ 

2.  與前滾& 回滾前的對(duì)比

        tree /tmp/tempdb/
        /tmp/tempdb/
        └── 2016-09-10_18-25-16
            ├── backup-my.cnf
            ├── ibdata1
            ├── ib_logfile0
            ├── ib_logfile1
            ├── tempdb
            │   ├── dict__major.cfg
            │   ├── dict__major.exp
            │   ├── dict__major.frm
            │   └── dict__major.ibd
            ├── xtrabackup_binlog_info
            ├── xtrabackup_binlog_pos_innodb
            ├── xtrabackup_checkpoints
            ├── xtrabackup_info
            └── xtrabackup_logfile
           

G、還原tempdb.dict__major表

1. 創(chuàng)建 tempdb.dict__major表

        create table dict__major(
        column_value tinyint not null,
        column_mean varchar(32) not null,
        constraint pk__dict__major primary key (column_value));

2. 刪除 tempdb.dict__major的表空間文件

alter table tempdb.dict__major discard tablespace;

3. 把備份中的表空間文件復(fù)制到tempdb.dict__major 表空間應(yīng)該在的位置

        cp /tmp/tempdb/2016-09-10_18-25-16/tempdb/dict__major.ibd /usr/local/mysql/data/tempdb/
        cp /tmp/tempdb/2016-09-10_18-25-16/tempdb/dict__major.exp /usr/local/mysql/data/tempdb/
        cp /tmp/tempdb/2016-09-10_18-25-16/tempdb/dict__major.cfg /usr/local/mysql/data/tempdb/
        chown -R mysql:mysql /usr/local/mysql/data/tempdb/*
       

4. 導(dǎo)入表空間文件

alter table tempdb.dict__major import tablespace;    

5. 查看dict__major表恢復(fù)情況

        select * from dict__major;
        +--------------+-----------------+
        | column_value | column_mean     |
        +--------------+-----------------+
        |            1 | 漢語(yǔ)言文學(xué)      |
        |            2 | 精算            |
        |            3 | 生物制藥        |
        |            4 | 材料化學(xué)        |
        |            5 | 商務(wù)英語(yǔ)        |
        |            6 | 考古            |
        |            7 | 外交            |
        |            8 | 導(dǎo)游            |
        +--------------+-----------------+

---------------------------------------------------------------

上一節(jié)用的是xtrabackup 對(duì)表進(jìn)行備份,它的應(yīng)用場(chǎng)景是單表的數(shù)據(jù)量大且在備份的過(guò)程中還要支持對(duì)表的寫操作;也就是說(shuō)在目前的場(chǎng)景下mysqldump 這個(gè)簡(jiǎn)單的

備份工具也是可以滿足要求的;


現(xiàn)給出mysqldump 備份的一般步驟

A:創(chuàng)建備份用戶

1.
        create user dumper@'127.0.0.1' identified by 'dumper123';
        grant select on *.* to dumper@'127.0.0.1';
        grant show view on *.* to dumper@'127.0.0.1';
        grant lock tables on *.* to dumper@'127.0.0.1';
        grant trigger on *.* to dumper@'127.0.0.1';
       

B:備份tempdb.dict__major表

1.
mysqldump --host=127.0.0.1 --port=3306 --user=dumper --password=dumper123 --quick tempdb dict__major >/tmp/tempdb.dict__major.sql
   

C: 刪除已經(jīng)備份的表

1.
mysql>drop table tempdb.dict__major;

D:還原tempdb.dict__major表

1.
mysql -uroot -pxxxxx -h127.0.0.1 -p3306 tempdb </tmp/tempdb.dict__major.sql     

E:檢證還原的有效性

1.
select * from dict__major;

        +--------------+-----------------+
        | column_value | column_mean     |
        +--------------+-----------------+
        |            1 | 漢語(yǔ)言文學(xué)      |
        |            2 | 精算            |
        |            3 | 生物制藥        |
        |            4 | 材料化學(xué)        |
        |            5 | 商務(wù)英語(yǔ)        |
        |            6 | 考古            |
        |            7 | 外交            |
        |            8 | 導(dǎo)游            |
        +--------------+-----------------+

以上這篇淺談mysql 針對(duì)單張表的備份與還原就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持VeVb武林網(wǎng)。


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到MYSQL教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 碌曲县| 襄城县| 鹤岗市| 莎车县| 共和县| 丽水市| 神农架林区| 布尔津县| 安仁县| 西丰县| 兰溪市| 建瓯市| 神农架林区| 天全县| 海丰县| 辉县市| 左云县| 化隆| 青州市| 泊头市| 噶尔县| 北海市| 邯郸县| 焦作市| 翁源县| 汝城县| 武汉市| 潜山县| 大连市| 江源县| 厦门市| 文成县| 抚州市| 盖州市| 隆尧县| 双鸭山市| 西安市| 屏东县| 滁州市| 绥棱县| 滦南县|