Mysql数据库的常用备份方法是使用使用mysqldump, 其命令格式如下:
# mysqldump [options] database [tables]
其中参数的含义为:
options:代表mysqldump的选项,通过mysqldump –help可以查到。
database: 代表将要备份的数据库
tables: 代表将要备份的表,如果不指定任何表,则备份整个数据库。
一个简单的备份命令:
mysqldump -udump_user -pdump_user woshitTest > ~/tmp/woshitTestDumpFilePwss.txt
上面命令是把本机的 mysql 数据库woshitTest 备份到 ~/tmp/woshitTestDumpFilePwss.txt 文件
这个数据库的登录用户名是 dump_user , 密码也是 udump_user
除了上面的参数 –u –p 外,还有一些有用的参数:
-c or - complete_insert
这个选项使得mysqldump命令给每一个产生INSERT语句加上列(field)的名字。当把数据导出导另外一个数据库时这个选项很有用。
实例: INSERT INTO `pwss` (`id`, `username`, `description`) VALUES (1,'weiwei','I love this girl');
-t or --no-create- info
这个选项使的mysqldump命令不创建CREATE TABLE语句,这个选项在您只需要数据而不需要DDL(数据库定义语句)时很方便。
反过来恢复也很简单:
mysql -udump_user -pdump_user woshittest< 1.txt
参看:
有关MYSQLDUMP的详细解释
http://blog.chinaunix.net/u/29134/showart_287899.html
如果需要备份的数据很大,则可以用 gzip 进行压缩。例子如下:
mysqldump -u root -p tm | gzip > tm_050519.sql.gz
备份 tm 数据库到 tm_050519.sql.gz
从gz文件直接恢复命令:
gzip < tm_050519.sql.gz | mysql -u root -p tm
====================================================================================
数据库备份是很重要的。如果定期做好备份,这样就可以在发生系统崩溃时恢复数据到最后一次正常的状态,把损失减小到最少。MySQLl提供了一个mysqldump命令,我们可以用它进行数据备份,下面假设要备份tm这个数据库:
#mysqldump -u root -p tm > tm_050519.sql
按提示输入密码,这就把tm数据库所有的表结构和数据备份到tm_050519.sql了,因为要总进行备份工作,如果数据量大会占用很大空间,这时可以利用gzip压缩数据,命令如下:
#mysqldump -u root -p tm | gzip > tm_050519.sql.gz
系统崩溃,重建系统时,可以这样恢复数据:
#mysql -u root -p tm < tm_050519.sql
从压缩文件直接恢复:
#gzip < tm_050519.sql.gz | mysql -u root -p tm
当然,有很多MySQL工具提供更直观的备份恢复功能,比如用phpMyAdmin就很方便。但我认为,mysqldump是最基本、最通用的。