miércoles, 7 de agosto de 2019

Creacion de User en MariaDB

1. Creación de la base de datos

mysql> CREATE DATABASE `mibd`;

2. Creación del usuario

mysql> CREATE USER 'miusuario' IDENTIFIED BY 'mipassword';

3. Conceder permisos para poder acceder y usar el servidor MySQL

Para sólo permitir el acceso local desde el propio servidor (localhost). Esta será la configuración más segura y más habitual que usaremos para una aplicación web:
mysql> GRANT USAGE ON *.* TO 'miusuario'@localhost IDENTIFIED BY 'mipassword';
Para permitir el acceso desde cualquier otra máquina que tenga acceso al servidor MySQL desde la red:
mysql> GRANT USAGE ON *.* TO 'miusuario'@'%' IDENTIFIED BY 'mipassword';

4. Conceder todos los privilegios sobre la base de datos al usuario

mysql> GRANT ALL privileges ON `mibd`.* TO 'miusuario'@localhost;
Al igual que en punto anterior, si queremos que el usuario pueda trabajar con la base de datos desde cualquier ubicación tendremos que sustituir localhost por ‘%’.

5. Aplicar los cambios realizados

Para que sean efectivos los nuevos permisos que hemos asignado debemos finalizar con el siguiente comando:
mysql> FLUSH PRIVILEGES;

6. Verificar que nuestro nuevo usuario tiene los permisos correctos

mysql> SHOW GRANTS FOR 'miusuario'@localhost;     
+--------------------------------------------------------------+ 
| Grants for miusuario@localhost                                | 
+--------------------------------------------------------------+ 
| GRANT USAGE ON *.* TO 'miusuario'@'localhost'                 | 
| GRANT ALL PRIVILEGES ON `mibd`.* TO 'miusuario'@'localhost' | 
+--------------------------------------------------------------+ 
2 rows in set (0,00 sec)
Si nos hemos equivocado en algún punto podemos deshacer todos los pasos ejecutando los siguientes comandos, teniendo la precaución de sustituir localhost por ‘%’ si también lo cambiaste en los pasos anteriores:
DROP USER miusuario@localhost;
DROP DATABASE midb;
A continuación dejo un pequeño script muy simple para Bash que nos permite hacer esto de una forma mucho más rápida y directa, cambiando simplemente el nombre de nuestro usuario y de nuestra base de datos:
#! /bin/bash 
 
newUser='testuser'
newDbPassword='testpwd'
newDb='testdb'
host=localhost
#host='%'

commands="CREATE DATABASE \`${newDb}\`;CREATE USER '${newUser}'@'${host}' IDENTIFIED BY '${newDbPassword}';GRANT USAGE ON *.* TO '${newUser}'@'${host}' IDENTIFIED BY '${newDbPassword}';GRANT ALL privileges ON \`${newDb}\`.*
TO '${newUser}'@'${host}';FLUSH PRIVILEGES;"

echo "${commands}" | /usr/bin/mysql -u root -p
Luego de esto si queres ver los usuarios de la base de datos, podemos tirar el siguiente query:
select u.User,Db from mysql.user u,mysql.db d where u.User=d.User;

+------------+-----------+
| User       | Db        |
+------------+-----------+
| averdecia  | nextcloud |
| averdecia  | nextcloud |
| ncbeusr    | nextcloud |
| averdecia  | nextcloud |
| averdecia  | nextcloud |
| devncbeusr | nextcloud |
+------------+-----------+
6 rows in set (0.00 sec)



No hay comentarios:

Publicar un comentario

RMAN - Cuando no se encuentra un archive log --- RMAN-06726: could not locate archived log

  Lo importante en todo esto, es estar dentro del catalogo correspondiente, sino el crosscheck NO FNCIONA !!   oracle backup of logfiles is ...