2014-12-14 1 views
-1

Я хочу создать копию моего сайта на другом хосте. Я под свободным планом на обоих хозяев.Как экспортировать базу данных на другой хост, который не позволяет создать новую базу данных с моим старым именем базы данных?

Новый хост, в котором я пытаюсь скопировать мой сайт, позволяет создать новую базу данных с именем xyzhost_id_*. Но мое предыдущее имя базы данных abchostid_*

В моей базе данных abchostid_ * есть 40 + столов.

Что мне делать?

ответ

0

Если вы выполняете mysqldump, там обычно нет информации о базе данных, просто схема таблицы. Если вы хотите создать базу данных, просто откройте свой файл sql и удалите их. Они будут выглядеть примерно так: «create database your_database» и «use your_database». Затем, используя phpmyadmin, вы можете просто создать новую базу данных и загрузить файл SQL.

+0

'mysqldump -u root -p --opt [abchostid_ *]> [abchostid _ *]. Sql' это эта команда? @Dotcomsuperstar –

+0

Просто, чтобы быть ясным, ограничение имен для имени таблицы или имени базы данных? В любом случае «mysqldump YOUR_DB_NAME -u root -p> dump.sql» будет работать. Затем вы можете использовать «sed» (поиск и замену linux) в файле, чтобы переименовать все таблицы (если ограничение относится к именам таблиц), но это может испортить ситуацию, если вы неправильно используете регулярное выражение. Поскольку это всего лишь 40 таблиц, я бы просто отредактировал дамп и вручную переименовал таблицы, убедившись, что вы обновляете какие-либо внешние ключи (aka CONSTRAINT) – dotcomly

+0

Кроме того, на новом хосте, если у вас нет phpmyadmin, сначала создайте базу данных, используя что-то как «создать базу данных my_db» и загрузить ее с помощью: mysql YOUR_DB_NAME -u root -p dotcomly

0

В основном вы можете рассматривать «xyzhost_id_» и «abchostid_» в качестве префиксов таблиц. Перейдите в список и переименуйте свои таблицы и убедитесь, что ваши скрипты будут иметь новый префикс в запросах.

+0

Создать новую таблицу на хосте xyz с именем dbname хоста abc? Пожалуйста, дополните. @ valicu2000 –

+0

Вы можете экспортировать каждую таблицу в отдельный файл .sql, а затем импортировать их на новый хост. Также вам нужно переименовать свою старую базу данных в скрипт. – valicu2000

+0

Проблема решена. В любом случае, для целей знания, я тоже хотел бы знать ваш метод. Вы имеете в виду, что я должен открыть каждую таблицу и изменить имя db? –

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