某项目的负责人要求我们拿出一个MYSQL的备份方案。查了一下资料,结合CSDN上的MYSQL备份工具,发现使用MYSQLDUMP命令进行数据库的备份。现在不考虑差异和增量备份,只做完全备份。
该项目的工控机的系统环境:Windows2003、MySQL 5
一、MYSQLDump参数
--add-locks 在每个表导出之前增加LOCK TABLES,之后UNLOCK TABLE(为了更快的插入到MYSQL)
--add-drop-table 在每个CREATE语句之前增加一个DROP TABLE
--allow-keywords 允许创建是关键词的列表。这由表名前缀与每个列名做到
-c 使用完整的INSERT语句(用列名字)
-C 如果客户端服务器均支持压缩,压缩两者间所有的信息
--delayed 用INSERT DELAYED命令插入行
-e 使用全新多行的INSERT语句(给出更紧凑的、更快的插入语句)
-F 在开始导出前,清掉MYSQL服务器中的日志文件
-f 继续在导出一个表的时候得到一个SQL错误,仍然继续导出
-l 开始导出时锁定所有表
-t 不写入表创建信息(CREATE TABLE语句)
-d 不写入表的任何行信息。如果你只想得到一个表的结构的导出,这是很有用的(导出表结构)
--opt 同-quick --add-drop-table --addlocks --entnded-insert --lock-tables 应该给你为读入一个MYSQL服务器的尽可能快的导出
-q 不缓冲查询,直接导出至stdout;使用mysql_use_result()做他
-v 冗长模式。打印出程序所做的更多的信息
二、编码集
数据库使用的是Latin1的编码方式。如果直接采用mysqldump导出的话,发现中部分是乱码,所以需要加入参数--default-character-set=latin1
三、命令
最后执行
D:/soft/MySQL/bin/mysqldump -uroot -proot -h192.168.1.26 -P3306 --add-locks -t _dianxiao --default-character-set=latin1 > C:/_dianxiao.sql
D:/soft/MySQL/bin/mysqldump -uroot -proot -h192.168.1.26 -P3306 -t _dianxiao >E:/backdir/telesales20090219_110755.sql