У меня есть несколько баз данных 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)'
Разве нет ли просто команда, которую я могу использовать для взятия базы данных, которую я вывел от одного компьютера, и имейте его, перезаписывают его дубликат на другом компьютере? Эти базы данных являются в основном тем же в каждом отношении, за исключением небольшие ежедневные изменения, которые я вношу.
Я верю всему, что необходимо сделать, выполняют следующее:
mysql -u root -p[root_password] [mydatabase] < mydatabase.sql
mydatabase должен существовать, чтобы сделать это; в противном случае создайте его с помощью create database mydatabase