Ya hace rato que no había escrito nada en el blog, creo que ahora si me daré mas tiempo para agregar información (jeje eso espero ^^’)
Hoy necesitaba tirar unos comandos por consola mysql y como hace rato no lo hacía simplemente no me acorda bien de todos, así que decidí recopilar un poco de información y compartirla para hacernos una ayuda de memoria.
CONEXION
a. Conectarse al servidor MySQL con el usuario que corresponda “usuario”
]# mysql -u usuario -p
b. Ver o listar las bases de datos existentes en nuestro MySQL
mysql> show databases;
c. Ver o listar los usuarios que se encuentran actualmente en nuestro MySQL
mysql> select * from mysql.user;
d. Seleccionar una base de datos en donde trabajaremos o revisaremos la información
mysql> use nombre_bd;
USUARIOS
Ahora con respecto a lo que es usuarios, ya sea crear, modificar y eliminar, están los siguientes comandos.
a. Crear usuarios con todos los privilegios, ya sera de todas las bases de datos del servidor o de alguna en específico, referente al host puede ser:
- IP (192.168.1.120) específica para el usuario (recomiendo que sea así),
- % que indica que puede conectarse desde cualquier ip al servidor o puede ser
- localhost (127.0.0.1) indicando que el usuario solo puede conectarse al servidor estando dentro de este, o si se encuentra fuera a través de un tunel ssh.
mysql> grant all privileges on nombre_bd.* to 'usuario'@'host' identified by 'contraseña' with grant option;
mysql> grant all privileges on *.* to 'usuario'@'host' identified by 'contraseña' with grant option;
b. Cambiar la contraseña de un usuario creado.
mysql> set pasword for 'usuario'@'host' = password('contraseña');
c. Crear usuarios solo con algunos privilegios.
mysql> grant privilegio ON nombre_bd.* TO 'usuario’@'host’ identified by 'contraseña';
Los privilegios que se usan son:
- 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
d. Ver o listar los privilegios que tiene un usuario.
mysql> show grants for 'usuario'@'host';
e. Eliminar los privilegios de un usuario.
mysql> revoke privilegio ON nombre_bd.* TO 'usuario’@'host';
f. Eliminar un usuario con su respectivo host.
mysql> drop user 'usuario'@'host';
RESPALDOS
Realizar respaldo de una base de datos de nuestro servidor.
]# mysqldump --user=usuario --password=contraseña nombre_bd > nombre_repaldo_BD.sql
Ahora si desean migrar la base de datos de un servidor a otro, tienen el siguiente comando:
]# mysqldump -u usuario -p contraseña nombre_bd | mysql -h host_destino -u usuario -p conrtaseña nombre_bd;
Exportar todas las bases de datos de nuestro servidor MySQL a un archivo.
# mysqldump –password=CLAVE –single-transaction –all-databases | gzip -9 >RUTA_DESTINONOMBRE_`date +%Y-%m-%d`.sql.gz
Espero les sirva, ya sea para aprender o como ayuda de memoria. 😀
Saludos!