Подтвердить что ты не робот

Перенос базы данных Mysql на другой компьютер

У меня есть база данных mysql, заполненная и запущенная на компьютере под управлением Windows, есть ли какой-либо инструмент для переноса базы данных на другой компьютер (работает Ubuntu)?

Else Я просто напишу script, чтобы взять всю базу данных в SQL и вставить ее на другой компьютер. Просто пытаясь сэкономить время:)

Спасибо всем.

4b9b3361

Ответ 1

Инструмент, о котором вы говорите, уже существует: mysqldump

Он выгружается в sql, который затем можно скопировать на другую машину и перезагрузить.

например:

в источнике:

mysqldump -u username -p databasename > dumpfile.sql

Затем используйте ftp/rsync/whatever для перемещения файла на конечный компьютер и там создайте пустую базу данных для импорта и запуска:

mysql -u username -p databasename < dumpfile.sql

Вам также необходимо настроить разрешения для всех пользователей, которые также были перенесены, поскольку они не хранятся в базе данных.

В качестве альтернативы вы можете скопировать файлы из файла данных mysql, но mysqldump является самым простым и надежным способом.

Стоит отметить, что имена таблиц могут становиться чувствительными к регистру в одной системе, если они не были на оригинале. Это зависит от конфигурации на обоих концах - в частности, чувствительности к регистру (или иначе) файловой системы.

Ответ 2

Вместо того, чтобы экспортировать базы данных один за другим, вы можете экспортировать их все с помощью одной команды. Затем импортируйте их. например.

mysqldump -u username -p --all-databases > c:\alldbs.sql

PS. Самое большое преимущество заключается в том, что вы не теряете пользовательские привилегии.

Ответ 3

Файлы на диске на 100% совместимы между всеми выпусками MySQL. Вам просто нужно следить за случаем имен файлов, потому что это имеет значение в Unix, хотя это иногда происходит только в Windows.

И не забывайте останавливать MySQL перед тем, как взять копию. Файлы MyISAM в порядке, чтобы взять копию во время работы, но файлы InnoDB на самом деле небезопасны, и Windows "MySQL по умолчанию использует файлы InnoDB.

Ответ 4

Будьте осторожны с наборами символов при использовании mysqldump, особенно в окнах. Я предпочитаю явно устанавливать кодировку my db и использовать файл -result-file = вместо использования операторa > , чтобы что-то не исказилось.

Ответ 5

Из документации MySQL: http://dev.mysql.com/doc/refman/5.0/en/copying-databases.html

shell> mysqldump --quick db_name | gzip > db_name.gz

Перенесите файл, содержащий содержимое базы данных, на целевой компьютер и выполните следующие команды:

shell> mysqladmin create db_name
shell> gunzip < db_name.gz | mysql db_name

Ответ 6

Вы можете сделать резервную копию с помощью любого инструмента gui, такого как Mysql Administrator (http://dev.mysql.com/downloads/gui-tools/ в Windows, aptitude установить mysql-admin на Ubuntu ) или phpmyadmin (http://www.phpmyadmin.net/home_page/index.php в Windows, aptitude install phpmyadmin на Ubuntu), а затем восстановить его на другом компьютере.

Ответ 7

mysqldump должен корректно выгружать его и сохранять набор символов в базе данных. Желательно перейти к той же версии mysql, если вы не хотите проблем.

Файл, созданный mysqldump, НЕ является текстовым файлом, несмотря на внешность, не редактируйте его с помощью notepad.exe и т.д., иначе у вас появятся проблемы.

Дампы, созданные сторонними инструментами gui, особенно phpmyadmin, обычно неточны и не обязательно будут правильно восстановлены.

Ответ 8

Я часто использую некоторые варианты этого однострочного шрифта для копирования базы данных по сети.

mysqldump --opt --compress --user=username database | mysql --user=username2 --password=p2 --host=hostB -D database -C database

Что я изначально читал здесь:

http://www.igvita.com/2007/10/10/hands-on-mysql-backup-migration/

Ответ 9

С помощью нового инструментария mysql (инструмент gui) вы можете легко экспортировать базу данных и импортировать ее в базу данных, которую вы хотите перенести.