MySQL完整备份和恢复数据库

    xiaoxiao2021-03-25  91

    1 问题背景

    使用mysqldump命令可以方便的对数据库进行备份,如下:

    mysqldump -uroot -p******  test > test.sql

    上述命令表示将test数据库备份到test.sql文件中。

    备份完成后,我们打开test.sql文件,可以看到在这个sql文件中包含了创建test数据库中所有表及数据的SQL语句。

    在另外一台电脑上,基于test.sql我们想恢复test数据库,执行以下命令时出现问题:

    mysql -uroot -p****** test < test.sql

    系统提示:Unkown database test ....

    2 原因分析

    出现上述问题的原因是:在要恢复数据库的电脑上并不存在test数据库,而备份产生的test.sql文件中也没有包含创建test数据库的指令。

    3 解决方法

    根据上述分析,我希望在test.sql中直接包含有创建test数据库的指令,由此,想到了 --databases 备份多个数据库的参数。

    修改备份命令:

    mysqldump -uroot -p******  --databases test > test.sql

    备份后打开test.sql文件,可以看到在文件的开头有创建test数据库的指令。

    修改恢复命令:

    mysql -uroot -p******  < test.sql

    执行上述恢复命令后,即使该电脑上原来没有test数据库,也能完整的创建并恢复test数据库。

    转载请注明原文地址: https://ju.6miu.com/read-17750.html

    最新回复(0)