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

歡迎訪問(wèn) 生活随笔!

生活随笔

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

数据库

Mysqlbackup备份还原初识

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

? ? ? ? ? ? ? ? ? ? ? ? ? ?Mysqlbackup 8.0.23 備份還原圖解

Mysqlbackup簡(jiǎn)介

mysqlbackup是mysql 企業(yè)版里的一個(gè)數(shù)據(jù)庫(kù)備份還原工具。它是一個(gè)多平臺(tái),高性能的工具,提供豐富的功能,如熱(在線)備份,增量和差異備份,選擇性備份和恢復(fù),支持直接的云存儲(chǔ)備份,備份加密和壓縮等

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

配置環(huán)境變量?

# 編輯用戶環(huán)境變量 vi ~/.bashrc #新增如下內(nèi)容(export MYSQLBACKUP...、${MYSQLBACKUP}/bin:): export MYSQLBACKUP=/root/softwares/mysql/mysqlbackup/mysql-commercial-backup-8.0.23-linux-glibc2.12-x86_64/bin export PATH="${MYSQLBACKUP}/bin:$PATH:/opt/mssql-tools/bin" source ?~/.bashrc#驗(yàn)證是否可以直接使用mysqlbackup命令 mysqlbackup --help | wc -l

備份前準(zhǔ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_historyTO 'mysqlbak'@'localhost';

數(shù)據(jù)庫(kù)全備

# 對(duì)數(shù)據(jù)庫(kù)進(jìn)行全備 cd /root/softwares/mysql/mysqlbackup/mysql-commercial-backup-8.0.23-linux-glibc2.12-x86_64/bin./mysqlbackup --user=mysqlbak --password='root@1234T5' --socket=/var/lib/mysql/mysql.sock --backup-image=/root/workspace/mysqlbackup/bakSpace/mysqlbak_20210423.mbi --backup-dir=/root/workspace/mysqlbackup/bakSpace backup-to-image

:可將mysqlbackup配置到環(huán)境變量里,當(dāng)前演示環(huán)境未配置。

備份文件校驗(yàn)

#通過(guò)校驗(yàn)命令查看備份的文件是否損壞。./mysqlbackup --backup-image=/root/workspace/mysqlbackup/bakSpace/mysqlbak_20210423.mbi validate

備份內(nèi)容查看

#查看備份的內(nèi)容./mysqlbackup --backup-image=/root/workspace/mysqlbackup/bakSpace/mysqlbak_20210423.mbi list-image

數(shù)據(jù)庫(kù)還原

還原前

-- 還原前先在trial數(shù)據(jù)庫(kù)里往tmp_test表里插入一條記錄、創(chuàng)建新表tmp_newOne以做還原的對(duì)比。具體腳本見(jiàn)下: use trial; SELECT * FROM tmp_test; INSERT INTO tmp_test VALUES(3,'Afterbak'); COMMIT;CREATE TABLE tmp_newOne(id int);

?

還原中

# Step 1: 關(guān)閉數(shù)據(jù)庫(kù) mysqladmin -uroot -p'root1234' shutdown# Step 2: 還原 ./mysqlbackup --defaults-file=/etc/my.cnf --user=mysqlbak --backup-image=/root/workspace/mysqlbackup/bakSpace/mysqlbak_20210423.mbi --backup-dir=/root/workspace/mysqlbackup/bakSpace_restore --datadir=/data/mysql --force copy-back-and-apply-log

:這里因?yàn)槭怯迷瓉?lái)的數(shù)據(jù)目錄,所以加了參數(shù)--force
?

#Step 3 賦權(quán)數(shù)據(jù)文件mysql用戶能訪問(wèn)。 chown -R mysql:mysql /data/mysql

:如果這里不賦權(quán),后續(xù)mysq數(shù)據(jù)庫(kù)重啟時(shí)會(huì)報(bào)錯(cuò),詳見(jiàn)問(wèn)題處分析。

還原后

Step 1 重啟mysql數(shù)據(jù)庫(kù)服務(wù)

#重啟mysql數(shù)據(jù)庫(kù) service mysqld start

Step 2 還原前后對(duì)比

還原前:

還原后:

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

問(wèn)題

版本兼容

Issue 1:該問(wèn)題是因?yàn)閙ysqlbackup與mysql版本不一致,這里需要嚴(yán)格保證兩軟件的版本號(hào)一致(大小版本都得一致)。

解決方法: 1 下載與mysql適配的mysqlbackup

? ? ? ? ? ? ? ? ? ?2 如果mysqlbackup版本較高,升級(jí)mysql來(lái)適配。

備份時(shí)權(quán)限不足

Issue 2:備份時(shí)提示權(quán)限不足

解決方法:該情況主要時(shí)前期備份準(zhǔn)備環(huán)節(jié)時(shí)未賦予BACKUP_ADMIN權(quán)限,參考準(zhǔn)備環(huán)節(jié)賦權(quán)即可。

無(wú)法連接Socket

Issue 3:備份時(shí)報(bào)錯(cuò)無(wú)法連接socket

解決方法:參數(shù)里指定 --socket=/var/lib/mysql/mysql.sock,詳見(jiàn)全備處命令。

還原后數(shù)據(jù)庫(kù)啟動(dòng)失敗

Issue 4:還原后啟動(dòng)數(shù)據(jù)庫(kù)報(bào)錯(cuò)。

解決方法:

Step 1 首先通過(guò) /etc/my.cnf找到mysql的日志所在目錄:log-error=/var/log/mysqld.log

Step 2 通過(guò)vi、tail命令或者其它文本文件分析日志文件,發(fā)現(xiàn)是權(quán)限問(wèn)題:

Step 3 對(duì)mysql數(shù)據(jù)文件賦權(quán) chown -R mysql:mysql /data/mysql即可。

:如果按照上述操作無(wú)該錯(cuò)誤。

總結(jié)

以上是生活随笔為你收集整理的Mysqlbackup备份还原初识的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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