Articulos PHP
Articulos Jquery
Articulos CSS
4.1 Creando cuentas MySQL.
Para poder crear cuentas MySQL es necesario tener una cuenta con la cual se puedan crear otras cuentas MySQL, de forma predeterminada al instalar MySQL, se crea una cuenta llamada root la cual tiene todos los permisos necesarios. Ahora, para poder crear una cuenta en necesario usar la consulta GRANT y tiene el formato siguiente:
GRANT permiso(s) ON baseDeDatos.nombreTabla TO nombreCuenta@hostname IDENTIFIED BY password
Como se puede ver primero se deben de incluir los permisos que va a tener la cuenta, posteriormente se debe especificar la(s) bases de datos y la tabla(s) a las cuales se les aplican los privilegios o permisos. Ya casi al final se especifica el nombre de la cuenta, la computadora desde la cual la cuenta tendrá acceso a la base de datos (hostname) y por último es password correspondiente a la cuenta.
Para entender un poco mejor, supongamos que tenemos una base de datos llamada website y que deseamos crear una cuenta llamada userWeb la cual se pueda conectar a MySQL únicamente desde el servidor donde esta instalado MySQL, además queremos que esa cuenta solamente pueda leer los datos de todas las tablas en la base de datos website. La consulta queda como sigue:
GRANT SELECT ON website . * TO userWeb@localhost IDENTIFIED BYÂ 'password_90'
Como se puede observar se ha usado el comodÃn * lo cual indica que el permiso SELECT se aplicará a todas las tablas de la base de datos website. Ahora si quisiéramos que dicha cuenta de usuario solamente pueda aplicar consultas SELECT e INSERT a la tabla comments1 dentro de la base de datos website, queda como sigue:
GRANT SELECT,INSERT ON website.comments1 TO userWeb@localhost IDENTIFIED BYÂ "password_90"
Y de esta forma podrÃamos continuar usando la consulta GRANT para agregar permisos o privilegios a una determinada cuenta. Se debe realizar una observación, si la consulta GRANT se ejecuta por primera vez para una determinada cuenta, entonces se crea una cuenta, pero si la consulta GRANT se aplica a una cuenta existente entonces se hacen ajustes a la cuenta. Ahora en caso de que necesitemos que un permiso se aplique a todas las tablas de todas las bases de datos, la consulta queda como sigue:
GRANT SELECT ON * . * TO userWeb@localhost IDENTIFIED BYÂ "password_90"
Como se puede observar se uso el comodÃn *.* lo que significa todas las bases de datos y todas las tablas.
Otro detalle importante es que también es posible especificar los permisos, por columnas, de forma que todo queda más detallado, para entender un poco mejor, supongamos que necesitamos que el usuario userWeb pueda únicamente insertar datos en las columnas Nick y correo de la tabla usuarios, pero además actualizar los datos en dichas columnas, entonces queda como sigue:
GRANT INSERT( nick, correo),UPDATE (nick, correo) ON website.usuarios TO userWeb@localhost IDENTIFIED BYÂ "password_90"