Mysql自動備份與還原 轉


一、自動備份:將以下代碼保存為*.bat批處理腳本,然后再添加Windows定時作業,如每天凌晨2點執行:
set s=%date:~0,4%%date:~5,2%%date:~8,2%%time:~1,1%%time:~3,2%%time:~6,2%
mysqldump -u root -ppassword databasename > d:\databasename_%s%_bak.sql

說明:databasename 為數據庫名 password為數據庫密碼,系統自動以當前日期時間備份至指定目錄。

a.只導出表結構:mysqldump -uroot -–no-data test > test.txt

b.只導出a表的數據: mysqldump -uroot -–no-create-info test a> test.txt

【注意】:用mysqldump,如果不加任何參數,dump出來的文件,如果存在表則會先drop table,然后再create table 
,最后insert數據。所以要特別注意。可以通過添加參數去掉drop或者直接去掉create,如mysqldump –no-create-info 
、mysqldump –add-drop-table=’false’ ,當然最安全最正確的做法是導入之前先檢查文件,是否存在drop等命令會破壞原有表。

二、還原數據庫: mysql -u root -p databasename< d:\databasename.sql

 

2.mysqldump

導出整個庫的表結構

mysqldump -h鏈接名 -u用戶名 -P3306 -p -d 庫名 > a.sql

導出單張表的數據(包括drop、create語句)

mysqldump -h鏈接名 -u用戶名 -P3306 -p 庫名 表名 > a.sql

導出單張表的數據(只有insert語句)

mysqldump –no-create-info -h鏈接名 -u用戶名 -P3306 -p 庫名 表名 > a.sql

導出單張表的數據(條件過濾)

mysqldump –no-create-info –where=”id=1” -h鏈接名 -u用戶名 -P3306 -p 庫名 表名 > a.sql

注意:- -no-create-info 前面是兩個橫杠,csdn顯示有問題

3.登錄遠程數據庫

mysql -h 鏈接 -u登錄名 -P3306 -p

4.過濾一張表的數據到另一張表

insert into tablename values (select * from tablename where condition=?)

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM