先來說一說資料庫備份的幾種備份型別,以下是我整理出來的備份型別和功能介紹。
備份形式1:備份資料庫期間,使用者是否可以正常訪問
溫備份(warm backup)
通過給伺服器施加共享鎖
熱備份(hot backup)
使用者體驗最好
僅僅是支援事務的儲存引擎才支援熱備
備份形式2: 根據備份的資料集分類
部分備份(partial backup)
備份形式3: 根據備份的資料是全部是發生改變的
備份形式4:根據備份介面方式進行分類
邏輯備份(logical backup)
備份策略
建議:
執行備份考慮的因素
備份的資料有哪些
主要的備份工具
myisam儲存引擎,只可以做溫備
可以進行遠端的備份操作
mysqldumper
cp+tar
select命令
# 首先向mysql配置檔案xtrabackupvim /etc/my.cnf
新增如下行
secure-file-priv = ""
# 然後登陸mysql,將jobs庫中的students表中的資料儲存成乙個檔案
mysql> select * from jobs.students into outfile "/tmp/1.sql";
mysqlhostbackup
mysqldump工具
選項
--single-transaction 啟動事務,用於實現對於innodb做熱備
--triggers 指定備份觸發器
格式:
鎖的粒度
案例:備份jobs庫
[root@manager ~]# mysqldump -uroot -p123 jobs>mybackup1.sql還原
方法1:在mysql中建立乙個資料庫,然後將備份檔案匯入進去
> create database db010;方法1:在mysql中建立乙個資料庫,然後在bash中將備份資料恢復進去> use db010;
> source /root/mybackup1.sql
> create database db020;第二步:新增讀鎖[root@manager ~]# mysql -uroot -p123 db020案例:純手工方式加鎖並備份資料
第一步:重新整理,將記憶體資料刷到磁碟上
mysql> flush tables;
query ok, 0 rows affected (0.00 sec)
mysql> flush tables with read lock;第三步:滾動日誌query ok, 0 rows affected (0.00 sec)
mysql> flush logs;第四步:檢查日誌query ok, 0 rows affected (0.01 sec)
mysql> show master status;第五步:執行備份操作
[root@manager ~]# mysqldump -uroot -p --databases jobs>bk2.sql第六步:釋放鎖
mysql> unlock tables;案例:使用mysqldump自動實現加鎖來備份資料query ok, 0 rows affected (0.00 sec
[root@manager ~]# mysqldump -uroot -p --flush-logs --lock-all-tables --master-data=2 --databases jobs >bk3.sql注意:在備份檔案中內容:
案例:實現熱備
第一步:檢查表儲存引擎型別
mysql> show table status from jobs\g第二步:備份資料
[root@manager ~]# mysqldump -uroot -p --flush-logs --single-transaction --master-data=2 --databases jobs >bk4.sql案例:實現資料恢復【備份完成後,資料發生損壞】
第一步:讓伺服器離線
第二步:立刻備份二進位制日誌
第三步:分析二進位制日誌
mysql> show binlog events in 'mysql-bin.000027';第四步:將找到的範圍內的有效的內容生成成sql檔案
[root@manager ~]# mysqlbinlog --start-position=194 --stop-position=712 /data/mysql/mysql3306/logs/mysql-bin.000027 >last.sql第五步:開始還原
mysql> set session sql_log_bin=off;第六步:進行一次完整備份mysql> reset master;
mysql> source /root/bk7.sql
mysql> source /root/last.sql
略
記錄protobuf和grpc的操作過程
1.1 進入獲取特定release版本的安裝包 1.2 解壓 tar xzvf protobuf all 3.5.1.tar.gz1.3 配置 cd protobuf 3.5.1 configure1.4 編譯 如上圖所以編譯成功。1.5 安裝 執行編譯命令 protoc helloworld.pr...
資料庫備份和還原過程
1 新建資料庫例項注意字符集為utf 8 2 命令列下 c set oracle sid eas 注意例項名未大寫例項名 定義預設例項 c sqlplus nolog 3 使用者system使用者登入 sql user password as sysdba 登入sqlplus建立目錄 sql cre...
資料庫備份和還原過程
資料庫備份和還原過程 1 新建資料庫例項注意字符集為utf 8 2 命令列下 c set oracle sid eas 注意例項名未大寫例項名 定義預設例項 c sqlplus nolog 3 使用者system使用者登入 sql user password as sysdba 登入sqlplus建...