2009-11-10 12 views
17

Mi nombre de base de datos es SPM y quiero cambiarlo a spm (letras minúsculas).¿Cómo puedo cambiar el nombre de la base de datos en MySQL?

He intentado utilizar

RENAME DATABASE SPM TO spm; 

, pero yo estoy recibiendo el siguiente mensaje de error:

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 

Mi versión del servidor: 5.0.45

+0

eRROR 1064 (42000): Usted tiene un error i n su sintaxis SQL; revise el manual que corresponde a su versión del servidor MySQL para la sintaxis correcta para usar cerca de 'SPM SPM to spm' en la línea 1 – Rachel

+0

mysql> RENOMBRE DE LA BASE DE DATOS SPM TO spm; ERROR 1064 (42000): Tiene un error en la sintaxis SQL; verifique el manual que corresponde a su versión del servidor MySQL para la sintaxis correcta para usar cerca de 'DATABASE SPM TO spm' en la línea 1 – Rachel

+0

posible duplicado de [¿Cómo cambio rápidamente el nombre de una base de datos mysql (cambie el nombre del esquema)?] (http://stackoverflow.com/questions/67093/how-do-i-quickly-rename-a-mysql-database-change-schema-name) –

Respuesta

29

No hay un comando de base de datos para hacerlo. Básicamente tienes que hacerlo fuera de la base de datos. A continuación hay algunas referencias que describen posibles soluciones. Se ha respondido bastante bien en este question

Esto es probablemente lo que debe ser similar en su caso

mysqladmin create spm 
mysqldump SPM | mysql spm 

Después de haber comprobado que todo está en orden se puede soltar la base de datos original.

drop database SPM 

Referencias Rename database 1/Rename database 2

[Nota sobre el comando "RENAME DATABASE": se añadió. Esta declaración en MySQL 5.1.7, pero se encontró que era peligroso y se separó en MySQL 5.1.23]

+0

Solo quería agregar, phpMyAdmin tiene una función Cambiar nombre. Simplemente seleccione la base de datos y luego haga clic en "Operaciones" y luego en Cambiar nombre. Crea una base de datos con el nuevo nombre, copia la anterior y luego la elimina. –

-1

Esto se hace con un RENAME DATABASE declaración:

RENAME DATABASE old_db_name TO new_db_name; 

Esta declaración se agregó en MySQL 5.1.7 pero se descubrió que era peligrosa y se eliminó en MySQL 5.1.23.

+0

Espero que no te importe que haya alterado tu respuesta. Siéntete libre de revertir si crees que fue inapropiado. – soulmerge

+0

No me importa :) Agregué una pequeña nota sin embargo. – dstibbe

+3

No aplica. Y no debe ser usado. –

-1

Utilice rename database comando.

También puede intentar detener su servidor mysql y cambiar el nombre de una carpeta que contiene sus datos db al nombre que prefiera. Luego, inicie su servidor y verifique las concesiones; es posible que aún contengan referencias a su nombre de base de datos anterior.

+0

ERROR 1064 (42000): tiene un error en la sintaxis SQL; revise el manual que corresponde a su versión del servidor MySQL para la sintaxis correcta para usar cerca de 'SPM SPM to spm' en la línea 1 – Rachel

+0

Por favor, déme un comando que intente ejecutar. – silent

+0

mysql> RENOMBRE DE LA BASE DE DATOS SPM TO spm; ERROR 1064 (42000): Tiene un error en la sintaxis SQL; revise el manual que corresponde a su versión del servidor MySQL para la sintaxis correcta para usar cerca de 'DATABASE SPM TO spm' en la línea 1 – Rachel

1

uso mysql_dump para volcar el contenido de bases de datos del viejo esquema (que produce una salida de SQL, y puede incluir todos los objetos CREATE), cambiar al nuevo esquema, y ​​ejecutar ese script mysql> . dump.sql

Si se trata de una base de datos grande, esto puede llevar un tiempo, pero es la forma más segura de hacerlo (asegúrese de suspender todas las aplicaciones que utilizan la base de datos mientras se realiza el proceso de conversión).

Elimine el esquema anterior cuando esté satisfecho de que todo funcionó.

+0

¿Puede explicarme más sobre cómo se puede lograr esto ya que nunca he usado el volcado de MySQL y por lo tanto no estoy seguro de cómo funcionará? – Rachel

+0

¿De verdad tiene que ponerlo en un archivo? ¿Es esta ventana específica? –

3
RENAME {DATABASE | SCHEMA} db_name TO new_db_name; 

Esta declaración se agregó en MySQL 5.1.7 pero se encontró que era peligrosa y se eliminó en MySQL 5.1.23. Su objetivo era permitir la actualización de bases de datos pre-5.1 para utilizar la codificación implementada en 5.1 para mapear nombres de bases de datos a nombres de directorios de bases de datos. Sin embargo, el uso de esta declaración podría resultar en la pérdida de contenido de la base de datos, razón por la cual fue eliminada. No use RENAME DATABASE en versiones anteriores en las que esté presente.

Para realizar la tarea de actualizar los nombres de las bases de datos con la nueva codificación, use ALTER DATABASE db_name UPGRADE DATA DIRECTORY NAME.

0

Puede cambiar el nombre de base de datos utilizando MySQL interfaz de usuario

Paso 1: En primer lugar Ir a localhost/phpmyadmin/y hacer clic en su base de datos

Paso 2: Haga clic en la pestaña Opertaion

Paso 3: introducir nuevo nombre de base de datos en (base de datos Cambiar el nombre a) campo de texto

Paso 4: Haga clic en Ir Buttton

Cuestiones relacionadas