18、数据的备份和还原
mysql中數據的備份有以下幾種方式:
1、直接在數據庫文件夾中復制對應的表結構以及數據文件進行數據備份
2、將每一張表中的數據進行備份
3、使用mysqldump.exe 進行備份
4、增量數據備份
接下來就詳細的介紹一下每一種備份的具體操作
直接在數據庫文件夾中復制對應的表結構以及數據文件進行數據備份
這一種備份的方式比較適用于myISAM引擎 的數據庫,只需要將對應數據庫下的想要備份的表對應的 .frm 文件(存儲表結構)、.MYD文件(存儲表數據)和 .MYI文件(存儲索引)進行復制即可實現備份,這種方式備份數據方便數據庫的遷移,但是不方便備份,因為太浪費磁盤空間。
通過備份每一張表的數據進行備份(僅僅是備份了數據,并沒有備份表結構)
這一種備份方式的思路就是將每一張數據表中的數據備份到磁盤上指定對應的文件中,在使用的時候,直接通過存儲的備份文件將數據導入到數據表中即可,這里注意的是由于備份的只有數據并沒有表結構,所以使用備份文件時必須創建對應的數據表,其基本語法如下:
// 備份語法 select 字段列表 into outfile ‘文件存儲路徑’ [fields字段處理] [lines行處理] from 表名;-- 將user表中的數據備份到e:/data/user.txt中 select * from user into outfile ‘e:/data/user.txt’; // 還原語法 格式上怎么備份怎么還原 load data infile ‘文件存儲路徑’ into table 表明[字段列表] [fields 字段處理] [lines 行處理] ;-- 將 e:/data/user.txt 中的數據還原到user表中 load data infile ‘e:/data/user.txt’ into table user;解釋一下fields和lines的含義:
| fields字段處理參數 | |
| fields可取值 | 功能 |
| enclosed by | 數據使用什么符號包裹,默認是 ‘’ ,空字符串 |
| terminated by | 字段以什么符號結束,默認是‘\t’ |
| escaped by | 特殊符號用什么方式處理,默認是‘\\’ |
| lines行處理參數 | |
| lines可取值 | 功能 |
| starting by | 每行以什么開始,默認‘’,空字符串 |
| terminated by | 每行以什么結束,默認是‘\r\n’ |
| ? | ? |
使用mysqldump.exe 進行備份
直接使用mysqldump.exe進行備份,其語法如下:
-- 備份數據庫czpdb下的表user到e:/czp/user.sql中 mysqldump -u root -p czpdb user > e:/czp/user.sql -- 此處不要分號,回車輸入密碼-- 還原文件到數據庫 -- 1、連接上mysql,切換到對應的數據庫下,通過source命令恢復 mysql -u root -p 123456; use czpdb; source e:/czp/user.sql;-- 2、使用mysql命令 mysql -u root -p czpdb < e:/czp/user.sql -- 此處不要分號,回車輸入密碼此方式可以備份數據和表結構,比較實用
增量數據備份
當數據庫太大,數據更迭的速度比較快時,備份所有數據有點不現實,有的時候也沒有必要,這個時候便可以使用數據的增量備份。針對特定的時間段,根據數據庫中mysql-bin日志生成增量數據進行數據備份。下邊介紹一下增量備份的使用:
1、必須使用log-bin?啟用二進制日志記錄的選項啟動服務器,配置一個路徑用來存儲日志文件(用于還原)
2、還原時使用命令? mysqlbinlog 日志文件 | mysql -u root -p 數據庫? 即可
3、日志文件有可能被加密,可以查看mysql官網的增量備份的具體使用方式(https://dev.mysql.com/doc/refman/8.0/en/point-in-time-recovery.html)
總結
以上是生活随笔為你收集整理的18、数据的备份和还原的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 你可能缺少电脑配件你可能缺少电脑配件英文
- 下一篇: 123记住密码设置