将测试数据库重建为生产数据库

时间:2011-10-06 13:06:58

标签: mysql database

我使用手动删除,更新和其他查询在MySQL中测试数据库已有几个月了。可以说数据库已被滥用了。

我现在想将它上传到我的生产服务器,但我想从一个新的副本开始。有没有办法做到这一点?

我不想保留任何数据。我只想要一个漂亮,干净的数据库,从未被滥用数月的测试。

2 个答案:

答案 0 :(得分:1)

如果您使用的是mysqldump,请提供--no-data参数:

mysqldump --host=host --user=user --password=password --no-data db_name > structure.sql

这将创建一个包含必要的CREATE TABLE语句的新文件structure.sql。

如果您有其他一些允许导出的管理工具,例如phpMyAdmin,您应该可以选择省略数据并仅导出结构。

答案 1 :(得分:1)

如果在DB Manager软件中找不到该选项,则可以始终对每个表使用TRUNCATE TABLE <table_name>;。这将清除表,并将AUTO_INCREMENT计数器返回0(如果您正在使用它)。 如果您使用外键,则可以包装所有截断查询,如下所示:

SET FOREIGN_KEY_CHECKS=0;

TRUNCATE TABLE <table_name1>;
TRUNCATE TABLE <table_name2>;

SET FOREIGN_KEY_CHECKS=1;

避免外国支票。