Servidor de Slackware 13 con Mysql (3/4)

12.10.09

Servidor de Slackware 13. (Parte 3/4)

Instalar y configurar Slackware con Mysql.

Montar el dvd: (Si no lo esta)
#mount /dev/cdrom /mnt/cdrom

Instalar:
#installpkg /mnt/cdrom/slackware/ap/mysql-5.0.84-i486-1.txz
O
#slackpkg install mysql

Configuración:
Dar permisos de ejecución (si no lo tiene) al archivo "/etc/rc.d/rc.mysqld" para que cargue al inicio del sistema.

Verificamos si tiene permiso de ejecución.
#ls -l /etc/rc.d/
Y se lo damos.

#chmod +x /etc/rc.d/rc.mysqld
O
#chmod 755 /etc/rc.d/rc.mysqld

Verificamos si existen el usuario y grupo "mysql".
#cat /etc/passwd | grep mysql
#cat /etc/group | grep mysql

Si no existen lo creamos con los comandos "useradd" y "groupadd"
#groupadd mysql
#useradd -g mysql -d /var/lib/mysql -s /bin/false mysql

-g = Para que este incluido el usuario mysql al grupo mysql
-d = El home del usuario mysql
-s = Que no pueda usar la shell

Verificamos también si en el directorio "/var/run/" hay una carpeta mysql
#ls /var/run/

La carpeta tiene que ser dueno y grupo de "mysql" lo podemos cambiar con:
#chown -R mysql:mysql /var/run/mysql

Crear el archivo de configuración de mysql llamado "my.cnf", se puede hacer fácilmente usando los ejemplo ubicados en /etc/. Usamos el archivo de configuración "my-medium.cnf" ya que lo vamos a usar para un servidor web.

/etc/my-huge.cnf
/etc/my-large.cnf
/etc/my-medium.cnf
/etc/my-small.cnf

#cp /etc/my-medium.cnf /etc/my.cnf

Y verificamos que en el archivo de configuración esta la siguiente linea, de lo contrario configurarla.
"log-error=/var/log/mysqld.log"

Ahora creamos la base de datos como se recomienda en Slackware
#mysql_install_db --user=mysql

Para evitar este error:

"Can't connect to local MySQL server through socket"
Iniciamos el servicio de mysql. Usamos & para que se valla a segundo plano (background) y retomamos la linea de comandos con (Enter).
#/usr/bin/mysqld_safe &

Creamos el password para root usando una herramienta que provee una seguridad básica para mysql
#mysql_secure_installation

Presionamos (enter) porque no tenemos ninguna contraseña previa y colocamos una nueva contraseña.

Luego borramos los usuarios anonimos, deshabilitamos el login remoto del root, eliminamos las base de datos de prueba y recargamos los privilegios.

Probemos la base de datos.
#mysql -u root -p

Ver las base de datos creados.
mysql> SHOW databases;

Usar la base de datos.
mysql> USE basedatos;

Para ver las tablas.
mysql>SHOW TABLES;

Seleccionar la tabla.
mysql>SELECT * FROM tabla;

Creamos base de datos de prueba.
mysql> CREATE database basedb;

Creamos un usuario con todos los privilegios a una base de datos.
mysql> GRANT all ON basedatos.* TO 'usuario'@'localhost' IDENTIFIED BY 'contraseña';

Limpia el cache y recarga los privilegios. 
mysql> FLUSH PRIVILEGES;

Eliminamos la base de datos creada.
mysql> DROP database basicodb;

Para eliminar un usuario hay que primero eliminarle los privilegios. Para ver los privilegios del usuario.
mysql> SHOW GRANTS FOR usuario@localhost;

Eliminamos los privilegios.
mysql> REVOKE ALL ON basedatos.* from usuario@localhost;

Y luego lo eliminamos.
mysql> DROP USER usuario@localhost;

Salimos.
mysql>quit

Si deseamos borrar la base de datos, paramos el servicio.
#ps auxw | grep mysqld_safe
#kill -9 3429

Eliminamos Mysql 
#slackpkg remove mysql
O 
#removepkg  mysql

Y eliminamos los archivos restantes.
#rm -r /var/lib/mysql/
#rm /etc/my-*
#rm /etc/my.cnf

Para estar seguro que no queda nada, buscamos datos restantes.
#updatedb
#slocate mysql


Jhyx

2 comentarios:

jopc dijo...

Woow me encanto tu manual, ojala no te moleste que me base en el tuyo para crear uno propio :P, igual pondre que se deriva del tuyo y pondre in enlace a tu pagina :D

Jhyx dijo...

Hola! gracias, si claro no hay problema ;)

Creative Commons License
Esta obra está bajo una licencia de Creative Commons.