2009-01-29 14 views
29

Hola estoy usando MySQL 5.0.x¿cómo se puede cambiar el nombre de un esquema en MySQL

¿Cómo puedo cambiar el nombre de un esquema?

+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

-7

Debajo de 5.0, necesita volcar la base de datos y volver a cargarla en una nueva base de datos con un nuevo nombre. Si actualiza a 5.1, puede buscar y usar el comando RENOMBRE DE BASE DE DATOS.

+6

Ver la otra respuesta. Esta solución se recomienda porque puede dañar su base de datos. En otras versiones, se ha desactivado. –

68

No utilizar RENAME DATABASE !!!

Las primeras versiones 5.1 tenían este comando pero se han eliminado ya que pueden dañar los datos (reference).

La única manera en la actualidad es

mysqladmin create new_db_name 
mysqldump db_name | mysql new_db_name 

que se refiere here

Editar: Es evidente que esta respuesta se convertirá en fecha una vez que esto se arregla.

+0

Volcar el contenido de mi esquema anterior e importarlo a uno nuevo (como se describe arriba) transferí mis tablas y vistas, pero no las funciones. – sbrbot

+0

Si se necesita un nombre de usuario y una contraseña, esto se puede modificar a: 'mysqladmin -u root -pmypassword create new_db_name' seguido de' mysqldump -u root -pmypassword nombre_bd | mysql -u root -pmypassword new_db_name'. Si se requiere un cambio de nombre en lugar de una copia, complételo con 'mysqladmin -u root -pmypassword drop db_name'. –

+0

El conjunto de caracteres de la base de datos tampoco se transfirió. p.ej. charset para mi viejo db era utf8 y el nuevo db es latin1. – Hussain

Cuestiones relacionadas