Как переименовать базу данных MySQL?
В онлайн-руководстве по MySQL говорится о команде RENAME DATABASE (эта страница документации была удалена Oracle некоторое время назад):
Это утверждение было добавлено в MySQL 5.1.7, но было признано опасным и было удалено в MySQL 5.1.23.
Итак, как поступить? Обоснование: мы начали с кодового имени для проекта и хотим, чтобы имя базы данных теперь отражало окончательное имя проекта.
Ответы:
Из этого поста Илана Хазана:
В MySQL нет поддержки переименования базы данных. Чтобы переименовать базу данных MySQL, вы можете выполнить одно из следующих действий:
Создайте новую базу данных и переименуйте все таблицы в старой базе данных, чтобы они были в новой базе данных:
В оболочке Linux используйте mysqldump для резервного копирования старой базы данных, а затем восстановите базу данных с дампом под новым именем с помощью утилиты MySQL. Наконец, используйте команду drop database, чтобы удалить старую базу данных. Эта опция может плохо работать для большой базы данных.
Написать простой Linux-скрипт (мое любимое решение)
Если все ваши таблицы MyISAM, вы можете переименовать имя старой папки базы данных:
источник
SELECT CONCAT('olddb.', TABLE_NAME, ' TO newdb.', TABLE_NAME, ',') FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='olddb';
;MySQL вроде бы отстой для этого. Единственное твердое надежное решение - это использовать
phpMyAdmin
.Login
-> clickScheme
-> clickOperations
-> найтиRename database to:
-> написатьNewName
> clickGo
.Так просто, как, что. Все разрешения перенесены.
источник
Я нашел очень простое решение: выключите MySQL, переименуйте каталог базы данных и перезапустите. Вот и все!
Это немного опасно, если у вас есть код SQL или данные, ссылающиеся на старое имя. Затем вам необходимо изменить это, прежде чем перезапустить приложение. Но мне не нужно было этого делать, кроме YMV.
Поиск в Google дает несколько указателей, таких как эти два:
https://stackoverflow.com/questions/67093/how-do-i-quickly-rename-a-mysql-database-change-schema-name
http://www.delphifaq.com/faq/databases/mysql/f574.shtml
источник
Я склонен создавать новую базу данных, а затем выгружать таблицы из старой в файл .sql (с помощью mysqldump), редактировать файл, выполнять какие-
s/old_database/new_database/g
то операции и затем снова импортировать его в новую базу данных.Вероятно, не лучший способ сделать это, но это работает.
источник
Если у вас есть возможность использовать MySQL Management-Tool (например, phpMyAdmin), вы можете легко переименовать его, так как он создает запрос для вас.
В phpMyAdmin они также создают каждую таблицу и вставляют данные с помощью «INSERT INTO ... SELECT * FROM ...». Таким образом, цепочкой они копируют данные.
Если вы не можете сделать это, я бы порекомендовал сделать дамп и повторно импортировать файл sql в новую базу данных.
Удачи!
С уважением, Бен.
источник
Я использовал следующий метод для переименования базы данных
сделать резервную копию файла, используя mysqldump или любой инструмент БД, например, heidiSQL, администратор mysql и т. д.
Откройте файл резервной копии (например, backupfile.sql) в каком-либо текстовом редакторе.
Найдите и замените имя базы данных и сохраните файл.
Восстановить отредактированный файл sql
источник