Professional Documents
Culture Documents
| Drop_priv
| enum('N','Y')
| NO | | N
|
|
| Reload_priv
| enum('N','Y')
| NO | | N
|
|
| Shutdown_priv
| enum('N','Y')
| NO | | N
|
|
(...)
Para asignar privilegios a bases de datos especficas o tablas especficas, se debe usar GRANT.
Utilizando este mtodo, tenemos que forzar que se refresquen las tablas de permisos usando FLUSH PRIVILEGES.
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0,01 sec)
Una vez hecho esto, ya nos podremos conectar:
$ mysql -u mariano -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 28
Server version: 5.0.67 Source distribution
Ms informacin sobre el uso de este mtodo, en comparacin con el GRANT, en la documentacin de mysql.
otras consideraciones
Tambin se pueden crear usuarios desde la herramienta visual MySQL Administrator, que forma parte de las GUI Tools
que ofrece gratuitamente MySQL y se pueden descargar desde aqu. (Es multiplataforma, pero en Mac funciona
bastante mal)
Para saber con qu usuario estamos conectados en este momento, podemos usar la
funcin CURRENT_USER() o USER().
mysql> SELECT CURRENT_USER();
+------------------+
| CURRENT_USER() |
+------------------+
| adolfo@localhost |
+------------------+
1 row in set (0,00 sec)
Al crear un usuario, se define el contexto desde el que se puede conectar, por ejemplo 'adolfo'@'localhost' solamente se
puede conectar desde el mismo servidor de la base de datos, para crear usuarios que se puedan conectar desde varias
mquinas, se puede crear un usuario por cada mquina o usar el comodn '%', el usuario 'adolfo'@'%' se podra
conectar desde cualquier mquina, y el usuario 'fernando'@'192.168.1.%' se podra conectar desde mquinas con una
direccin IP comprendida entre 192.168.1.1 y 129.168.1.255.
Por ejemplo:
GRANT SELECT, INSERT ON test.* TO 'adolfo'@'%' IDENTIFIED BY 'pass_adolfo';
CREATE USER 'fernando'@'192.168.1.%' IDENTIFIED BY 'fer_pass';
En el caso de que estemos realizando la creacin de un usuario mediante el mtodo INSERT y nos aparezca el
siguiente error:
ERROR 1136 (21S01): Column count doesn't match value count at row 1
La razn es que algunas de las columnas de la tabla user no tienen valor por defecto (por ejemplo ssl_type), y no las
hemos informado todas, es necesario hacerlo.