У меня есть база данных на локальном сервере с именем "empData", и я хочу, чтобы все данные из этой базы данных были скопированы в другую базу данных, которая находится на другом сервере (веб-сервере) с именем "empDataBackup".
Я пробовал этот код mysql_query("INSERT INTO empData.backup_emp SELECT * FROM empData.emp");
Но это не сработало, поскольку обе базы данных не находятся на одном сервере... (так как в нашем случае один из них локальный, а другой - на веб-сервере).
пожалуйста, помогите..
Сбросьте свои данные с помощью mysqldump
, а затем переместите этот файл в mysql
, чтобы импортировать данные где-то еще.
На сервере1:
mysqldump empData > empData.sql
На сервере2:
mysql < empData.sql
Если вы хотите получить фантазию, вы можете использовать pipe и ssh для передачи данных непосредственно с сервера1 на server2.
--insert-ignore
mysqldump
чтобы он выписал операторы INSERT IGNORE
для всех данных. Таким образом, он не будет перезаписывать строку, если ключ уже существует. dev.mysql.com/doc/refman/5.1/en/...
Всегда есть возможность прямого Репликация MySQL, полагаясь на ваш PHP script, чтобы синхронизировать базы данных
это не ответ на PHP, но, возможно, вам пришло в голову:
mysqldump --host=db1.example.com --user=db1user --password=db1pass --single-transaction myschema mytable | \
mysql --host=db2.example.com --user=db2user --password=db2pass myschema
Если вы не можете получить доступ к обоим узлам с одного компьютера, вы можете использовать ssh, например.
ssh db1.example.com 'mysqldump --user=db1user --password=db1pass --single-transaction myschema mytable' | \
mysql --user=db2user --password=db2pass myschema
или
mysqldump --user=db1user --password=db1pass --single-transaction myschema mytable | \
ssh db2.example.com 'mysql --user=db2user --password=db2pass myschema'
Вы должны сбросить базу данных на исходном сервере, затем скопировать ее на другой сервер и восстановить ее.
Для каждого из этих действий существует "сторона сервера" и "PHPside". Если вы можете, используйте первый. Если вы не можете использовать второе, но вам нужно уделять дополнительное внимание безопасности.
Серверная сторона: 1. и 3.: используйте mysqldump. 2. Используйте scp для передачи файла.
Сторона PHP: 1. используйте script для создания баз данных, таких как этот. 2. Скопируйте файл с помощью CURL или поместите его в доступный каталог, как-то защитив его. 3. Извлеките файл со второго сервера и просто запустите его через mysql_exec для восстановления базы данных.