Uno como desarrollador tiene que trabajar en el Backend o en el Frontend de una aplicación o software. Si estás en el Frontend, será poco común que uses MySQL directamente. Si estás en el Backend, seguramente MySQL(dado el caso) será tu amigo.
Para quienes tenemos un amigo en MySQL, comparto una lista de comandos que uso casi que a diario para que queden acá para la posteridad y por si los encuentras tú navegando en internet 🙂
Crear un usuario y asignarle todos los permisos en una base de datos
Luego de tener la BD creada, muy seguro necesitarás que algún usuario diferente a root sea el que tenga los permisos para usarla. Esto se logra con los comandos siguientes. Hay que ingresar primero a la consola de MySQL para poderlos ejecutar.
La consola de MySQL se accede mediante
mysql -u root -p
Y luego ingresas la clave, si la hubiere.
GRANT ALL ON 'dbname'.* TO 'user'.* IDENTIFIED BY 'password';
Seguido del comando
flush privileges;
Para que se hagan efectivos los cambios en la tabla configuraciones de MySQL.
Crear un archivo backup de una base de datos
Para obtener una copia con todos los datos de una base de datos determinado usamos el comando
mysqldump -u user -p dbname > dumpfile.sql
Este comando genera un archivo .sql con todas las consultas necesarias para recrear la base de datos respaldada.
Saber la versión de MySQL que tengo instalada
Para saber qué versión de MySQL tienes instalada, ya sea porque necesitas usar alguna característica en particular o para depurar errores, puedes usar el comando
mysqladmin -u root -p version
Una vez pasada la clave, se mostrará información pertinente a la instalación del motor de base de datos.
Importar un archivo de backup a una base de datos
Si por el contrario, tienes un archivo de backup y quieres cargarlo en una determinada base de datos, puedes usar el comando:
mysql -u root -p dbname < dumpfile.sql
Debes tener en cuenta las limitaciones en cuanto al tamaño del archivo que puede leer MySQL. Además, dependiendo del tamaño del archivo, la operación puede tardar algunos minutos.
Estos son algunos de los comandos que uso a diario para el desarrollo de portales web usando Drupal o WordPress, además de los casos cuando toca hacer algún desarrollo particular que requiera de persistencia de datos.