Para aprender más sobre la configuración de servidores en GNU/Linux, creo que es una buena idea continuar con el servidor de Bases de Datos MySQL. Tarde o temprano, cuando trabajas de informático o de administrador de sistemas te toca instalar y configurar un servidor de bases de datos.
Instalarlo es tan sencillo como utilizar nuestro gestor de paquetes favorito o descargarlo de la página del proyecto MySQL. Por ejemplo, con apt sería:
sudo apt-get install mysql-server
El archivo de configuración principal del servidor se encuentra por defecto en /etc/mysql/my.cnf. Para arrancarlo, detenerlo o reiniciarlo hay que utilizar el siguiente comando:
sudo /etc/init.d/mysql [start | stop | restart]
Aunque la configuración y utilización de dicho servidor puede hacerse con la omnipotente consola o shell, hay algunas herramientas gráficas que nos pueden venir muy bien. También se pueden descargar desde la página del proyecto MySQL o utilizando apt con el siguiente comando:
sudo apt-get install mysql-admin mysql-query-browser
Ahora podemos administrar nuestro servidor tanto de forma gráfica como cambiando el archivo de configuración. Recordad que para poder modificar el archivo de configuración /etc/mysql/my.cnf con la aplicación mysql-admin debemos utilizar la orden sudo para arrancarla ya que el propietario de dicho archivo de configuración es el usuario root, como se muestra a continuación:
root@localhost:~# ls -l /etc/mysql/my.cnf
-rw-r–r– 1 root root 3839 2009-11-09 19:05 /etc/mysql/my.cnf
¿Algunas recomendaciones extras?
- Modificar el parámetro de «default character set» para que sea UTF-8. Esto se puede hacer añadiendo las siguiente líneas al archivo de configuración:
default-character-set=utf8
default-collation=utf8_general_ci
- Permitir conexiones remotas al servidor cambiando la línea que pone
bind-address = 127.0.0.1
por esta otra:
bind-address = 0.0.0.0
- Controlar el número de conexiones máximas y el timeout de las mismas. Esto es importante porque podemos tener alguna aplicación que se quede colgada y que no cierre bien la conexión con el servidor. Si esto pasa muchas veces podemos tener conexiones muertas al servidor que no se cerrarían nunca. Habría que reiniciar el servidor para que aceptase nuevas conexiones. Se puede solventar este problema haciendo que el servidor MySQL cierre las conexiones automáticamente cuando ha pasado un cierto tiempo. Esto se consigue añadiendo estas líneas al archivo de configuración:#Número máximo de conexiones
max_connections = 1000
#Timeout en segundos (1 hora)
wait_timeout=3600
Os pego la sección [mysqld] del archivo de configuración por si alguno quiere hacer un copy&paste rápido:
[mysqld]
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
bind-address = 0.0.0.0
key_buffer = 16M
max_allowed_packet = 16M
thread_stack=192
thread_cache_size = 8
myisam-recover = BACKUP
max_connections = 1000
wait_timeout=3600
query_cache_limit = 1M
query_cache_size = 16M
default-character-set=utf8
default-collation=utf8_general_ci
Hay muchos más parámetros de configuración con los que podéis jugar hasta encontrar la configuración que mejor satisface vuestras necesidades, este es tan solo un ejemplo. Espero que os sea de utilidad.
Hasta pronto
17 junio 2010 at 21:14
[…] de un servidor MySQL no es nada complicada, leyendo la documentación online o algún que otro tutorial se puede conseguir en unos minutos. Sin embargo, las distintas opciones de configuración que nos […]