Копирование существующих данных таблицы из базы данных только для чтения в базу данных для чтения и записи MySQL - PullRequest
1 голос
/ 02 апреля 2012

У меня есть две базы данных, для одной у меня есть только права на чтение, а для другой у меня есть права на чтение и запись.Давайте назовем их A и B соответственно.

Есть таблица в A, которую мне нужно скопировать (с ее данными и структурой) в B. Для копирования ее структуры я использовал ключевое слово «LIKE», но оно не сработало.Поэтому я также не смог скопировать данные.

У вас, ребята, есть еще какие-нибудь предложения?Заранее спасибо.

Ответы [ 2 ]

2 голосов
/ 02 апреля 2012

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

DROP TABLE IF EXISTS backup_db.table1; 
CREATE TABLE backup_db.table1 SELECT * FROM live_db.table1; 

Или вы можете использовать mysqldump

mysqldump -u root -p --opt dbname table1  > ~/export.sql

И поместить ее в другуюбаза данных, вы должны сделать:

mysql -u root -p dbname2 < ~/export.sql

Редактировать: Также, пожалуйста, обратите внимание, что если у вас есть настройки master и slave, это произойдет автоматически.Раб только для чтения, а мастер для чтения / записи.Данные с главного устройства будут автоматически скопированы на ведомое устройство, но вам потребуется два сервера.Просто для вашей информации.

2 голосов
/ 02 апреля 2012

Взгляните на mysqldump .Это позволит вам сделать резервную копию данных / структуры таблицы в файл с сервера A и восстановить его на сервере B.

mysqldump [options] db_name [tbl_name ...]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...