6. Instalando las Bases de Datos
Si todo ha ido bien, deberemos ejecutar el script mysql_install_db:
[root]# cd scripts
[root]# ./mysql_install_db
Si nada ha fallado, seguimos con la configuración
Volver
7. Ahora cambiamos los propietarios
de los directorios
[root]# chown -R root /usr/local/mysql
[root]# chown -R mysql /usr/local/mysql/var
[root]# chgrp -R mysql /usr/local/mysql
Volver
8. Una vez habido entregado los directorios
a sus propietarios, creamos el archivo de configuración:
[root]# cd ..
[root]# cp support-files/my-medium.cnf /etc/my.cnf
Volver
9. Probamos el servidor:
[root]# /usr/local/mysql/bin/safe_mysqld --user=mysql &
Si no devuelve ningún error, entonces está
todo bien.
Volver
10.
Comprobamos la conexión con el servidor con el programa
mysql:
[root]# /usr/local/mysql/bin/mysql
Si obtenemos la línea de comandos del servidor, entonces
está todo correcto
Volver
11. Creamos los enlaces a los clientes
de MySQL:
[root]# ln /usr/local/mysql/bin/mysql /usr/bin/mysql
[root]# ln /usr/local/mysql/bin/mysqladmin /usr/bin/mysqladmin
Volver
12. Añadiendo Usuarios al sistema
MySQL
Si has seguido todos los pasos hasta aquí, tendrás
una BD llamada mysql que es en la que se administran todos los
passwords y usuarios de MySQL, lo primero que haremos será
cambiar la password del root ( que ahora está vacía
):
Cambiamos la password de root con el programa mysqladmin:
[root]# mysqladmin -u root password nuevo_password
Ahora añadiremos algunos usuarios para ver como funciona
este sistema
Para añadir usuarios, usaremos el comando GRANT, que
tiene esta sintaxis:
GRANT priv_type [(column list)] [, priv_tipe[(column_lis)]
...]
ON {table_name | * | *.* | db_name.*}
TO user_name [IDENTIFIED BY 'password']
[, user_name [IDENTIFIED BY 'password'] ...]
[WITH GRANT OPTION]
Bueno, puede parecer más difícil de lo que
es en realidad, imaginemos que queremos crear un usuario llamado
Carlos con todos los permisos sobre su base de datos llamada
carlos_db, y que solo pueda conectar desde cualquier máquina
de dominio.com pues haremos algo así:
[root]# mysql -p
Enter password:
mysql> GRANT insert,select,update,delete,create,drop,alter
ON carlos_db.* TO carlos@"%.dominio.com" IDENTIFIED
BY 'cualquiercosa';
Una explicación de lo anterior, vamos a darle permiso
a hacer ( insert,select,update ... ) sobre cualquier tabla
de carlos_db a un usuario llamado juan que conectará
desde cualquier máquina de dominio.com, cuya password
será cualquiercosa.
Ahora vamos a crear otro superusuario llamado juan que tendrá
todos los privilegios, y que podrá conectar desde cualquier
sitio:
mysql> GRANT ALL PRIVILEGES ON *.* TO juan@"%"
IDENTIFIED BY 'piña' WITH GRANT OPTION;
mysql> GRANT ALL PRIVILEGES ON *.* TO juan@localhost IDENTIFIED
BY 'piña' WITH GRANT OPTION;
Con esto tendremos a nuestro nuevo superusuario.
Supongamos por último que queremos borrar a Carlos,
pues como los usuarios se guardan en la base de datos mysql
en la tabla user:
mysql> use mysql;
mysql> DELETE FROM user WHERE user = 'carlos';
Carlos habrá desaparecido de nuestro sistema MySQL
Y teniendo en cuenta que Juan no debería tener tantos
permisos le quitaremos los permisos sobre la base de datos
usuarios:
mysql> REVOKE ALL PRIVILEGES ON usuarios.* FROM juan;
Y Juan no tendrá permisos sobre la base de datos
usuarios. La sintaxis de REVOKE es:
REVOKE priv_type [(column_list)] [, priv_type [(column_list)]
...]
ON {table_name | * | *.* | db_name.*}
FROM user_name [, user_name ...]
Y esto es todo lo básico que necesitas saber para
empezar a trabajar con MySQL sobre Linux.
Volver