0

我一直在尝试找到一种备份和恢复数据库的好方法,结果发现了mysqldump. 我一直在使用命令提示符来访问可执行文件,并且可以使用以下命令在 sql 文件中创建数据库的备份:

mysqldump.exe -u [username] -p [databasename] -h localhost > [path]\backup.sql  

然后我输入我的密码以执行它。
万一它不明白:

[username]=my username for accessing the database  
[databasename]=my name for the database that I'm trying to back up  
[path]=the folder path to where I want to save my back up.  

使用这个命令,我可以创建一个备份,我查看并发现恢复它的方法就是翻转它,> to <所以你会得到这个:

mysqldump.exe -u [username] -p [databasename] -h localhost > [path]\backup.sql  

然后我输入我的密码以执行它。
当它执行时,它会打印出它正在转储的内容(如果我删除了一些应该恢复的表,则不会创建新表)。我认为它只添加了表中尚未添加的值,因为我添加了一行,并且在我尝试恢复以前版本的数据库时它没有被删除。
我可以使用客户端或命令提示符命令正常执行 backup.sql 文件,但我只想了解为什么mysqldump它没有按照我的预期执行。

4

1 回答 1

0

mysqldump仅用于备份,您不能使用它从转储中加载数据。mysqldump生成一个转储文件,其中只包含重新创建数据库结构和重新填充数据所需的 SQL 命令。

恢复饲料转储到mysql.exe.

当你这样做

mysql -u[username] -p[root_password] [database_name] < dumpfile.sql

你基本上登录到 MySQL,然后你要求它执行保存在里面的所有 SQL 操作,就dumpfile.sql这么简单。

于 2013-04-03T17:43:41.147 回答