實驗內(nèi)容
- 使用mysqldump命令備份數(shù)據(jù)庫studentsdb的所有表,存于D:\下,文件名為all_tables.sql。
- 在MySQL服務(wù)器上創(chuàng)建數(shù)據(jù)庫student1,使用mysql命令將備份文件all_tables.sql恢復(fù)到數(shù)據(jù)庫student1中。
- 使用mysqldump命令備份數(shù)據(jù)庫studentsdb的所有表,存于D:\下,文件名為s_c.sql。
- 在MySQL服務(wù)器上創(chuàng)建數(shù)據(jù)庫student2,使用mysql命令將備份文件s_c.sql恢復(fù)到數(shù)據(jù)庫student2中。
- 使用mysqldump命令將 studentsdb數(shù)據(jù)庫中的grade表中的記錄導(dǎo)出到文本文件。
- 刪除數(shù)據(jù)庫student1的grade表中全部記錄。
使用mysqlimport命令將grade.txt文件中的數(shù)據(jù)導(dǎo)入到student1的grade表中。 - 使用SELECT…INTO OUTFILE語句備份studentsdb數(shù)據(jù)庫中的curriculum表的數(shù)據(jù)到文本文件c.txt。要求字段之間用“|”隔開,字符型數(shù)據(jù)用雙引號括起來。
- 刪除數(shù)據(jù)庫student1的curriculum表中全部記錄。
使用LOAD DATA INFILE語句將c.txt文件中的數(shù)據(jù)導(dǎo)入到student1的curriculum表中。
9.使用二進(jìn)制日志恢復(fù)數(shù)據(jù)庫。
(1)完全備份數(shù)據(jù)庫。使用mysqldump命令備份所有數(shù)據(jù)庫到D:\的all_db.sql。
(2)刪除studentsdb數(shù)據(jù)庫student_info表的所有記錄。
(3)使用mysqladmin進(jìn)行增量備份。
(4)使用mysql命令恢復(fù)all_db.sql文件的完全備份。
(5)使用mysqlbinlog命令恢復(fù)增量備份。
實驗步驟及處理結(jié)果
粘貼SQL代碼(小四號,宋體)及運行結(jié)果圖
…文章來源地址http://www.zghlxwxcb.cn/news/detail-493077.html
思考體會
參考資料
# 附 代碼
MySQL服務(wù)器:Navicat
1. 使用mysqldump命令備份數(shù)據(jù)庫studentsdb的所有表,存于D:\下,文件名為all_tables.sql。
先轉(zhuǎn)到bin文件夾 cd 路徑
在CMD命令提示符窗口中執(zhí)行命令。
C:\>mysqldump -u root -h localhost -p studentsdb>d:\all_tables.sql
2. 在MySQL服務(wù)器上創(chuàng)建數(shù)據(jù)庫student1,使用mysql命令將備份文件all_tables.sql恢復(fù)到數(shù)據(jù)庫student1中。
CREATE DATABASE student1;
然后在CMD命令提示符窗口中執(zhí)行命令。
C: \>mysql -u root -p student1<d:\all_tables.sql
3. 使用mysqldump命令備份數(shù)據(jù)庫studentsdb的所有表,存于D:\下,文件名為s_c.sql。
C:\>mysqldump -u root -h localhost -p studentsdb student_info curriculum>d:\s_c.sql
4. 在MySQL服務(wù)器上創(chuàng)建數(shù)據(jù)庫student2,使用mysql命令將備份文件s_c.sql恢復(fù)到數(shù)據(jù)庫student2中。
在MySQL服務(wù)器上創(chuàng)建數(shù)據(jù)庫student2
CREATE DATABASE student2;
然后在CMD命令提示符窗口中執(zhí)行命令。
C:\>mysql -u root -p student2<d:\s_c.sql
在使用SELECT …INTO OUTFILE語句時,目標(biāo)文件的路徑只能是MySQL的secure_file_priv參數(shù)所指定的位置,可通過以下語句獲取。
SELECT @@secure_file_priv;沒有就查資料設(shè)置一下
show variables like 'secure%'
5. 使用mysqldump命令將 studentsdb數(shù)據(jù)庫中的grade表中的記錄導(dǎo)出到文本文件。
C:\>mysqldump -u root -p -T "C:\Users\zjj\Desktop\數(shù)據(jù)庫原理及應(yīng)用\環(huán)境\mysql-8.0.23-winx64\Uploads" studentsdb grade --lines-terminated-by=\r\n
#路徑的最后一個\不能要
6. 刪除數(shù)據(jù)庫student1的grade表中全部記錄。
使用mysqlimport命令將grade.txt文件中的數(shù)據(jù)導(dǎo)入到student1的grade表中。
USE student1;
SET SQL_SAFE_UPDATES=0;
DELETE FROM grade;
然后在CMD命令提示符窗口中執(zhí)行命令。
C:\>mysqlimport -u root -p student1 "C:\Users\zjj\Desktop\數(shù)據(jù)庫原理及應(yīng)用\環(huán)境\mysql-8.0.23-winx64\Uploads\grade.txt" --lines-terminated-by=\r\n
7. 使用SELECT…INTO OUTFILE語句備份studentsdb數(shù)據(jù)庫中的curriculum表的數(shù)據(jù)到文本文件c.txt。要求字段之間用“|”隔開,字符型數(shù)據(jù)用雙引號括起來。
USE studentsdb;
SELECT * FROM curriculum
INTO OUTFILE 'C:\Users\zjj\Desktop\數(shù)據(jù)庫原理及應(yīng)用\環(huán)境\mysql-8.0.23-winx64\Uploads\c.txt' FIELDS TERMINATED BY '|'OPTIONALLY ENCLOSED BY'"'
LINES TERMINATED BY'\r\n';
8. 刪除數(shù)據(jù)庫student1的curriculum表中全部記錄。
使用LOAD DATA INFILE語句將c.txt文件中的數(shù)據(jù)導(dǎo)入到student1的curriculum表中。
在MySQL服務(wù)器上執(zhí)行語句。
USE student1;
SET SQL_SAFE_UPDATES=0;
DELETE FROM curriculum;
LOAD DATA INFILE 'C:\Users\zjj\Desktop\數(shù)據(jù)庫原理及應(yīng)用\環(huán)境\mysql-8.0.23-winx64\Uploads\c.txt' INTO TABLE student1.curriculum
FIELDS TERMINATED BY '|'OPTIONALLY ENCLOSED BY'"' LINES TERMINATED BY'\r\n';
9.使用二進(jìn)制日志恢復(fù)數(shù)據(jù)庫。
(1)完全備份數(shù)據(jù)庫。使用mysqldump命令備份所有數(shù)據(jù)庫到D:\的all_db.sql。
C:\>mysqldump -u root -h localhost -p --single-transaction --flush-logs --master-data=2 --all-databases>d:\all_db.sql
(2)刪除studentsdb數(shù)據(jù)庫student_info表的所有記錄。
在MySQL服務(wù)器上執(zhí)行語句。
USE studentsdb;
SET SQL_SAFE_UPDATES=0;
DELETE FROM student_info;
(3)使用mysqladmin進(jìn)行增量備份。
在CMD命令提示符窗口中執(zhí)行命令。
C:\>mysqladmin -u root -h localhost -p flush-logs
(4)使用mysql命令恢復(fù)all_db.sql文件的完全備份。
在CMD命令提示符窗口中執(zhí)行命令。
C:\>mysql -u root -p<d:\all_db.sql
(5)使用mysqlbinlog命令恢復(fù)增量備份。
-- 查看當(dāng)前數(shù)據(jù)庫是否開啟binlog
show variables like '%log_bin%';
-- 查看當(dāng)前數(shù)據(jù)庫binary log的位置
show master status;
-- 查看binlog日志文件有哪些
show binary logs;
-- 查看具體日志文件
show binlog events in 'binlog.000001';
在CMD命令提示符窗口中執(zhí)行命令。
C:\>mysqlbinlog "C:\Users\zjj\Desktop\數(shù)據(jù)庫原理及應(yīng)用\環(huán)境\mysql-8.0.23-winx64\data\binlog.000001" | mysql -u root -p
文章來源:http://www.zghlxwxcb.cn/news/detail-493077.html
到了這里,關(guān)于數(shù)據(jù)庫實驗7---數(shù)據(jù)庫的備份與恢復(fù)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!