Después de una temporada sin tiempo ni para escribir un triste post hoy me he propuesto ponerme al día con unos cuantos que tenia empezados.
En este post intento recoger una serie de comandos útiles si en tu día a día te toca trabajar con MySQL desde la consola.
- Conectarte al interprete de MySQLcon el usuario USUARIO
] # mysql -u USUARIO -p
- Ver / Listar las bases de datos que hay dadas de alta en el servicio
SHOW databases;
- Ver / Listar los usuarios dados de alta en el servicio
SELECT * FROM mysql.user;
- Seleccionar / Utilizar una base de datos BD
USE BD;
- Crear usuario con todos los privilegios / Dar todos los privilegios a un usuario USUARIO desde una dirección HOST con la contraseña CLAVE para cierta base de datos BD o para todas
GRANT ALL PRIVILEGES ON BD.* TO ‘USUARIO‘@’HOST‘ IDENTIFIED BY ‘CLAVE‘ WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO ‘USUARIO‘@’HOST‘ IDENTIFIED BY ‘CLAVE‘ WITH GRANT OPTION;
- Crear usuario con ciertos privilegios / Dar ciertos privilegios a un usuario USUARIO desde una dirección HOST con la contraseña CLAVE para cierta base de datos BD o para todas
GRANT PRIVILEGIO [, PRIVILEGIO] …. ON BD.* TO ‘USUARIO‘@’HOST‘ IDENTIFIED BY ‘CLAVE‘;
-
- ALTER: Modificar tablas con ALTER TABLE
- CREATE: Crear una nueva base de datos o tabla
- DELETE: Eliminar registros de las tablas
- DROP: Eliminar bases de datos o tablas
- INDEX: Crear o eliminar índices de tablas
- INSERT: Crear registros en las tablas
- SELECT: Listar registros de las tablas
- UPDATE: Modificar registros de las tablas
- Listar privilegios para un usuario USUARIO desde una dirección HOST
SHOW GRANTS FOR ‘USUARIO‘@’HOST‘;
- Eliminar / Quitar privilegios para un usuario USUARIO desde una dirección HOST para una base de datos BD
REVOKE PRIVILEGIO [, PRIVILEGIO] … ON BD.* FROM ‘USUARIO‘@’HOST‘;
- Eliminar / Quitar un usuario USUARIO desde una dirección HOST
DROP USER ‘USUARIO‘@’HOST‘;
- Cambiar contraseña CLAVE a un usuario USUARIO desde una dirección HOST
SET PASSWORD FOR ‘USUARIO‘@’HOST‘ = PASSWORD(‘CLAVE‘);
- Migrar base de datos de un servidor a otro directamente
] # mysqldump -uUSUARIO -pCLAVE BD | mysql -h HOST_DESTINO -uUSUARIO –CLAVE BD
- Exportar todas la base de datos MySQL a fichero con fecha en el nombre comprimido con gzip
] # mysqldump –password=CLAVE –single-transaction –all-databases | gzip -9 >RUTA_DESTINONOMBRE_`date +%Y-%m-%d`.sql.gz