首先介紹兩個mysql數據庫命令:
還原一個數據庫命令:mysql -h localhost -u root -p123456 www
備份一個數據庫命令:mysqldump -h localhost -u root -p123456 www > d:/www2008-2-26.sql(其中WWW為數據庫名)
下面介紹下備份mysql數據庫的幾種方法:
第一種,用mysqldump命令備份
假設在firstdb下有個test 表。則運行mysqldump -uUERNAME -pPASSWORD -hHOSTNAME firstdb test > test.sql
登錄后mysql后運行:drop table test ;
現在恢復 : mysql -uUSRNAME -pPASSWORD -hHOSTNAME firstdb < test.sql
第二種,利用mysqlhotcopy命令
用法和mysqlimport類似。
第三種,使用二進制更新的日志文件恢復數據到最近位置。
這個要求打開log-bin選項,在/etc/mysql/my.cnf 下設置。
利用正則表達式很容易就可以找到log-bin選項,把注釋去了就可以了。當然也可以自己加上。
然后利用mysqlbinlog XXXX-bin.XXX 就可以恢復了。默認應該是放在/var/log/mysql 。自己利用find命令找。。
第四種,拷貝整個mysql數據庫,利用粘貼復制功能,備份和恢復mysql數據庫都容易。
第五種,用select into 做備份
登錄mysql后運行:select * from test into outfile "test.dat";
清空表:truncate test ;
恢復可以: load data infile "test.dat" into table test ;
當然還可以用mysqlimport命令代替load data 。。在bash下運行:
mysqlimport -uUSERNAME -pPASSWROD -hHOSTNAME firstdb test.dat ;
這樣就可以恢復了。不過注意在linux下的權限問題。
第六種,登錄mysql后用BACKUP、RESTORE命令
不推薦使用