資料庫備份是非常重要的
主要是通過全量備份和log_bin日誌結合達到比較好的備份效果
全量備份在linux的操作
mysqldump -u root -p 資料庫名稱 > 備份儲存路徑
比如:mysqldump -u root -p mytest > /tmp/database/mytest.sql
寫成程式,備份檔案名加上時間,要求儲存最新的3次備份,自動程式備份(每天,每週)
可以通過在配置檔案中新增 log-bin 選項來開啟二進位制日誌
[mysqld]
log-bin=dir
/[filename]
其中,dir 引數指定二進位制檔案的儲存路徑;filename 引數指定二進位制檔案的檔名,其形式為 filename.number,number 的形式為 000001、000002 等。
每次重啟 每 mysql 服務後,都會生成乙個新的二進位制日誌檔案,這些日誌檔案的檔名中 服 filename 部分不會改變, 部 number 會不斷遞增。
如果沒有 dir 和 filename 引數,二進位制日誌將預設儲存在資料庫的資料目錄下,預設的檔名為 hostname-bin.number,其中 hostname 表示主機名。
案例配置如下:
log-bin=mysql-bin
binlog_format=mixed
server-id = 1
mysql的binlog日誌限制大小和期限設定
設定日誌保留時長expire_logs_days自動刪除 檢視當前日誌儲存天數: show variables like 『%expire_logs_days%』; 這個預設是0,也就是logs不過期,可通過設定全域性的引數,使他臨時生效: set global expire_logs_days=7; 設定了只保留7天binlog, 下次重啟mysql這個引數缺省會失敗,所以需在my.cnf中設定expire_logs_days = 7;max_binlog_size = 100m
如果二進位制日誌寫入的內容超出給定值,日誌就會發生滾動。你不能將該變數設定為大於1gb或小於4096位元組。 預設值是1gb。開啟後日誌會自動記錄所有寫操作
現假設資料庫名為 mytest被誤刪
用最新全量備份重新生成資料庫
mysql -u root -p
#根據提示輸入密碼後進入mysql控制台
show databases;
#建立資料庫
create database mytest;
#進入資料庫
use mytest;
#從檔案匯入所有資料
source /var/databakup/mytest.sql
2.按資料庫備份時間用log_bin日誌進行恢復
mysqlbinlog --start-datetime=
'2020-09-27 22:22:22' --stop-datetime=
'2020-09-27 22:30:00' /www/server/data/mysql-bin.000036 | mysql -uroot -p
資料庫備份
匯出方案 匯出自己的方案exp scott tiger oracle owner scott file d scott.dmp 成功匯入方案 imp userid retest retest oracle file e rem.dmp full y 匯出表 兩百萬資料 exp userid scot...
資料庫備份
備份 使用 isql usa p ssybase 命令連線至資料庫,依次備份早教系統edu cfg和edu stat兩個使用者資料庫。前提條件是backup server服務要啟動 dump database edu cfg to home sybase edu cfg jiangsu 201405...
資料庫備份
sqlserver 作業 新建作業 1.常規中,填寫名字及說明 2.步驟中新建步驟,填寫步驟名稱,選擇型別 transact sql指令碼 t sql 填寫命令,內容如下 declare name varchar 250 set name d bakdb 備份檔案名稱 convert varchar...