Mysql

Mysql est une base de données SQL bien connue du monde open source. Elle permet la création de petites bases de données très performantes.

Installation de mysql

Paquets Debian nécessaires :

  • mysql-server
  • php5-mysql (pour pouvoir utiliser mysql avec du code php)

Configurer le mot de passe root :

Si vous disposez d'un serveur web sur le PC, je vous conseille PhpMyAdmin qui fournit une interface web intuitive pour la gestion de mysql.

Vérification

Une tentative sans mot de passe doit échouer :

> mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

Avec un mot de passe

> mysql -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 36
Server version: 5.1.49-3 (Debian)

Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL v2 license

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> status
--------------
mysql  Ver 14.14 Distrib 5.1.49, for debian-linux-gnu (x86_64) using readline 6.1

Connection id:          36
Current database:
Current user:           root@localhost
SSL:                    Not in use
Current pager:          stdout
Using outfile:          ''
Using delimiter:        ;
Server version:         5.1.49-3 (Debian)
Protocol version:       10
Connection:             Localhost via UNIX socket
Server characterset:    latin1
Db     characterset:    latin1
Client characterset:    latin1
Conn.  characterset:    latin1
UNIX socket:            /var/run/mysqld/mysqld.sock
Uptime:                 1 min 30 sec

Threads: 1  Questions: 102  Slow queries: 0  Opens: 99  Flush tables: 1  Open tables: 23  Queries per second avg: 1.133
--------------

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
+--------------------+
2 rows in set (0.00 sec)

mysql>

Pour info le compte debian-sys-maint est créé à l'installation, son mot de passe est aléatoire, vous pouvez le trouver dans /etc/mysql/debian.cnf.

Edition du mot de passe admin

Il est possible de changer le mot de passe admin avec la commande :

>/usr/bin/mysqladmin -u root password 'enter-your-good-new-password-here'

Une autre méthode est la reconfiguration du paquet :

>dpkg-reconfigure mysql-server-5.1

Rendre mysql accessible par le réseau

Par défaut Mysql n'écoute que sur 127.0.0.1. Pour le rendre accessible à d'autres machines, commenter la ligne suivante dans /etc/mysql/my.cnf :

 bind-address          = 127.0.0.1

Script dump de mysql

Voici un petit script /home/scripts/export_db.sh pour exporter l'intégralité des databases mysql dans un fichier (qui sera ensuite à sauvegarder) :

#/bin/sh
/usr/bin/mysqldump --defaults-file=/etc/mysql/debian.cnf --all-databases --add-drop-database --result-file=/home/scripts/dump_mysql/all_databases.sql

Ce script utilise le compte de maintenance debian (debian-sys-maint) et exporte les données dans /home/scripts/dump_mysql/all_databases.sql.

Pour automatiser l'export, il suffit d'utiliser cron, par exemple en créant /etc/cron.d/exportdb :

55 23 * * * root /home/scripts/export_db.sh

:!: Il est conseillé de protéger l'accès aux données dumpées :

chmod og-rx -R /home/scripts/dump_mysql/

Backup

  • /etc/mysql/
  • /var/lib/mysql/
  • /var/log/mysql/

dump mysql :

  • /etc/cron.d/exportdb
  • /home/scripts/export_db.sh
  • /home/scripts/dump_mysql/all_databases.sql

Links

linux/mysql.txt · Dernière modification: 2011/10/04 21:41 par matthieu
Recent changes RSS feed Debian Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki