Cette page vous donne les différences entre la révision choisie et la version actuelle de la page.
linux:mysql [2009/10/31 17:18] matthieu |
linux:mysql [2011/10/04 21:41] (Version actuelle) matthieu |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | {{tag>fr fr:linux fr:serveur fr:base_de_données}} | ||
====== Mysql ====== | ====== 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. | 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. | ||
- | |||
- | Utilisé dans [[Bender]]. | ||
===== Installation de mysql ===== | ===== Installation de mysql ===== | ||
Ligne 9: | Ligne 8: | ||
* php5-mysql (pour pouvoir utiliser mysql avec du code php) | * php5-mysql (pour pouvoir utiliser mysql avec du code php) | ||
- | Lors de l'installation saisir le mot de passe administrateur. | + | Configurer le mot de passe root : |
+ | * soit lors de l'installation du paquet | ||
+ | * soit en suivant [[#Edition du mot de passe admin]] | ||
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. | 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. | ||
Ligne 22: | Ligne 23: | ||
> mysql -p | > mysql -p | ||
Enter password: | 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> status | ||
-------------- | -------------- | ||
- | mysql Ver 14.7 Distrib 4.1.14, for pc-linux-gnu (i486) using readline 5.0 | + | mysql Ver 14.14 Distrib 5.1.49, for debian-linux-gnu (x86_64) using readline 6.1 |
- | Connection id: 7 | + | Connection id: 36 |
Current database: | Current database: | ||
Current user: root@localhost | Current user: root@localhost | ||
Ligne 33: | Ligne 44: | ||
Using outfile: '' | Using outfile: '' | ||
Using delimiter: ; | Using delimiter: ; | ||
- | Server version: 4.1.14-Debian_6-log | + | Server version: 5.1.49-3 (Debian) |
Protocol version: 10 | Protocol version: 10 | ||
Connection: Localhost via UNIX socket | Connection: Localhost via UNIX socket | ||
Ligne 41: | Ligne 52: | ||
Conn. characterset: latin1 | Conn. characterset: latin1 | ||
UNIX socket: /var/run/mysqld/mysqld.sock | UNIX socket: /var/run/mysqld/mysqld.sock | ||
- | Uptime: 2 min 51 sec | + | Uptime: 1 min 30 sec |
- | Threads: 1 Questions: 37 Slow queries: 0 Opens: 26 Flush tables: 1 Open tables: 15 Queries per second avg: 0.216 | + | Threads: 1 Questions: 102 Slow queries: 0 Opens: 99 Flush tables: 1 Open tables: 23 Queries per second avg: 1.133 |
-------------- | -------------- | ||
- | |||
- | mysql> | ||
mysql> show databases; | mysql> show databases; | ||
- | +----------+ | + | +--------------------+ |
- | | Database | | + | | Database | |
- | +----------+ | + | +--------------------+ |
- | | mysql | | + | | information_schema | |
- | | test | | + | | mysql | |
- | +----------+ | + | +--------------------+ |
2 rows in set (0.00 sec) | 2 rows in set (0.00 sec) | ||
mysql> | mysql> | ||
- | |||
</code> | </code> | ||
Ligne 68: | Ligne 76: | ||
Il est possible de changer le mot de passe admin avec la commande : | 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' | >/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) : | ||
+ | |||
+ | <file> | ||
+ | #/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 | ||
+ | </file> | ||
+ | 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 ===== | ===== Backup ===== | ||
- | * /etc/mysql/my.cnf | + | * /etc/mysql/ |
- | * /var/lib/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 ===== | ===== Links ===== | ||
- | * [[bender]] | ||
* [[phpmyadmin]] | * [[phpmyadmin]] | ||
* http://www.mysql.com/ | * http://www.mysql.com/ |