日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql 备份工具xtrabackup全备与还原图解

發(fā)布時(shí)間:2024/9/27 数据库 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql 备份工具xtrabackup全备与还原图解 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

? ? ? ? ? ? ? ? ? ? ? ? ? ?

目錄

? ? ? ? ? ? ? ? ? ? ? ? ? ?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?xtrabackup備份還原圖解

聲明

準(zhǔn)備

驗(yàn)證思路

用戶賦權(quán)

備份前狀態(tài)

全備

還原

還原前

還原中

還原后

問題數(shù)據(jù)目錄不為空


? ? ? ? ? ? ? ? ? ? ? ? ? ?xtrabackup備份還原圖解

聲明

本文的數(shù)據(jù)來自網(wǎng)絡(luò),部分代碼也有所參照,這里做了注釋和延伸,旨在技術(shù)交流,如有冒犯之處請聯(lián)系博主及時(shí)處理。

XtraBackup是Percona?提供的免費(fèi)、在線、開源、完整的數(shù)據(jù)庫備份解決方案,適用于所有版本的Percona Server for MySQL和MySQL。Percona XtraBackup在事務(wù)系統(tǒng)上執(zhí)行在線非阻塞、緊致壓縮、高度安全的完整備份。

: 當(dāng)前驗(yàn)證環(huán)境CentOS 8 X86 64、mysql 8.0.23、XtraBackup 8.0.23-16

準(zhǔn)備

驗(yàn)證思路

1 對當(dāng)前數(shù)據(jù)庫進(jìn)行全備

2 全備后往某個(gè)表插入一條記錄并提交事物

3 以全備還原,查驗(yàn)數(shù)據(jù)庫是否還原到插入數(shù)據(jù)前的狀態(tài)

用戶賦權(quán)

-- 創(chuàng)建用戶并備份相關(guān)賦權(quán) create user 'mysqlbak'@'localhost' identified by 'root@1234T5'; GRANT SELECT, BACKUP_ADMIN, RELOAD, PROCESS, SUPER, REPLICATION CLIENT ON *.*TO `mysqlbak`@`localhost`; GRANT CREATE, INSERT, DROP, UPDATE ON mysql.backup_progress TO 'mysqlbak'@'localhost'; GRANT CREATE, INSERT, DROP, UPDATE, SELECT, ALTER ON mysql.backup_history TO 'mysqlbak'@'localhost';

備份前狀態(tài)

-- 創(chuàng)建初始化示例表并查看當(dāng)前備份前數(shù)據(jù)情況 CREATE TABLE `test_04251019` (`id` int DEFAULT NULL,`name` varchar(10) DEFAULT NULL,`addr` varchar(12) DEFAULT NULL,`memo` varchar(40) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8;INSERT INTO `test_04251019` VALUES ('1', 'hanmeimie', 'Guangzhou', 'Fullbakup'); INSERT INTO `test_04251019` VALUES ('2', 'lilei', 'Guangzhou', 'in increament'); INSERT INTO `test_04251019` VALUES ('4', 'Tom', 'Shanghai', 'no more'); INSERT INTO `test_04251019` VALUES ('5', 'John', 'Shanghai', 'no more_5'); INSERT INTO `test_04251019` VALUES ('5', 'Jim', 'Shanghai2', 'no more_5_2'); COMMIT; select * from test_04251019;

全備

#以mysqlbak用戶將當(dāng)前數(shù)據(jù)庫備份到指定目錄下。 xtrabackup --user=mysqlbak --password='root@1234T5' --backup --target-dir=/root/workspace/mysqlbackup/XtraBack_base/

還原

還原前

-- Step 1 :插入新數(shù)據(jù)對比 -- 還原前先在trial數(shù)據(jù)庫里往test_04251019表里插入一條記錄、來與還原前的數(shù)據(jù)庫進(jìn)行對比。具體腳本見下: INSERT INTO test_04251019 VALUES(6,'doris','Hefei','After XtraBack'); COMMIT; SELECT * FROM test_04251019;

#Step 2 :關(guān)閉數(shù)據(jù)庫 mysqladmin -uroot -p'root1234' shutdown#Step 3 :備份數(shù)據(jù)文件 mv /data/mysql /data/mysql_0429

還原中

#Step 1 :預(yù)恢復(fù)數(shù)據(jù)庫 xtrabackup --prepare --target-dir=/root/workspace/mysqlbackup/XtraBack_base/

#Step 2: 創(chuàng)建數(shù)據(jù)目錄 mkdir -p /data/mysql#Step 3: 還原數(shù)據(jù)庫 xtrabackup --copy-back --target-dir=/root/workspace/mysqlbackup/XtraBack_base/

: 1 這里數(shù)據(jù)目錄/data/mysql需事先為空。

? ? ? ? 2 通過show variables查看數(shù)據(jù)目錄的命令

-- 查看數(shù)據(jù)目錄的位置 SHOW VARIABLES LIKE 'datadir';

#Step 4 賦權(quán)數(shù)據(jù)文件mysql用戶能訪問。 chown -R mysql:mysql /data/mysql #注:如果這里不賦權(quán),后續(xù)mysq數(shù)據(jù)庫重啟時(shí)會(huì)報(bào)錯(cuò)。

還原后

#Step 1 重啟mysql數(shù)據(jù)庫服務(wù) service mysqld start#Step 2 還原前后對比 還原前
還原后

?由此可見數(shù)據(jù)庫已經(jīng)還原到之前備份時(shí)的狀態(tài)。

問題

數(shù)據(jù)目錄不為空

Issue 1:該問題是因?yàn)檫€原數(shù)據(jù)庫時(shí)原有的數(shù)據(jù)目錄未清空。

解決方法:清空原有數(shù)據(jù)目錄里的內(nèi)容。

總結(jié)

以上是生活随笔為你收集整理的mysql 备份工具xtrabackup全备与还原图解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。