Воссоздать структуру базы данных MySQL и хранимые процедуры

0

У меня есть набор таблиц MYSQL на сервере разработки, который мне нужно разместить на рабочем сервере. Как я могу "воссоздать" все из них?

Есть триггеры, присутствующие также (я думаю). Мне нужно воссоздать все.

Теги:
mysqldump

2 ответа

2
Лучший ответ

Используйте mysqldump, чтобы создать файл дампа, который вы можете подать на mysql на целевом сервере.

Чтобы убедиться, что триггеры также экспортируются, используйте параметр --triggers. (Хотя я думаю, что они включены по умолчанию.)

Чтобы убедиться, что хранимые процедуры также экспортируются, используйте параметр --routines. Обратите внимание, что (внимание мое):

Этот параметр был добавлен в MySQL 5.1.2. До этого хранящиеся подпрограммы не сбрасываются. Текущее значение DEFINER не сбрасывается до MySQL 5.1.8. Это означает, что до 5.1.8, когда подпрограммы перезагружаются, они будут созданы с помощью определителя, установленного для пользователя перегрузки. Если вам требуется воссоздать подпрограммы с их исходным определителем, дамп и загрузить содержимое таблицы mysql.proc непосредственно, как описано ранее.

  • 0
    Есть ли способ получить эти данные через myphpadmin?
  • 0
    @ tzmatt хмм, я понятия не имею, phpMyAdmin уже сбрасывает триггеры и сохраненные процессы. Я думаю, что это не так - вы должны проверить или попробовать
Показать ещё 2 комментария
0

Используйте тупик mysqldump (который находится здесь). Если вы не укажете таблицы, он принимает все таблицы. Вы также можете явно выбрать таблицы для копирования или для игнорирования. Вы можете сообщить об этом, чтобы создавать инструкции для сброса перед вашими заявлениями о создании. Он берет на себя заботы о триггерах, но я забываю, если он позаботится о подпрограммах, вам придется взглянуть.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню