OAuth 2.0筆記
阿新 • • 發佈:2020-11-22
資料安全備份的意義
- 在出現意外的時候(硬碟損壞、斷點、黑客攻擊),以便資料的恢復
- 匯出生產的資料以便研發人員或者測試人員測試學習
- 高許可權的人員那操作失誤導致資料丟失,以便恢復
備份型別
- 完全備份:對整個資料庫的備份
- 部分備份:對資料進行部分備份(一張或多張表)
- 增量備份:是以上一次備份為基礎來備份變更資料
- 差異備份:是以第一次完全備份為基礎來備份變更資料
備份方式
- 邏輯備份:直接生成sql語句,在恢復資料的時候執行sql語句
- 物理備份:複製相關庫檔案,進行資料備份(my.cnf指向的資料存放目錄)
區別
- 邏輯備份效率低,恢復資料效率低,節約空間
- 物理備份浪費空間,備份資料效率快
備份場景
- 熱備份:備份時,不影響資料庫的讀寫操作
- 溫備份:備份時,可以讀,不能寫
- 冷備份:備份時,關閉mysql服務,不能進行任何讀寫操作
Mysqldump備份(跨機器)
單庫語法
備份基礎語法:
mysqldump -u使用者 -hip -p密碼 資料庫名 表名 | 壓縮方式 > 絕對路徑+檔名
跨機器備份
跨機器備份: 備份描述:mac本上安裝了mysql資料庫(172.20.10.2),使用自搭Linux(172.20.10.4)機器上的mysql備份mac本上的nba庫,並使用壓縮檔案方式,備份至:/mysql_data_back下 來到linux的mysql安裝目錄(172.20.10.4): 建立目錄:mkdir /mysql_data_back 切換:cd /usr/local/mysql/bin 備份:./mysqldump -uroot -proot -h172.20.10.2 nba | gzip > /mysql_data_back/nba.sql.gz
本機備份
本機備份:
備份描述:linux(自搭),備份本就上的db1庫,並使用壓縮方式,備份至:/mysql_data_back下
備份:./mysqldump -uroot -proot db1 | gzip > /mysql_data_back/db1.sql.gz
備份庫中的某張表
語法:./mysqldump -uroot -proot -h172.20.10.2 nba | gzip > /mysql_data_back/nba.sql.gz 備份描述:在Linux(自搭,172.20.10.4)上,遠端備份mac本(172.20.10.2)nba(庫)的nba_player(表) 在原來的基礎上,nba(庫名) 在追加表名即可 ./mysqldump -uroot -proot -h172.20.10.2 nba nba_player | gzip > /mysql_data_back/nba-nba_player.sql.gz
備份多庫
語法:./mysqldump -u使用者 -p密碼 --databases 庫1 庫2 | gzip > 絕對路徑+檔名
備份描述:備份本機的:db1、db2兩個庫
備份:./mysqldump -uroot -proot --databases db1 db2 | gzip > /mysql_data_back/db1-db2.sql.gz
注意
只備份表結構,資料沒備份!
備份全庫
描述:如果遠端伺服器上資料庫較多的話,可以使用全庫備份
語法:
./mysqldump -uroot -proot -all --databases | gzip > /mysql_data_back/all.sql.gz
Mysql資料的恢復
備份的資料,不加--databases是沒有建立庫語句的!
先備份資料: ./mysqldump -uroot -proot --databases db1 | gzip > /mysql_data_back/db1.sql.gz 刪除庫: drop database db1; 還原資料: 2、解壓gz檔案:gunzip -d db1.sql.gz 1、登入資料庫:mysql -uroot -proot -h 127.0.0.1 < /mysql_data_back/db1.sql
也可以指定資料庫後,在恢復資料
語法: mysql -u使用者 -p密碼 -h ip地址 資料庫 < 絕對路徑+檔名 示例:mysql -uroot -proot -h 127.0.0.1 issdb_1 < /mysql_data_back/issdb_1.sql
檢視Mysql資料庫原始檔
方式一
登入mysql:mysql -uroot -proot
檢視:show variables like 'datadir%';
===========================
mysql> show variables like 'datadir%';
+---------------+------------------------+
| Variable_name | Value |
+---------------+------------------------+
| datadir | /usr/local/mysql/data/ |
+---------------+------------------------+
1 row in set (0.01 sec)
方式二
直接檢視my.cnf檔案即可