繁体   English   中英

MySQL备份和从命令行恢复

[英]MySQL backup and restore from command line

我正在使用命令行来备份和恢复MYSQL数据库。 让我使用具有视图和过程的Database Data1。 Cmd line ,我使用mysqldump ie

..>bin> mysqldump -u root -proot Data1 > Datafile.mysql

当我使用上面的Cmd时,它使用Dtafile.mysql名称在Mysql的bin文件夹上创建一个备份文件。

但问题是它创建了仅备份表,而不是程序。

当我在空白数据库“Data2”中恢复它时

..bin> mysql - u root -proot Data2 < Dataafile.mysql

它的作用是,它创建了所有表并将视图转换为表,并且没有恢复任何过程。

意味着我无法使用所有表,视图和过程恢复完整数据库备份。

你们中的任何人都可以帮助它......我会非常感激。

包含mysqldump的“--routines”参数,它将转储过程。

编辑#1:你的mysqldump命令现在看起来像,

mysqldump -u root -proot --routines Data1 > Datafile.mysql

编辑#2:
如果要保留视图,还需要添加--add-drop-table开关。 原因是视图分两步创建(首先是虚拟表,然后是真实视图)。 另请注意,表和视图共享相同的名称空间,因此不要被mysqlclient中“Show Tables”命令给出的输出误导。 如果该命令显示创建视图查询然后使用bingo,请使用“显示创建视图vw_test”,同时确保已正确恢复视图,将一些数据插入到其他数据库的相关表中,然后运行选择查询。看来,如果数据比你击中靶心还要紧张,那就拍拍自己吧:)否则你总能回到Stackoverflow这个美妙的社区。

所以(维护视图)你的mysqldump命令现在应该是这样的

mysqldump -u root -proot --routines --add-drop-table Data1 > Datafile.mysql

HTH

备份数据库使用命令行有三种最佳方法,phpmyadmin或mysql管理员mysql数据库备份和恢复方便,使用mysql数据库备份

mysql管理员

phpMyAdmin的

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM