MySQL數據庫的備份與還原操作方法
1、數據庫備份
備份的結果都是SQL指令
mysqldump:專門用于備份SQL的客戶端
SQL備份:表結構 + 數據
缺點:
- 會產生的備份文件特別大
- 不適合特大型數據備份
- 不適合數據變更頻繁的數據庫備份
基本語法:
> mysqldump -hPup 數據庫名字 [表1 [表2]] > 備份文件地址
備份可以有3種形式:
- 整庫備份 只需太提供數據庫名字
- 單表備份 數據庫后跟一張表
- 多表備份 數據庫后跟多張表
示例:
# 整庫備份 > 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
備份文件內容:
-- 刪除已存在的表 DROP TABLE IF EXISTS `my_student`; -- 創(chuàng)建表結構 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; -- 插入數據 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,'關羽',NULL,22,2),(6,'曹操',1,20,NULL); UNLOCK TABLES;
2、數據還原
mysqldump備份的數據文件,沒有關于數據庫本身的操作,都是針對表級別的操作,當進行數據還原,必須指定數據庫
方式一:mysql客戶端
# 不用登錄,直接操作 > mysql -hPup 數據庫 < SQL文件位置 mysql -hlocalhost -P3306 -uroot -p123456 mydatabase2 < mydatabase.bak.sql
方式二:SQL指令導入
-- 首先進入到對應的數據庫 mysql> source SQL文件位置 source mydatabase.bak.sql;
方式三:手動復制粘貼(不推薦)
打開備份文件,復制所有SQL指令,粘貼到mysql命令行中執(zhí)行
到此這篇關于MySQL數據庫數據庫備份與還原的文章就介紹到這了,更多相關MySQL數據備份還原內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
mysql注入之長字符截斷,orderby注入,HTTP分割注入,limit注入方式
這篇文章主要介紹了mysql注入之長字符截斷,orderby注入,HTTP分割注入,limit注入方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-11-11CentOS7.2虛擬機上安裝MySQL 5.6.32的教程
這篇文章主要介紹了CentOS7.2虛擬機上安裝MySQL 5.6.32的教程的相關資料,需要的朋友可以參考下2016-08-08