Este artículo le mostrará cómo utilizar la línea de comandos para exportar, importar o eliminar bases de datos MySQL, así como restablecer la contraseña de root de MySQL.

La línea de comandos es una herramienta de administración de servidor poderosa, rápida y flexible que permite a los administradores realizar una variedad de funciones con comandos simples. En general, la línea de comando en aplicaciones remotas funciona sobre SSH, lo que garantiza la seguridad del canal de comunicación y toda la información transmitida. SSH permite a los administradores administrar archivos, bases de datos y otras aplicaciones web.

Aunque la línea de comandos requiere memorizar algunos comandos y puede parecer difícil para los usuarios que están acostumbrados a la GUI, tiene ventajas como estas:

  • Mejor control sobre los sistemas operativos y de archivos
  • Rendimiento más rápido
  • Las computadoras para emitir comandos requieren menos recursos del sistema que una GUI
  • La mayoría de los comandos permanecen casi iguales, en contraste con una interfaz GUI, que puede cambiar con el tiempo debido a mejoras en el diseño o en las funciones.
  • No tiene restricciones de tamaño y puede funcionar con archivos y bases de datos muy grandes.

Para usar la línea de comando, debe conectarse al servidor remoto a través de un cliente SSH. Esto puede variar según el sistema operativo. Lea Cómo conectarse a un servidor mediante SSH en Linux y Mac

Usar la línea de comando para administrar bases de datos MySQL

Una vez que acceda al servidor remoto, puede usar la línea de comando para realizar una variedad de funciones. Aunque puede realizar otras funciones, en este artículo solo vamos a discutir cómo puede usar la línea de comandos para administrar bases de datos MySQL.

Cómo exportar una base de datos MySQL desde la línea de comandos

  1. Abrir terminal o símbolo del sistema
  2. Utilice la utilidad mysqldump para crear la copia de seguridad o el archivo de exportación

Sintaxis: mysqldump-u[user name] -pag[password] [database name] > [backupfile]

Por ejemplo, para hacer una copia de seguridad de la base de datos sampledb en un archivo llamado sampled-backup, ejecute el comando;

$ mysqldump -u root -p sampledb > sampledb_backup.sql

El sistema le pedirá que ingrese la contraseña.

  1. Ingrese la contraseña y presione Enter. La exportación comenzará y el mensaje volverá a aparecer cuando finalice.

Si desea guardar la base de datos en una carpeta específica, incluya su ruta en el comando.

mysqldump-u [username] -pag [database-to-dump] > [destination path and filename]

Por ejemplo, para generar el archivo en la carpeta / home / userfolder /, use el comando;

mysqldump -u root -p mydatabase > /home/userfolder/sampledb-dump.sql

Exportar una sola tabla

Si desea exportar una sola tabla

mysqldump -p –user = nombre de usuario nombre-base-datos nombre-tabla> nombre-tabla.sql

Exportar tablas específicas

$ mysqldump -u root -p sampledb table1 table2 > sampledb_tables_backup.sql

Varias bases de datos

Para hacer una copia de seguridad de varias bases de datos con un solo comando, use la sintaxis

$ mysqldump -u root -p --databases sampledb2 sampledb4 sampledb5 > sampledb245_backup.sql

Cómo hacer una copia de seguridad de todas las bases de datos

$ mysqldump -u root -p --all-databases > alldb_backup.sql

Exportar y comprimir el archivo de respaldo

Exportar y crear una versión gzip del archivo SQL

mysqldump -u [user] -p [database_name] | gzip > [file_name].sql.gz

Cómo importar o restaurar los datos de la base de datos desde un archivo de volcado de MySQL

Primero, debe crear una base de datos de destino vacía que será el destino de los datos que se importarán. Puede usar una línea de comando o cPanel para crear la nueva base de datos con un nombre similar o diferente al del archivo de datos de la base de datos de volcado.

  1. Inicie sesión como usuario root con el comando. en el servidor MySQL

mysql -u root -p

  1. Ingresa tu contraseña

Esto le dará el indicador mysql>.

  1. Para crear la nueva base de datos, ejecute

CREATEDATABASE newdatabase_name;

  1. Cierre sesión en el shell de MySQL con el comando exit

mysql>exit

  1. Cuando haya terminado, ahora use el comando mysql para restaurar los datos del archivo de volcado al nuevo archivo de base de datos.

mysql  -u [username] -p[password] [newdatabase] < [databasebackupfile.sql]=

Asegúrese de que la versión de origen y destino de MySQL sean la misma versión para evitar problemas de compatibilidad

Cómo eliminar una base de datos en MySQL usando la línea de comando

Para eliminar la base de datos del servidor;

  1. Inicie sesión con el comando mysql -u yourusername -p. en el servidor MySQL

Para el usuario root, el comando es

mysql -u root -p

La –p le dice al servidor que solicite una contraseña

  1. Ingrese su contraseña y presione enter. Esto lo llevará al símbolo del sistema de MySQL – mysql>, donde ahora puede usar el comando drop para eliminar la base de datos
  1. Escriba DROP DATABASE sample_database y presione Entrar. El comando es como

Mysql> DROP DATABASE sample-database;

Esto eliminará sample_database de su servidor y debe tener mucho cuidado ya que no puede deshacer la operación. Si no hay ningún archivo con ese nombre de archivo en su servidor, aparece el error 1008 ‘ERROR 1008 (HY000): No se puede eliminar la base de datos’ tutorial_database ‘; La base de datos no existe ‘.

Si no desea ver este error, agregue la condición ‘si está presente’.

DROPDATABASEIFEXISTSsample-database;

Cómo restablecer la contraseña raíz de la base de datos MySQL

Para restablecer la contraseña de root, debe detener los servicios de MySQL, acceder a MySQL en modo seguro, configurar la nueva contraseña y finalmente reiniciar los servicios.

  1. Detenga el proceso de MySQL con el comando

Sudo  /etc/init.d/mysql stop

  1. Inicie MySQL en modo seguro.

sudo mysqld_safe --skip-grant-tables --skip-networking &

Esto inicia el servidor sin cargar las tablas de concesión o la red. El modo seguro le permite acceder y realizar cambios sin la contraseña de root de MySQL.

Después de arrancar en modo seguro, inicie el shell de MySQL ejecutando el comando

mysql -u root mysql

Ingrese la contraseña de root predeterminada y presione Enter

  1. Establecer la nueva contraseña de la base de datos MySQL

Ejecuta el comando

updateusersetpassword=PASSWORD("newprd") whereUser="root";

Recargue todo ejecutando el comando.

   FLUSHPRIVILEGES;

  1. Reinicie el servidor de la base de datos normalmente

Detenga el proceso de mysqld y vuelva a iniciarlo

  sudo /etc/init.d/mysql stop
 sudo /etc/init.d/mysql start

Conclusión

La línea de comandos es una forma rápida y poderosa de administrar bases de datos MySQL y realizar otras funciones del servidor tanto de forma local como remota. A diferencia de las herramientas basadas en GUI, que pueden diferir significativamente con los cambios de versión, los comandos permanecen más o menos iguales a lo largo del tiempo.

Para utilizar la línea de comandos de manera eficaz, debe comprender y recordar cada uno de los comandos relevantes. Sin embargo, también puede utilizar la ayuda incorporada para obtener la sintaxis correcta para la mayoría de los comandos.