MySQL es un servidor de bases de datos SQL ampliamente usado y muy rápido. Es una implementación cliente/servidor que consiste en un demonio servidor y varios programas y librerías cliente.
Descarga (HTTP): http://mysql.he.net/Downloads/MySQL-4.0/mysql-4.0.15a.tar.gz
Descarga (FTP): ftp://mirror.mcs.anl.gov/pub/mysql/Downloads/MySQL-4.0/mysql-4.0.15a.tar.gz
Tamaño del paquete: 12 MB
Estimación del espacio necesario en disco: 92 MB
Tiempo estimado de construcción: 4.11 SBU
Por razones de seguridad, ejecutar el servidor con un usuario y grupo sin privilegios es súmamente recomendable:
groupadd mysql && useradd -c mysql -d /dev/null -g mysql -s /bin/false mysql |
Construye e instala MySQL ejecutando los siguientes comandos:
cp configure configure.old && sed -e "s%mysql-test/Makefile%%" -e "s% mysql-test%%" configure.old > configure && ./configure --prefix=/usr \ --sysconfdir=/etc \ --libexecdir=/usr/sbin \ --localstatedir=/var/lib/mysql \ --enable-thread-safe-client \ --enable-local-infile \ --without-debug \ --without-bench && make && make install |
sed -e "s%mysql-test/Makefile%%" -e "s% mysql-test%%" configure.old > configure : Este sed se usa para desactivar el conjunto de pruebas de mysql.
/etc/my.cnf, ~/.my.cnf
Tienes varios ficheros con configuraciones predefinidas en /usr/share/mysql que puedes usar.
cp /usr/share/mysql/my-medium.cnf /etc/my.cnf |
Ahora podemos crear una base de datos y cambiar el propietario al usuario y grupo sin privilegios.
mysql_install_db chown -R mysql:mysql /var/lib/mysql |
Para completar la configuración es necesario que el servidor mysql se esté ejecutando:
mysqld_safe --user=mysql 2>&1 >/dev/null & |
La instalación por defecto no establece una contraseña para el administrador, así que nos conectaremos y le pondremos una. Sugerimos encarecidamente que cambies 'nueva-contraseña' por la tuya propia.
mysql -uroot mysql Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 to server version: 3.23.51-log Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> UPDATE user SET password=password('nueva-contraseña') WHERE user='root'; Query OK, 2 rows affected (0.00 sec) Rows matched: 2 Changed: 2 Warnings: 0 mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.00 sec) mysql> EXIT; bye |
Ahora que hemos terminado la configuración del servidor podemos cerrarlo.
kill `pidof -x mysqld_safe mysqld` |
Para automatizar la ejecución de MySQL, usa los siguientes comandos para crear el guión init.d:
cat > /etc/rc.d/init.d/mysql << "EOF" #!/bin/bash # Inicio de $rc_base/init.d/ # Basado en el guión sysklogd de LFS-3.1 y anteriores. # Reescrito por Gerard Beekmans - gerard@linuxfromscratch.org source /etc/sysconfig/rc source $rc_functions case "$1" in start) echo "Iniciando el demonio MySQL..." /usr/bin/mysqld_safe --user=mysql 2>&1 >/dev/null & evaluate_retval ;; stop) echo "Parando el demonio MySQL..." killproc mysqld ;; restart) $0 stop sleep 1 $0 start ;; status) statusproc /usr/sbin/mysqld ;; *) echo "Uso: $0 {start|stop|restart|status}" exit 1 ;; esac # Fin de $rc_base/init.d/ EOF chmod 755 /etc/rc.d/init.d/mysql |
Crea los enlaces simbólicos a este fichero en los directorios rc.d adecuados con los siguientes comandos:
cd /etc/rc.d/init.d && ln -sf ../init.d/mysql ../rc0.d/K26mysql && ln -sf ../init.d/mysql ../rc1.d/K26mysql && ln -sf ../init.d/mysql ../rc2.d/K26mysql && ln -sf ../init.d/mysql ../rc3.d/S34mysql && ln -sf ../init.d/mysql ../rc4.d/S34mysql && ln -sf ../init.d/mysql ../rc5.d/S34mysql && ln -sf ../init.d/mysql ../rc6.d/K26mysql |
El paquete MySQL contiene comp_err, isamchk, isamlog, msql2mysql, my_print_defaults, myisamchk, myisamlog, myisampack, mysql, mysql_config, mysql_convert_table_format, mysql_explain_log, mysql_find_rows, mysql_fix_extensions, mysql_fix_privilege_tables, mysql_install, mysql_install_db, mysql_secure_installation, mysql_setpermission, mysql_tableinfo, mysql_waitpid, mysql_zap, mysqlacess, mysqladmin, mysqlbinlog, mysqlbug, mysqlcheck, mysqld, mysqld_multi, mysqld_safe, mysqldump, mysqldumpslow, mysqlhotcopy, mysqlimport, mysqlmanager-pwgen, mysqlmanagerc, mysqlshow, mysqltest, pack_isam, perror, replace, resolve_stack_dump, resolveip, libdbug, libheap, libmerge, libmyisam, libmyisammrg, libmysqlclient, libmystrings, libmysys, libnisam y libvio.
Un listado del paquete sería demasiado largo. Sugerimos, en su lugar, consultar los detalles completos en la documentación de MySQL.
Ciertos programas de soporte de MySQL pueden necesitar que instales los módulos DBI de Perl para funcionar correctamente.