MySQL-4.0.15a

Introduction à MySQL

MySQL est un serveur de bases de données SQL rapide et très utilisé. Il s'agit d'une implémentation client/serveur consistant en un démon serveur et en plusieurs programmes clients et bibliothèques.

Informations sur le package

Installation de MySQL

Pour des raisons de sécurité, lancer le serveur en tant qu'utilisateur et groupe non privilégiés est fortement encouragé:

groupadd mysql &&
useradd -c mysql -d /dev/null -g mysql -s /bin/false mysql

Construire et installer MySQL en lançant les commandes suivantes:

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

Explication des commandes

sed -e "s%mysql-test/Makefile%%" -e "s% mysql-test%%" configure.old > configure Cette commande sed est utilisé pour désactiver la suite de test mysql.

Configurer MySQL

Fichiers de MySQL

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

Informations de configuration

Il y a de nombreux fichiers de configuration par défaut disponible dans /usr/share/mysql que vous pouvez utiliser.

cp /usr/share/mysql/my-medium.cnf /etc/my.cnf

Maintenant, nous pouvons installer la base de données et changer le propriétaire en un utilisateur et groupe non privilégié.

mysql_install_db
chown -R mysql:mysql /var/lib/mysql

Une configuration plus avancée requiert que le serveur mysql soit lancé:

mysqld_safe --user=mysql 2>&1 >/dev/null &

Une installation par défaut n'attribue pas de mot de passe pour l'administrateur. Donc, nous allons nous connecter et en ajouter un. Nous vous suggérons fortement de changer 'new-password' par le votre.

mysql -uroot mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connexion 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('new-password') 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

Maintenant que nous avons terminé la configuration du serveur, nous devons l'arrêter.

kill `pidof -x mysqld_safe mysqld`

Script init.d pour MySQL

Pour automatiser le lancement de MySQL, utilisez la commande suivante pour créer le script init.d:

cat > /etc/rc.d/init.d/mysql << "EOF"
#!/bin/bash
# Début $rc_base/init.d/

# Basé sur le script sysklogd de LFS-3.1 et précédent.
# Réécrit par Gerard Beekmans  - gerard@linuxfromscratch.org

source /etc/sysconfig/rc
source $rc_functions

case "$1" in
        start)
                echo "Starting MySQL daemon..."
                /usr/bin/mysqld_safe --user=mysql 2>&1 >/dev/null &
                evaluate_retval
                ;;

        stop)
                echo "Stopping MySQL daemon..."
                killproc mysqld
                ;;

        restart)
                $0 stop
                sleep 1
                $0 start
                ;;

        status)
                statusproc /usr/sbin/mysqld
                ;;

        *)
                echo "Usage: $0 {start|stop|restart|status}"
                exit 1
                ;;
esac

# End $rc_base/init.d/
EOF
chmod 755 /etc/rc.d/init.d/mysql

Créez les liens symboliques vers ce fichier dans le répertoire rc.d adéquat avec les commandes suivantes:

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

Contenu

Le package MySQL contient 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 et libvio.

Description

Une liste des fichiers du package tiendrait sur plusieurs pages, nous vous suggérons à la place de consulter la documentation mysql pour tous les détails.

Certains programmes de support MySQL nécessitent que les modules perl DBI soient installés pour fonctionner correctement.