MySQL-4.0.15a

Introducción a MySQL

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.

Información sobre el paquete

Instalación de MySQL

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

Explicación de los comandos

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.

Configuración de MySQL

Ficheros de configuración

/etc/my.cnf, ~/.my.cnf

Información sobre la configuración

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`

Guión de init.d para MySQL

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

Contenido

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.

Descripción

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.