No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Curso de Bases de Datos con MySQL y MariaDB

Curso de Bases de Datos con MySQL y MariaDB

Carlos Eduardo G贸mez Garc铆a

Carlos Eduardo G贸mez Garc铆a

Manejo de usuarios para la base de datos

11/34
Recursos

Aportes 17

Preguntas 8

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

Manejo de usuarios para la base de datos

* Para la creaci贸n de un usuario se puede seguir la siguiente estructura:
    ...
        CREATE USER 'nombre_usuario'@'localhost' IDENTIFIED BY 'password';
    ...

* Para eliminar un usuario:
    ...
        DROP USER 'nombre_usuario'@'localhost' 
    ...

* Para darle privilegios aun usuario:   
    * [_GRANT_](https://mariadb.com/kb/en/grant/)

    * Para tener todo los privilegios sobre todas las tablas posibles:
        ...
            GRANT ALL PRIVILEGES ON *.* 
        ...
* En un formato general ser铆a:
...

    GRANT
            privileges
        ON
            databases.tables
        TO
            user;
    FLUSH PRIVIILEGES;
...

* Ejemplo: 
...
    GRANT All PRIVILEGES ON *.* TO 'jrueda'@'localhost';
    FLUSH PRIVILEGES;
...

* Conectar la base de datos con el Workbench

Despues de pandemia he estado usando HeidiSQL, la aplicacion es bastante liviana y tiene todas las utilidades para administrar las bases de datos.
.
Me gusta que siempre mantiene abierto un Tab para poder escribir los comandos (Queries), que en ocaciones es mas rapido que usar la interfaz.
.
HeidiSQL
.

Yo tengo la base de datos instalada en una raspberry pi, por lo que para poder usar Workbench de forma remota en lugar de usar el 鈥榣ocalhost鈥 al crear el usuario pongo la ip de la raspberry ej. 鈥榰suario鈥橜鈥192.168.0.1鈥

Estar铆a bueno listar los comandos para:
Iniciar
Reiniciar
Detener
el servidor de MariaDB;

Otra alternativa de herramienta para administrar base de datos es DBeaver que soporta varios tipos de base de datos como: MySQL, PostgreSQL, SQLite, Oracle, DB2, SQL Server y m谩s.

Les dejo estos comandos:

Para sistemas Sysvinit

service mysql start Iniciar
service mysql stop Detener
service mysql restart Reiniciar
service mysql reload Recargar
service mysql status Ver el estado
chkconfig mysqld on Activar en el arranque

Para sistemas Systemd

systemctl start mariadb Iniciar
systemctl stop mariadb Detener
systemctl restart mariadb Reiniciar
systemctl reload mariadb Recargar
systemctl status mariadb Ver el estado
systemctl enable mariadb Activar en el arranque

  • Listar Usuarios:

SELECT host, USER, password FROM mysql.user;

Crear Usuario:

CREATE USER 'nombreUsuario'@'localhost' IDENTIFIED BY 'contrase帽a';

Eliminar Usuario:

DROP USER 'nombreUsuario'@'localhost';

Dar priviligios al Usuario:

GRANT ALL PRIVILEGES ON * . * TO  'nombreUsuario'@'localhost';

Nota: Este comando da privilegios para manipular TODO.

Activar Privilegios:

FLUSH PRIVILEGES;

鈥淓stamos conectados de manera successfutonica鈥 JAJAJAJAJAJAJA me mate de la risa xD excelente profe, se nota sus grandes conocimientos, tiene una excelente forma de ense帽ar, y es muy divertido, llevo varios cursos ya y definitivamente es el mejor!!

Una explicaci贸n gr谩fica de la 煤ltima parte del v铆deo.

Si alguno tiene este error:

ERROR 1045 (28000): Plugin caching_sha2_password could not be loaded: The specified module could not be found. Library path is 'caching_sha2_password.dll'

Conectense una vez m谩s como root e ingresen lo siguiente:

ALTER USER 'usuario'@'localhost' \
  IDENTIFIED WITH mysql_native_password \
  BY 'tucontrase帽a';

Ese error se debe a un conflicto en la manera en que se hace la autenticaci贸n por defecto a partir de MySQL 8.0.

Profe, eres el mejor!
ADVERTANCIA!!!!!! si ya cursaste el curso de fundametos de bases de datos y creaste una contrase帽a para tu servidor local, usa esa misma contrase帽a para MariaDB.

Para los que est茅n utilizando WSL y no les haga la conexi贸n, solamente tienen que cambiar el puerto (Ya sea de mariadb usado en Windows o en el WSL)

Si tienes acceso a la base de datos MySQL/MariaDB, puedes ejecutar una consulta SQL para obtener el valor actual del puerto:

SHOW VARIABLES LIKE 'port';

Esto te proporcionar谩 el puerto configurado en la base de datos.

Una opci贸n para los que trabajan con ubuntu y no les funciona bien el mysql workbench podr铆an utilizar dbeaver.

snap install dbeaver-ce

Para ver los puertos que se estan usando podemos utilizar el comando netstat, si alguna vez instalaste xmapp, cuenta con un boton llamado netstat.

sudo netstat -tnlp


node es Visual Studio Code, para matar un PID igual existe un comando llamado kill.

Para ver los usuarios creados en mariadb:

SELECT user,authentication_string,plugin,host FROM mysql.user;

Actualmente estoy usando wsl(ubuntu) tuve un problema jajaja q me costo solucionarlo lo explico por si le pasara a alguien. Instale dos veces mariadb una en windows y otra en wsl(ubuntu) cuando creaba los usuarios en wsl, no me dejaba conectarme al mysql workbench(windows) me salia un error todo el tiempo, hice el mismo comando pero ahora en CMD y no tenia los mismo usuarios creados. Cree los usuarios desde CMD y funciono todo correcto pero a mi no me gusta usar CMD, desistale mariadb de windows y todo se soluciono. Yo pensaba que era un problema de permisos o que estaban usando el mismo puerto o algo asi.