如何从命令行转储和恢复 Dropbox 中的 MySQL 数据库?

如何从命令行转储和恢复 Dropbox 中的 MySQL 数据库?

我有几个 MySQL 数据库,我想在两台计算机之间同步它们。我希望能够在一台计算机上有一个快速命令或脚本,我可以使用它快速将数据库转储到我的 Dropbox 上的文件夹中。然后有一个类似的恢复脚本,我可以使用它来覆盖第二台计算机上的现有数据库。

第一步似乎很简单。我可以.sql使用以下命令创建一个快速文件:

mysqldump -u root -p mydatabase > /home/dave/Dropbox/MySQL/mydatabase.sql

这是我遇到麻烦的另一面。显然,MySQL 不会轻易让我用新内容覆盖现有数据库的内容。我尝试了两种方法,但都没有奏效。

我第一次尝试mysqlimport,但它只是给出了一堆关于如何使用命令的说明,在网上查看后,我发现这是因为它根本不会覆盖数据库:

$ mysqlimport -u root -p mydatabase < /home/dave/Dropbox/MySQL/mydatabase.sql

因此我尝试首先删除数据库,但是出现以下错误:

$ mysqladmin -u root -p drop mydatabase
Enter password: 
Dropping the database is potentially a very bad thing to do.
Any data stored in the database will be destroyed.
Do you really want to drop the 'mydatabase' database [y/N] y
mysqladmin: DROP DATABASE mydatabase failed;
error: 'Error on delete of './mydatabase//db.opt' (Errcode: 13)'

有没有一个简单的命令可以用来获取我从一台计算机转储的数据库并覆盖另一台计算机上的对应数据库?除了我每天所做的小改动外,这些数据库在各个方面都大体相同。

答案1

我相信您需要做的就是执行以下操作:

 mysql -u root -p[root_password] [mydatabase] < mydatabase.sql

要执行此操作,mydatabase 必须存在;如果不存在,请使用以下方法创建它create database mydatabase

相关内容