Cambiar el nombre/alterar el nombre de una base de datos MySQL era una obviedad en el pasado, ya que todo lo que se necesitaba era un prefijo de comando simple para que el nombre de la base de datos se cambiara con éxito. Solo necesitabas ejecutar el comando:
> RENAME DATABASE name_of_your_mysql_database;
Sin embargo, el uso del comando anterior era un privilegio reservado para MySQL RDBMS más antiguos. versiones.
La desaprobación del MySQL anterior query como una forma de cambiar el nombre original de la base de datos se convirtió en una forma de hacer frente a los riesgos de seguridad viables.
Por lo tanto, este artículo está aquí para brindar algo de luz al final de este túnel a través de otros medios alternativos para cambiar el nombre de la base de datos MySQL sin representar un riesgo para la seguridad de la base de datos.
Requisitos
- Tenga privilegios de usuario sudoer/root en la distribución del sistema Linux que está utilizando, ya que podría necesitarlo para acceder a MySQL base de datos como el caso del Ubuntu Linux distribución.
- Tenga MySQL/MariaDB RDBMS instalado y correctamente configurado con acceso de usuario de base de datos raíz en el sistema Linux que está utilizando.
Creación de una nueva base de datos MySQL
Este enfoque se recomienda para bases de datos relativamente pequeñas. Con el comando de shell mysqldump, se puede crear una copia volcada de la base de datos MySQL completa como copia de seguridad.
Posteriormente, se crea una nueva base de datos con el nombre requerido y, a continuación, la copia de seguridad de la base de datos creada inicialmente se restaura en esta nueva base de datos. El primer paso es iniciar sesión en su shell MySQL e identificar la base de datos que necesita respaldar.
$ sudo mysql -u root -p > SHOW DATABASES;
Para fines de demostración, usaremos linuxshelltips_new_db base de datos, que reemplazará a la existente linuxshelltips_db base de datos.
> CREATE DATABASE linuxshelltips_new_db; > exit
Alternativamente, puede crear una nueva base de datos MySQL usando el comando mysqladmin si no desea utilizar directamente el shell de la base de datos.
$ sudo mysqladmin -u root -pid@098765 create linuxshelltips_new_db
Donde id@098765 es la contraseña de usuario de la base de datos raíz y linuxshelltips_new_db es el nombre de la nueva base de datos.
Copia de seguridad y cambio de nombre de la base de datos MySQL
La sintaxis del comando para hacer una copia de seguridad de un MySQL base de datos utilizando mysqldump El comando es el siguiente:
$ sudo mysqldump -u [db_username] -p[db_password] [database_name] > [generated_db_backup.sql]
Por lo tanto, cree una copia de seguridad de la base de datos cuyo nombre desea cambiar.
$ sudo mysqldump -u root -pid@098765 linuxshelltips_db > linuxshelltips_db.sql
Por último, descargue la base de datos anterior (linuxshelltips_db ) en la nueva base de datos (linuxshelltips_new_db ).
$ sudo mysql -u root -pid@098765 linuxshelltips_new_db < linuxshelltips_db.sql
Renombrar tablas en la base de datos MySQL
Este enfoque solo es viable para versiones posteriores de MySQL versiones que usan InnoDB como su motor de almacenamiento predeterminado.
Por ejemplo, supongamos que queremos cambiar el nombre de la base de datos linuxshelltips_new_db a linuxshelltips_revised_db con una tabla de base de datos existente llamada tareas , seguiríamos los siguientes enfoques.
En primer lugar, cree el linuxshelltips_revised_db base de datos.
$ sudo mysqladmin -u root -pid@098765 create linuxshelltips_revised_db
Inicie sesión en el shell de la base de datos.
$ sudo mysql -u root -p
Ahora, el comando para cambiar el nombre de la base de datos linuxshelltips_new_db a linuxshelltips_revised_db base de datos conservando las tareas la tabla de la base de datos es la siguiente:
> RENAME TABLE linuxshelltips_new_db.tasks TO linuxshelltips_revised_db.tasks;
Con el comando anterior, hemos logrado cambiar el nombre de la base de datos asociado con un nombre de tabla de base de datos específico.
Ahora está familiarizado con dos enfoques flexibles para cambiar el nombre de MySQL nombre de la base de datos en un entorno de sistema operativo Linux.