Как я могу изменить регистр имени базы данных в MySQL? - PullRequest
19 голосов
/ 10 ноября 2009

Имя моей базы данных SPM, и я хочу изменить его на spm (маленькие буквы).

Я пытался использовать

RENAME DATABASE SPM TO spm;

, но я получаю следующее сообщение об ошибке:

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DATABASE SPM to spm' at line 1

Версия моего сервера: 5.0.45

Ответы [ 6 ]

29 голосов
/ 10 ноября 2009

Нет команды базы данных, чтобы сделать это. Вы в основном должны делать это вне базы данных. Ниже приведены некоторые ссылки с изложением возможных решений. На этот вопрос

он получил довольно хороший ответ

Вероятно, так и должно быть в вашем случае

mysqladmin create spm
mysqldump SPM | mysql spm

После того как вы убедились, что все в порядке, вы можете удалить исходную базу данных.

drop database SPM

Ссылки Переименовать базу данных 1 / Переименовать базу данных 2

[Примечание к команде " RENAME DATABASE ": этот оператор был добавлен в MySQL 5.1.7, но признан опасным и удален в MySQL 5.1.23.]

3 голосов
/ 26 апреля 2012
RENAME {DATABASE | SCHEMA} db_name TO new_db_name;

Это утверждение было добавлено в MySQL 5.1.7, но было признано опасным и было удалено в MySQL 5.1.23. Он был предназначен для обновления баз данных до 5.1 для использования кодировки, реализованной в 5.1, для сопоставления имен баз данных с именами каталогов баз данных. Однако использование этого оператора может привести к потере содержимого базы данных, поэтому оно было удалено. Не используйте RENAME DATABASE в более ранних версиях, в которых он присутствует.

Чтобы выполнить задачу обновления имен базы данных с новой кодировкой, используйте ALTER DATABASE db_name UPGRADE DATA DIRECTORY NAME.

1 голос
/ 10 ноября 2009

Используйте mysql_dump для выгрузки содержимого базы данных старой схемы (она генерирует выходные данные SQL и может содержать все операторы объекта CREATE), переключитесь на новую схему и выполните этот скрипт mysql> . dump.sql

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

Удалите старую схему, когда вы убедитесь, что все работает.

0 голосов
/ 03 июня 2014

Вы можете изменить имя своей базы данных, используя Mysql User interface

Шаг 1: Прежде всего, зайдите в localhost / phpmyadmin / и нажмите на вашу базу данных

Шаг 2: Нажмите на вкладку Opertaion

Шаг 3: введите имя новой базы данных в текстовое поле (Переименовать базу данных)

Step4: нажмите Go Buttton

0 голосов
/ 10 ноября 2009

Используйте команда переименования базы данных .

Вы также можете попытаться остановить свой сервер MySQL и переименовать папку, содержащую ваши данные БД, в нужное вам имя. Затем запустите свой сервер и проверьте права доступа - они могут все еще содержать ссылки на ваше старое имя базы данных.

0 голосов
/ 10 ноября 2009

Это делается с помощью оператора RENAME DATABASE:

RENAME DATABASE old_db_name TO new_db_name;

Это утверждение было добавлено в MySQL 5.1.7, но было признано опасным и было удалено в MySQL 5.1.23.

...