mysql数据库备份心得
mysql數(shù)據(jù)庫備份/恢復(fù)等心得-Navicat for mysql
一、數(shù)據(jù)傳輸
最后點(diǎn)擊“開始”進(jìn)行導(dǎo)入即可。
優(yōu)勢:可以傳輸大量數(shù)據(jù),推薦。
二、轉(zhuǎn)存數(shù)據(jù)庫的SQL結(jié)構(gòu)和數(shù)據(jù)
三、備份
四、mysqldump定時(shí)備份
mysqldump腳本備份:創(chuàng)建腳本“mysql_backup_tool.bat”文件,文件內(nèi)容為:
rem ******MySQL backup start******** @echo offforfiles /p "E:\mysql_backup" /m emsc_backup_*.sql -d -30 /c "cmd /c del /f @path"set "Ymd=%date:~0,4%%date:~5,2%%date:~8,2%0%time:~1,1%%time:~3,2%%time:~6,2%" C:\xampp\mysql\bin\mysqldump --opt --single-transaction=TRUE --user=root --password=root --host=localhost --protocol=tcp --port=9220 --default-character-set=utf8 --single-transaction=TRUE --routines --events "test" > E:\mysql_backup\yotta_backup_%Ymd%.sql@echo on rem ******MySQL backup end********其中,forfiles后面是查詢本地路徑下的sql備份文件,刪除30天以上的備份文件。set后面設(shè)置的時(shí)間信息,然后設(shè)置本地mysql環(huán)境下mysqldump.exe的路徑,設(shè)置數(shù)據(jù)庫連接的主機(jī)IP(–host),用戶名(–user),密碼(–password),端口(–port)。設(shè)置需要備份的數(shù)據(jù)庫名稱“test”和保存到本地的文件信息:E:\mysql_backup\yotta_backup_%Ymd%.sql。
五、定時(shí)備份軟件:MySQLBackupFTP
六、備份mysql/data文件夾下數(shù)據(jù)庫中的文件
以表”Table”為例:
如類型是MyISAM, 數(shù)據(jù)文件則以”Table.frm””Table.MYD””Table.MYI””三個(gè)文件存儲(chǔ)于”/data/databasename/”目錄中.如類型是InnoDB,數(shù)據(jù)文件則存儲(chǔ)在”databasename/”目錄中.如類型是InnoDB,數(shù)據(jù)文件則存儲(chǔ)在”innodb_data_home_dir/″中的ibdata1文件中(一般情況),結(jié)構(gòu)文件存在于table_name.frm中.
MySQL的數(shù)據(jù)庫文件直接復(fù)制便可以使用,但是那是指“MyISAM”類型的表。
而使用MySQL-Front直接創(chuàng)建表,默認(rèn)是“InnoDB”類型,這種類型的一個(gè)表在磁盤上只對應(yīng)一個(gè)“.frm”文件,不像MyISAM那樣還“.MYD,*.MYI”文件。
MyISAM類型的表直接拷到另一個(gè)數(shù)據(jù)庫就可以直接使用,但是InnoDB類型的表卻不行。解決方法就是:
同時(shí)拷貝innodb數(shù)據(jù)庫表“*.frm”文件和innodb數(shù)據(jù)“ibdata1”文件到合適的位置。啟動(dòng)MySQL的Windows服務(wù)
由于MySQL這樣數(shù)據(jù)混雜的形式, 往往很容易讓使用者在備份時(shí)忘記了備份InnoDB, 從而導(dǎo)致了上述錯(cuò)誤.
如果原數(shù)據(jù)庫引擎是MyISAM,直接拷貝原有數(shù)據(jù)庫文件”.frm”、”.MYD”、”*.MYI”等文件;如果原數(shù)據(jù)庫引擎是InnoDB,切記還需拷貝ibdata1文件
一般時(shí)候建議使用邏輯備份,即之前的sql文件備份。當(dāng)數(shù)據(jù)表格數(shù)據(jù)量較大或者執(zhí)行sql恢復(fù)時(shí)候報(bào)錯(cuò)時(shí),可以使用物理備份,即將數(shù)據(jù)庫表格文件直接拷貝恢復(fù)。之前遇到過一個(gè)數(shù)據(jù)庫表格的大小為19個(gè)G,執(zhí)行sql語句恢復(fù)的時(shí)候由于插入語句報(bào)錯(cuò)而丟失很多數(shù)據(jù)。
總結(jié)
mysql數(shù)據(jù)備份是必要的,之前實(shí)驗(yàn)室有個(gè)組的數(shù)據(jù)在阿里云服務(wù)器上,然后某天忽然服務(wù)器被搞了,數(shù)據(jù)庫數(shù)據(jù)丟失,然后沒有備份,雪崩。建議大家養(yǎng)成良好的每日備份數(shù)據(jù)庫的習(xí)慣。
總結(jié)
以上是生活随笔為你收集整理的mysql数据库备份心得的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 区块链从入门到放弃系列教程-涵盖密码学,
- 下一篇: Idea+Maven+Jersey2+T