LAMP:MySQL

De Aldeid.

Sommaire

INSTALLATION DE MYSQL

A partir des packages

# apt-get update
# apt-get install mysql-client mysql-server

A partir des sources

Ajout de l'utilisateur

# groupadd mysql
# useradd -g mysql mysql

Compilation et installation

# cd /usr/local/src/
# wget http://dev.mysql.com/get/Downloads/MySQL-5.1/mysql-5.1.44.tar.gz/from/http://mirrors.ircam.fr/pub/mysql/
# tar xzvf mysql-5.1.44.tar.gz
# cd mysql-5.1.44/
# ./configure --prefix=/usr/local/mysql
# make
# make install

Remarque : Si vous obtenez une erreur lors de la compilation, du type

No curses/termcap library found

vous pouvez ajouter la ligne suivante comme option de compilation :

--with-named-curses-libs=/lib/libncurses.so.5.7

Fichier de configuration my.cnf

# cp support-files/my-medium.cnf /etc/my.cnf
# chown root /etc/my.cnf
# chgrp root /etc/my.cnf
# chmod 644 /etc/my.cnf

Editer le fichier /etc/my.cnf

# vim /etc/my.cnf

Et juste après la section [mysqld], ajouter

user = mysql
Image:info.png
Remarque
Il se peut que vous ayiez un répertoire /etc/mysql/ contenant un fichier my.cnf. Celui-ci n'est pas nécessaire, vous pouvez effacer le répertoire par la commande rm -f -R /etc/mysql/.

Création de la base de données MYSQL

# /usr/local/mysql/bin/mysql_install_db --user=mysql --no-defaults

Si la création s'effectue correctement, vous devriez obtenir la sortie suivante :

Installing MySQL system tables...
OK
Filling help tables...
OK

To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:

/usr/local/mysql/bin/mysqladmin -u root password 'new-password'
/usr/local/mysql/bin/mysqladmin -u root -h debian5 password 'new-password'

Alternatively you can run:
/usr/local/mysql/bin/mysql_secure_installation

which will also give you the option of removing the test
databases and anonymous user created by default.  This is
strongly recommended for production servers.

See the manual for more instructions.

You can start the MySQL daemon with:
cd /usr/local/mysql ; /usr/local/mysql/bin/mysqld_safe &

You can test the MySQL daemon with mysql-test-run.pl
cd /usr/local/mysql/mysql-test ; perl mysql-test-run.pl

Please report any problems with the /usr/local/mysql/bin/mysqlbug script!

The latest information about MySQL is available at http://www.mysql.com/
Support MySQL by buying support/licenses from http://shop.mysql.com/

Cela a pour but de créer les tables nécessaires dans /usr/local/mysql/var/

Application des droits

# chown -R root  /usr/local/mysql
# chown -R mysql /usr/local/mysql/var
# chgrp -R mysql /usr/local/mysql
# chown -R mysql:mysql /usr/local/mysql/data/

Changement du mot de passe root et test de connexion

Démarrage du serveur

# /usr/local/mysql/bin/mysqld_safe -user=mysql &
Image:info.png
Remarque
Si vous obtenez une erreur, vérifier qu'il n'existe pas un répertoire /etc/mysql/. Dans l'affirmative, supprimez ce répertoire puis relancer la commande ci-dessus

Changement du mot de passe root

# /usr/local/mysql/bin/mysqladmin -u root password 'N0uv34u_P455w0rD'

Test de connexion

# /usr/local/mysql/bin/mysql -u root -p
<<Password>>

Suppression de la base TEST

Pour supprimer la base de tests, connectez-vous :

# /usr/local/mysql/bin/mysql -u root -p

Supprimer la base de tests :

mysql> drop database test;

Suppression des accès anonymes et comptes root sans mot de passe

mysql> use mysql;
mysql> delete from user where User='';
mysql> delete from user where Password='';

Automatisation du démarrage

# cd /usr/local/src/mysql-5.1.44/
# cp support-files/mysql.server /etc/init.d/mysql
# cd /etc/init.d/
# chmod +x mysql
# update-rc.d mysql defaults

Variables d'environnement

Afin que le système connaisse mysql, vous pouvez ajouter la ligne suivante dans le ~/.bashrc de l'utilisateur courant :

# export PATH=$PATH:/usr/local/mysql/bin
Outils personnels