MYSQL學習與資料庫綜合實驗(十 一)—— 客戶端工具備份與恢復實驗(基於Ubuntu18.04中Docker安裝的MySQL8實驗)
11. 客戶端工具備份與恢復實驗
該實驗銜接上一次實驗:MYSQL學習與資料庫綜合實驗(十)——語句備份與恢復實驗(基於Ubuntu18.04中Docker安裝的MySQL8實驗)
11.1使用mysqldump命令備份DBEM資料庫中的salary表
將資料庫dbms中的salary表備份到當前所在目錄中(你所在資料夾下使用指令的地方)backup資料夾下的salary.sql檔案中。
mysqldump -h localhost -P 3307 -u root -p dbms salary > backup/salary.sql
11.2.使用mysqldump命令備份整個DBEM資料庫
mysqldump -h localhost -P 3307 -u root -p dbms --default-character-set=utf8 > backup/dbms.sql
將資料庫dbms備份到當前所在目錄中(你所在資料夾下使用指令的地方)backup資料夾下的dbms.sql檔案中。
11.3.刪除employee表,然後使用mysql命令,利用上述儲存的檔案恢復employee表
①首先刪除employee表
②從資料庫dbms的的全備份dbms.sql中查詢employee表的結構(使用sed命令)
sed -e'/./{H;$!d;}' -e 'x;/CREATE TABLE `employee`/!d;q' dbms.sql
通過這個命令我們可以從dbms.sql全備份中查詢出來建立employee表的SQL語句,這樣就方便我們使用這個結果來建立employee表了。
②使用查詢出來的employee表結構語句在MySQL中建立employee表
DROP TABLE IF EXISTS `employee`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `employee` (
`employeeID` char(6) NOT NULL,
`name` char(10) NOT NULL,
`education` char(4) NOT NULL,
`birth` date NOT NULL,
`gender` tinyint(1) NOT NULL DEFAULT '1',
`workYear` tinyint(1) DEFAULT NULL,
`address` varchar(100) DEFAULT NULL,
`phone` char(12) DEFAULT NULL,
`departmentID` char(3:) DEFAULT NULL,
PRIMARY KEY (`employeeID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
這時候我們就將employee表的結構建立出來了。
③從dbms.sql備份中查詢出employee表的資料,並儲存到employee.sql檔案中
grep 'INSERT INTO `employee`' dbms.sql >employee.sql
④從employee.sql中恢復資料到MySQL的dbms資料庫中的employee表。
mysql -h localhost -P 3307 -u root -p dbms --default-character-set=utf8 < employee.sql
這個命令中的localhost表示當前主機的ip,埠使用大寫的 -P 表示,我伺服器的埠是3307,如果匯入失敗,可以使用你伺服器的ip來進行連線資料庫試試。
這裡使用的是mysql的匯入命令,而不是使用 mysqldump哦!並且匯入的時候設定了預設的編碼,要和匯出時候設定的編碼一樣。這樣資料就完整地從全備份資料庫dbms.sql中提取出來最終恢復到MySQL資料庫了。
ps:在進行匯入匯出檔案是需要設定預設編碼,為了防止亂碼
11.4.刪除salary表的部分資料,然後使用mysqlimport命令及–replace功能恢復salary表,其中salary表的資料備份檔案已在11.1中備份好
①首先刪除兩條資料
②從備份的salary.csv中恢復資料:
mysqlimport -h localhost -P 3307 -u root -p --default-character-set=utf8 --replace dbms salary.csv;
這樣資料就完整地從全備份資料庫dbms.sql中提取出來最終恢復到MySQL資料庫了。
PS:在進行匯入匯出檔案是需要設定預設編碼,為了防止亂碼
11.5整理筆記不易,如果有幫助到你,請一鍵三連哦!
11.6本次博文已經同步到個人部落格,如有需要請移步:
http://moyisuiying.com/index.php/experiment/mysqlexperiment/435.html
相關文章
- MYSQL學習與實驗(一)——資料庫定義與操作MySql資料庫
- Oracle備份與恢復系列 (一)實驗環境介紹Oracle
- 基於mysql-binlog的恢復實驗MySql
- MongoDB資料檔案備份與恢復詳解及實驗說明MongoDB
- MYSQL學習與實驗(八)——儲存過程實驗MySql儲存過程
- Oracle備份恢復實驗(原廠培訓資料)Oracle
- oracle實驗記錄 (恢復-關於熱備份)Oracle
- oracle實驗記錄 (恢復-恢復未備份的資料檔案)Oracle
- oracle 資料庫全庫恢復實驗Oracle資料庫
- 【實驗】從RMAN備份中恢復spfile檔案
- MySQL備份與恢復——實操MySql
- 基於Linux的資料庫管理與維護--實驗1:Linux常用客戶端工具及常用命令Linux資料庫客戶端
- 【備份恢復】Oracle 資料備份與恢復微實踐Oracle
- mysql的資料庫備份與恢復MySql資料庫
- oracle實驗記錄 (恢復-rman增量備份)Oracle
- Oracle恢復實驗(一)Oracle
- MySQL備份與恢復——基於Xtrabackup物理備份恢復MySql
- Oracle 10g rac+asm 磁碟頭備份與恢復實驗Oracle 10gASM
- 實驗一軟體開發文件與工具的安裝與使用
- 備份與恢復:polardb資料庫備份與恢復資料庫
- oracle實驗記錄 (恢復,備份-含壞塊資料檔案)Oracle
- oracle實驗記錄(恢復-丟失未備份資料檔案)Oracle
- RMAN備份、恢復實驗室 之 備份篇 【歸檔模式】模式
- 資料結構實驗三:線性表綜合實驗資料結構
- Winhex簡單資料恢復與取證及實驗一總結資料恢復
- Mysql資料備份與恢復MySql
- 【實驗】從RMAN備份中恢復controlfile控制檔案
- MySQL-19.資料庫備份與恢復MySql資料庫
- oracle實驗記錄 (恢復-使用resetlogs open前備份恢復)Oracle
- rsync備份【基於客戶端與服務端】客戶端服務端
- 備份與恢復:Polardb資料庫資料基於時間點恢復資料庫
- 資料庫的備份與恢復資料庫
- 備份恢復實驗(1)丟失部分控制檔案
- oracle實驗記錄 (恢復-rman操作(設定&備份))Oracle
- 實驗1:利用BBED工具恢復刪除的資料行
- MySQL8,不一樣的安裝體驗MySql
- 一種在客戶端利用js實現對資料校驗的方法客戶端JS
- 求助:hibernate如何實現資料庫備份與恢復啊?資料庫