我有一个带有5个表和TEST版本的MySQL数据库的LIVE版本.
我一直在使用phpMyAdmin将LIVE版本中的每个表复制到TEST版本.
有没有人有mysql查询语句来制作数据库的完整副本?查询字符串需要考虑结构,数据,自动增量值以及与需要复制的表相关联的任何其他内容.
谢谢.
好的,经过大量研究、谷歌搜索并阅读本文中每个人的评论后,我生成了以下脚本 - 我现在从浏览器地址栏运行该脚本。对其进行了测试,它完全符合我的需要。感谢大家的帮助。
<?php
function duplicateTables($sourceDB=NULL, $targetDB=NULL) {
    $link = mysql_connect('{server}', '{username}', '{password}') or die(mysql_error()); // connect to database
    $result = mysql_query('SHOW TABLES FROM ' . $sourceDB) or die(mysql_error());
    while($row = mysql_fetch_row($result)) {
        mysql_query('DROP TABLE IF EXISTS `' . $targetDB . '`.`' . $row[0] . '`') or die(mysql_error());
        mysql_query('CREATE TABLE `' . $targetDB . '`.`' . $row[0] . '` LIKE `' . $sourceDB . '`.`' . $row[0] . '`') or die(mysql_error());
        mysql_query('INSERT INTO `' . $targetDB . '`.`' . $row[0] . '` SELECT * FROM `' . $sourceDB . '`.`' . $row[0] . '`') or die(mysql_error());
        mysql_query('OPTIMIZE TABLE `' . $targetDB . '`.`' . $row[0] . '`') or die(mysql_error());
    }
    mysql_free_result($result);
    mysql_close($link);
} // end duplicateTables()
duplicateTables('liveDB', 'testDB');
?>