UNIVERSIDAD CATÓLICA DE MANIZALES
INGENIERÍA TELEMÁTICA
SISTEMAS OPERATIVOS

  EditRegion3

INICIO | QUE SON LOS VIRUS | ENCRIPCION | WINDOWS-WINDOWS | LINUX-LINUX | WINDOWS-LINUX | HOWTOs | SNIFFER | CONSTRUCCION DEL CABLE | COMANDOS FTP |

 

Howto-MySql-Howto-MySql

 

Nosotros Escogimos implementar como howto MySql para linux esto nos sirve para manejar bases de datos y poder programar en PhP.

Estos son los pasos a seguir:

  1. Nos ponemos como root para empezar a trabajar
  2. Creamos el grupo y usuario mysql
  3. Descargamos las fuentes de MySQL y las descomprimimos
  4. Preparamos las fuentes para ser compiladas
  5. Compilamos e instalamos las fuentes
  6. Instalamos la Base de Datos
  7. Asignamos los direcotios a sus respectivos propietarios
  8. Copiamos el archivo de configuración a /etc
  9. Probamos MySQL
  10. Comprobamos la conexión con el servidor con el programa mysql
  11. Creamos los enlaces a los clientes de MySQL
  12. Añadiendo Usuarios al sistema MySQL


 

Para no tener problema en la instalacion de Mysql adquirimos permisos al root.
1. Obtenemos login como root con el comando su -l:

[root]$ su -l
Password:
[root]#

Notar que el signo $ ha cambiado por #. Si es así, habremos obtenido permisos de root, cosa que usaremos para tareas muy determinadas, ya que podemos dañar el sistema.

Volver

 

 


2. Añadimos el grupo mysql y creamos el usuario mysql dentro del grupo mysql:

[root]# groupadd mysql
[root]# useradd -g mysql mysql

Volver

 

 

3. Bajamos las fuentes y las preparamos para compilarlas

Descargamos las fuentes en formato .tar.gz ( tarball ) de Aqui ( NOTA: son unos 11 Mb )
Descomprimimos las fuentes:

[root]# gunzip mysql-3.x.x.tar.gz
[root]# tar -xvf mysql-3.x.x.tar

Volver

 

 


4. Preparamos las fuentes para compilarlas:

[root]# cd mysql-3.x.x
[root]# ./configure --prefix=/usr/local/mysql

Volver

 

 


5. Si vamos bien, estaremos en condiciones de compilar MySQL:

[root]# make && make install && echo "Bien compilado e instalado"

Volver

 

 

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

 
Carlos Andres Ordoñez Sarasty - Juan Pablo Zambrano Restrepo