資料庫 Mysql備份恢復

2021-10-23 12:56:22 字數 2667 閱讀 4128

1、物理備份:

2、邏輯備份:庫、表(資料庫的sql指令碼)

1、在生產環境中,資料的安全性只管重要

2、任何資料的丟失都可能產生嚴重的後果

3、造成資料丟失的原因:

物理冷備份:

[root@localhost~]

# sysytemctl stop mysqld

[root@localhost~]

# mkdir /backup

[root@localhost~]

# tar /backup/mysql_all-$(date+%f).tar.gz /usr/local/mysql/data/

恢復資料庫:

[root@localhost~]

# mkdir bak

[root@localhost~]

# mv /usr/local/mysql/data/ /bak/

[root@localhost~]

# mkdir restore

[root@localhost~]

# tar zxf /backup/mysql_all-2020-01-02.tar.gz -c restore/

[root@localhost~]

# mv restore/usr/local/mysql/data/ /usr/local/mysql/

[root@localhost~]

# systemctl start mysqld

2、mysqldump完全備份與恢復

備份:mysql自帶的備份工具,可方便實現對mysql的備份

可以將指定的庫、表匯出為sql指令碼

使用命令mysql匯入備份的資料

恢復: 使用mysqldump匯出的指令碼,可使用匯入的方法

source命令:mysql環境 絕對路徑

mysql命令: linux環境

使用source恢復資料庫的步驟

登入到mysql資料庫

執行source備份sql指令碼的路徑

1、單庫還原:覆蓋原來的內容,進入目標的裡面

**:source /路徑/檔名.sql (在資料庫裡面敲)

**: mysql -u root -p < 目標備份檔案.sql;(在linux裡面敲)

3、mysql增量備份:

1、使用mysqldump進行完全備份存在的問題

4、mysql沒有提供直接的增量備份的方法

5、可通過mysql提供的二進位制日誌簡介實現增量備份

6、mysql二進位制日誌對備份的意義:

1、完全備份:

在linux:mysqldump -u root -p school(庫) info(表)

> /opt/info.sql

開啟二進位制日誌檔案: vim /etc/my.cnf 新增:log-bin=mysql-bin

systemctl restart mysqld

cd /usr/local/mysql/data ls

>>

>會有mysql-bin.000001的日誌檔案

mysqlbinlog --no-defaults mysql-bin.000001 有亂碼

後面的操作都在00001日誌檔案裡面記錄

在mysql上:insert into(name,address)values(『wangwu』,』nanjing』)

; delect from info where id=1;

insert into(name,address)values(『sssu』,』nanjing』)

;mysqladmin -u root -p flush-logs 重新生成新的日誌檔案,目前裡面的沒有東西

mysqlbinlog --no-defaults mysql-bin.0000001 >/opt/bk01.txt

vim /opt/bk01.txt

mysqlbinlog --no-defaults --base64-output=decode-rows -v mysql-bin.0000001 >/opt/bk02.txt

還原:mysqlbinlogs --nodefaults --stop-position=』573』 /usr/local/mysql/data/mysql-bin.0000001 | mysql-u root -p123

mysqlbinlogs --nodefaults --start-position=』685』 /usr/local/mysql/data/mysql-bin.0000001 | mysql-u root -p123 跳過錯誤操作

mysqlbinlogs --nodefaults --stop-datetime=』2020-08-19 16:24:00』 /usr/local/mysql/data/mysql-bin.0000001 | mysql-u root -p123

mysqlbinlogs --nodefaults --start-datetime=』2020-08-09 16:25:00』 /usr/local/mysql/data/mysql-bin.0000001 | mysql-u root -p123

mysql資料庫備份,恢復

生產的資料庫可能因為以下情況導致資料丟失 硬體故障 軟體故障 自然災害 黑客攻擊 誤操作 佔比例最大 1.能夠容忍丟失多少資料 2.恢復資料需要多長時間 3.需要恢復哪一些資料 備份整個資料庫 增量備份 備份自從上次備份以來變化的資料。節約空間,還原麻煩 差異備份 備份上次完全備份以來變化的資料。浪...

Mysql資料庫備份與恢復

匯出要用到mysql的mysqldump工具,基本用法是 mysqldump options database tables 幫助 mysqldump help mysqldump支援下列選項 add locks 在每個表匯出之前增加lock tables並且之後unlock table。為了使得更...

mysql 資料庫備份與恢復

首先要用命令列進入mysql的安裝目錄下的bin c program files mysql mysql server 5.1 bin win32下mysql的備份與還原 1.1 備份 開始選單 執行 cmd 利用 cd program files mysql mysql server 5.0 bi...