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資料庫
- Linux備份任務綜合實驗Linux
- MYSQL學習與實驗(八)——儲存過程實驗MySql儲存過程
- MySQL備份與恢復——實操MySql
- 綜合實驗
- 資料結構實驗三:線性表綜合實驗資料結構
- 備份與恢復:polardb資料庫備份與恢復資料庫
- MySQL備份與恢復——基於Xtrabackup物理備份恢復MySql
- OSPF 綜合實驗
- OSPF綜合實驗
- BGP綜合實驗
- 實驗一軟體開發文件與工具的安裝與使用
- 備份與恢復:Polardb資料庫資料基於時間點恢復資料庫
- Mysql資料備份與恢復MySql
- Linux下MySQL資料庫的備份與恢復LinuxMySql資料庫
- MySQL-19.資料庫備份與恢復MySql資料庫
- MySQL備份與恢復——基於MyDumper/MyLoader 邏輯備份恢復MySql
- Winhex簡單資料恢復與取證及實驗一總結資料恢復
- MySQL備份與恢復——基於OUTFILE /LOAD DATA 邏輯備份恢復MySql
- rsync備份【基於客戶端與服務端】客戶端服務端
- MySQL8,不一樣的安裝體驗MySql
- postgresql備份與恢復資料庫SQL資料庫
- mysql資料庫-備份與還原實操MySql資料庫
- MSSQL-最佳實踐-資料庫恢復模式與備份的關係SQL資料庫模式
- 2020重新出發,MySql基礎,MySql資料庫備份與恢復MySql資料庫
- mysqldump使用方法(MySQL資料庫的備份與恢復)MySql資料庫
- 靜態路由綜合實驗路由
- 資料結構實驗三 2024_樹與圖實驗資料結構
- 【rman備份策略】實驗
- mysql學習筆記之備份與恢復MySql筆記
- oracle 增量備份恢復驗證Oracle
- 資料庫備份與恢復技術資料庫
- MySQL 備份與恢復MySql
- 【11g 庫異地恢復】實驗
- 【12c 庫異機恢復】實驗
- SCAU 高程綜合實驗:檔案操作與字元處理字元
- 資料庫實驗二資料庫
- 萬里GreatDB資料庫的學習之路--GreatDB備份與恢復(4)資料庫