MySQL數(shù)據(jù)庫的備份與還原操作方法
1、數(shù)據(jù)庫備份
備份的結(jié)果都是SQL指令
mysqldump:專門用于備份SQL的客戶端
SQL備份:表結(jié)構(gòu) + 數(shù)據(jù)
缺點:
- 會產(chǎn)生的備份文件特別大
- 不適合特大型數(shù)據(jù)備份
- 不適合數(shù)據(jù)變更頻繁的數(shù)據(jù)庫備份
基本語法:
> mysqldump -hPup 數(shù)據(jù)庫名字 [表1 [表2]] > 備份文件地址
備份可以有3種形式:
- 整庫備份 只需太提供數(shù)據(jù)庫名字
- 單表備份 數(shù)據(jù)庫后跟一張表
- 多表備份 數(shù)據(jù)庫后跟多張表
示例:
# 整庫備份 > mysqldump -hlocalhost -P3306 -uroot -p123456 mydatabase > mydatabase.bak.sql # 單表備份 > mysqldump -hlocalhost -P3306 -uroot -p123456 mydatabase my_student > mydatabase.my_student.bak.sql # 多表備份 > mysqldump -hlocalhost -P3306 -uroot -p123456 mydatabase my_student my_class > mydatabase.my_student__my_class.bak.sql
備份文件內(nèi)容:
-- 刪除已存在的表 DROP TABLE IF EXISTS `my_student`; -- 創(chuàng)建表結(jié)構(gòu) SET character_set_client = utf8mb4 ; CREATE TABLE `my_student` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(10) COLLATE utf8mb4_general_ci DEFAULT NULL, `class_id` int(11) DEFAULT NULL, `age` int(11) DEFAULT NULL, `gender` int(11) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -- 插入數(shù)據(jù) LOCK TABLES `my_student` WRITE; INSERT INTO `my_student` VALUES (1,'劉備',1,18,2),(2,'李四',1,19,1),(3,'王五',2,20,2),(4,'張飛',2,21,1),(5,'關(guān)羽',NULL,22,2),(6,'曹操',1,20,NULL); UNLOCK TABLES;
2、數(shù)據(jù)還原
mysqldump備份的數(shù)據(jù)文件,沒有關(guān)于數(shù)據(jù)庫本身的操作,都是針對表級別的操作,當(dāng)進(jìn)行數(shù)據(jù)還原,必須指定數(shù)據(jù)庫
方式一:mysql客戶端
# 不用登錄,直接操作 > mysql -hPup 數(shù)據(jù)庫 < SQL文件位置 mysql -hlocalhost -P3306 -uroot -p123456 mydatabase2 < mydatabase.bak.sql
方式二:SQL指令導(dǎo)入
-- 首先進(jìn)入到對應(yīng)的數(shù)據(jù)庫 mysql> source SQL文件位置 source mydatabase.bak.sql;
方式三:手動復(fù)制粘貼(不推薦)
打開備份文件,復(fù)制所有SQL指令,粘貼到mysql命令行中執(zhí)行
到此這篇關(guān)于MySQL數(shù)據(jù)庫數(shù)據(jù)庫備份與還原的文章就介紹到這了,更多相關(guān)MySQL數(shù)據(jù)備份還原內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python中的mysql數(shù)據(jù)庫LIKE操作符詳解
LIKE操作符用于在WHERE子句中搜索列中的指定模式,like操作符的語法在文章開頭也給大家提到,通過兩種示例代碼給大家介紹python中的mysql數(shù)據(jù)庫LIKE操作符知識,感興趣的朋友跟隨小編一起看看吧2021-07-07
Linux連接mysql報錯:Access denied for user ‘root’@‘localhost’(usi
這篇文章主要給大家介紹了關(guān)于Linux連接mysql數(shù)據(jù)庫報錯:Access denied for user ’root‘@’localhost‘(using password: YES)的解決方法,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2018-01-01
prometheus監(jiān)控MySQL并實現(xiàn)可視化的操作詳解
mysqld_exporter?是一個用于監(jiān)控?MySQL?服務(wù)器的開源工具,它是由?Prometheus?社區(qū)維護的一個官方?Exporter,本文給大家介紹了prometheus監(jiān)控MySQL并實現(xiàn)可視化的操作,文中通過代碼和圖文講解的非常詳細(xì),需要的朋友可以參考下2024-04-04
淺談MySQL安裝starting the server失敗的解決辦法
如果電腦是不是第一次安裝MySQL,一般會出現(xiàn)報錯情況,starting the server失敗,通常是因為上次安裝的該軟件未清除干凈,本文就詳細(xì)的介紹一下解決方法,感興趣的可以了解一下2021-09-09
MySQL空間函數(shù)ST_Distance_Sphere()的使用方式
這篇文章主要介紹了MySQL空間函數(shù)ST_Distance_Sphere()的使用方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-11-11
打開和關(guān)閉mysql服務(wù)的兩種實現(xiàn)方法
這篇文章主要介紹了打開和關(guān)閉mysql服務(wù)的兩種實現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-07-07

