2016-03-21 7 views
1

У меня есть большая база данных mysql в server_1 (OS is Windows), и я хочу скопировать все данные в server_1 на server_2 (OS is Centos). Я попытался экспортировать данные в server_1 в sql-файл и загрузить файл sql в server_2, но это занимает много времени.mysql, как резервное копирование данных на другую машину

Я думаю, что код записи (Pandas) для копирования данных - это выбор, но данные очень большие, а server_1 и server_2 не находятся в локальной локальной сети (у них есть частный IP-адрес), рассмотрите сетевую перегрузку, возможно, это не хороший выбор.

Помогите вам предложить хорошее решение. Благодаря!

+0

Если я правильно понял, это поможет: [http://dba.stackexchange.com/questions/20/how-can-i-optimize-a-mysqldump-of-a-large-database](http : //dba.stackexchange.com/questions/20/how-can-i-optimize-a-mysqldump-of-a-large-database) – Jbertrand

ответ

2

взять резервную копию с вашего окном машины по туздЫшпру из командной строки:

mysqldump -R --triggers --events -uroot -p<root_pass> --all-databases > c:/backup/mybackup.sql 

Теперь переместите эту резервную копию на ваш CentOS машину, вы можете воспользоваться помощью WinSCP (можно архивировать, если требуется):

Теперь восстановление данных с помощью следующей команды:

mysql -uroot -p<root_pass> < /backup_path/mybackup.sql 

Update1

одного резервного копирования БД:

mysqldump -R -uroot -proot_pass db1 > c:/backup/db1.sql 

множественным дб резервного копирования:

mysqldump -R -uroot -proot_pass -B db1 db2 db3 > c:/backup/db1_2_3.sql 

Single/несколько таблиц резервного копирования:

mysqldump -uroot -proot_pass db1 tbl1 tbl2 tbl3 > c:/backup/db1_tbl_1_2_3.sql 

Далее в качестве размера БД 1 ТБ, который будет принимать даже mysqldump, поэтому вы также можете просто скопировать двоичный файл, даже если это не чистая процедура, но вы можете использовать его.

Шаг1: Остановите службу mysql.

Шаг 2: архивируйте каталог данных mysql и перейдите на целевую машину.

Шаг 3: Остановите службу mysql на машине taget и сделайте резервную копию всех файлов, которые существуют в вашем каталоге данных mysql, и очистите отсюда.

Шаг 4: скопируйте все данные в каталоге mysql из резервной копии в целевой целевой каталог mysql.

Шаг 5: изменить разрешение этого скопированного файла в каталоге mysql по команде ниже.

$ chown -R mysql.mysql /var/lib/mysql 

Примечание: Если предположить, что каталог данных является/вар/Lib/MySQL

Step6: Запустите службу MySQL.

Примечание: Возможно, вы получаете предупреждения в файле журнала mysql, но mysql должен работать нормально.

+0

«mysqldump» занимает много времени для резервного копирования данных?Как его производительность? –

+0

Какой у вас размер db ... он должен быть быстрее других методов. –

+0

Около 1 ТБ. Как я могу выбрать конкретную базу данных, использующую mysqldump, а не '--all-databases', или резервное копирование баз данных в MySQL один за другим. –

Смежные вопросы