mysql> create database dbmorsa;
Creo un usuario nuevo morsa, si ya existe este comando cambia el password, con este comando también habilitamos privilegios en todas las DB existentes:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'morsa'@'localhost' IDENTIFIED BY 'my_pass';
Vemos el usuario creado
mysql> use mysql;
mysql> select user from user where user='morsa';
+-------+
| user |
+-------+
| morsa |
+-------+
1 row in set (0.00 sec)
Vemos privilegios con el usuario morsa logueado:
mysql> mysql –u root –p
Password: my_pass
mysql> show grants;
+-----------------------------------------------------------------------------------------------------------------------+
| Grants for morsa@localhost |
+-----------------------------------------------------------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'morsa'@'localhost' IDENTIFIED BY PASSWORD '*6AA8F77DAD1D9BA03C9535B32B0281A1B70B6B90' |
+-----------------------------------------------------------------------------------------------------------------------+
Cambio a la DB dbmorsa
mysql> use dbmorsa
Creo dos tablas en la DB dbmorsa:
mysql> CREATE TABLE tabla1(codigo int, nombre varchar(10));
mysql> CREATE TABLE tabla2(valor int, nombreInt varchar(10));
Veo las tablas creadas:
mysql> show tables;
+-------------------+
| Tables_in_dbmorsa |
+-------------------+
| tabla1 |
| tabla2 |
+-------------------+
2 rows in set (0.00 sec)
Vemos que aun estan vacias:
mysql> select * from tabla1;
Empty set (0.00 sec)
mysql> select * from tabla2;
Empty set (0.00 sec)
Inserto datos en las tablas creadas previamente:
mysql> INSERT INTO tabla1 VALUES(1,'Beto');
mysql> INSERT INTO tabla1 VALUES(2,'Teto');
mysql> INSERT INTO tabla1 VALUES(3,'Peto');
mysql> INSERT INTO tabla2 VALUES(1,'Marta');
mysql> INSERT INTO tabla2 VALUES(2,'Parta');
mysql> INSERT INTO tabla2 VALUES(3,'Larta');
Consultamos los datos recientemente creados en ambas tablas:
mysql> select * from tabla1;
+--------+--------+
| codigo | nombre |
+--------+--------+
| 1 | Beto |
| 2 | Teto |
| 3 | Peto |
+--------+--------+
3 rows in set (0.00 sec)
mysql> select * from tabla2;
+-------+-----------+
| valor | nombreInt |
+-------+-----------+
| 1 | Marta |
| 2 | Parta |
| 3 | Larta |
+-------+-----------+
3 rows in set (0.00 sec)
Eliminamos usuario morsa:
mysql>DELETE FROM `mysql`.`user` WHERE `user`.`Host` = 'localhost' AND `user`.`User` = 'morsa';
mysql> FLUSH PRIVILEGES;
Ahora creamos nuevamente el usuario morsa y solo damos permisos a dicho usuario para realizar un SELECT en ls base dbmorsa y la tabla2:
root@Pruebas:~# mysql -u root –p
mysql> GRANT SELECT ON dbmorsa.tabla2 TO 'morsa'@'localhost' IDENTIFIED BY 'MORSA';
mysql> exit
root@Pruebas:~# mysql -u morsa -p
Vemos que solo esta visible la DB dbmorsa y la tabla2 correspondiente:
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| dbmorsa |
+--------------------+
2 rows in set (0.00 sec)
mysql> use dbmorsa;
Database changed
mysql> show tables;
+-------------------+
| Tables_in_dbmorsa |
+-------------------+
| tabla2 |
+-------------------+
1 row in set (0.00 sec)
Corroboramos también que podemos hacer un select:
mysql> select * from tabla2;
+-------+-----------+
| valor | nombreInt |
+-------+-----------+
| 1 | Marta |
| 2 | Parta |
| 3 | Larta |
+-------+-----------+
3 rows in set (0.00 sec)
No hay comentarios:
Publicar un comentario