python-day47--mysql數據備份與恢復
阿新 • • 發佈:2017-09-14
建庫 eat 系統 mys creat windows option 導出 目標
一、IDE工具介紹
掌握: #1. 測試+鏈接數據庫 #2. 新建庫 #3. 新建表,新增字段+類型+約束 #4. 設計表:外鍵 #5. 新建查詢 #6. 備份庫/表 #註意: 批量加註釋:ctrl+?鍵 批量去註釋:ctrl+shift+?鍵
二、MySQL數據備份
#1. 物理備份: 直接復制數據庫文件,適用於大型數據庫環境。但不能恢復到異構系統中如Windows(要求平臺一致)。 #2. 邏輯備份: 備份的是建表、建庫、插入等操作所執行SQL語句,適用於中小型數據庫,效率相對較低。 #3. 導出表: 將表導入到文本文件中。
1.使用mysqldump實現邏輯備份
#語法: # mysqldump -h 服務器 -u用戶名 -p密碼 數據庫名 > 備份文件.sql# #單庫備份 mysqldump -uroot -p123 db1 > D:\\db1.sql mysqldump -uroot -p123 db1 table1 table2 > D:\\db1-table1-table2.sql #備份表 #多庫備份 mysqldump -uroot -p123 --databases db1 db2 mysql db3 >D:\\ db1_db2_mysql_db3.sql #備份所有庫 mysqldump -uroot -p123 --all-databases > D:\\all.sql
2.恢復邏輯備份
#方法一: mysql -uroot -p123 day47< D:\\day47.sql (要提前有day47 庫) #方法二: create database day47; use day47; source D:\\day47
3.在不進入數據庫的情況下查看數據庫內的數據
4.數據庫遷移(擴展了解)
務必保證在相同版本之間遷移 # mysqldump -h 源IP -uroot -p123 --databases db1 | mysql -h 目標IP -uroot -p456
5.表的導出和導入
SELECT... INTO OUTFILE 導出文本文件 示例: mysql> SELECT * FROM school.student1 INTO OUTFILE ‘student1.txt‘ FIELDS TERMINATED BY ‘,‘ //定義字段分隔符 OPTIONALLY ENCLOSED BY ‘”‘ //定義字符串使用什麽符號括起來 LINES TERMINATED BY ‘\n‘ ; //定義換行符 mysql 命令導出文本文件 示例: # mysql -u root -p123 -e ‘select * from student1.school‘ > /tmp/student1.txt # mysql -u root -p123 --xml -e ‘select * from student1.school‘ > /tmp/student1.xml # mysql -u root -p123 --html -e ‘select * from student1.school‘ > /tmp/student1.html LOAD DATA INFILE 導入文本文件 mysql> DELETE FROM student1; mysql> LOAD DATA INFILE ‘/tmp/student1.txt‘ INTO TABLE school.student1 FIELDS TERMINATED BY ‘,‘ OPTIONALLY ENCLOSED BY ‘”‘ LINES TERMINATED BY ‘\n‘;
python-day47--mysql數據備份與恢復