我一直在努力寻找一种备份和恢复数据库的好方法,并且遇到了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
没有按照我的预期执行。
答案 0 :(得分:0)
mysqldump
仅用于备份,您无法使用它从转储加载数据。 mysqldump
生成一个转储文件,该文件只包含重新创建数据库结构并使用数据重新填充数据库结构所必需的SQL命令。
要将转储恢复到mysql.exe
。
当你这样做时
mysql -u[username] -p[root_password] [database_name] < dumpfile.sql
你基本上登录MySQL,然后你要求它执行dumpfile.sql
中保存的所有SQL操作就这么简单。