我使用手动删除,更新和其他查询在MySQL中测试数据库已有几个月了。可以说数据库已被滥用了。
我现在想将它上传到我的生产服务器,但我想从一个新的副本开始。有没有办法做到这一点?
我不想保留任何数据。我只想要一个漂亮,干净的数据库,从未被滥用数月的测试。
答案 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;
避免外国支票。