User Tools

Site Tools


mysql

http://www.mysql.com/ est un gestionnaire de base de données libre. Il est populaire du fait de son intégration avec PHP.

Il existe une interface web de gestion écrite en PHP: phpMyAdmin.

Pour la documentation: http://dev.mysql.com/doc/

Il existe une alternative compatible : MariaDB (documentation), utilisée par exemple par XAMPP (cf. Webserver sous Windows).

Pratique

Changer le mot de passe root

C'est la première chose à faire après l'installation.

mysql -u root
mysql> set password = password('mot_de_passe');

Erreur avec Apache et PHP

Fatal error: Call to undefined function: mysql_connect() in /var/www/drupal/includes/database.mysql.inc on line 31

Dans le fichier /etc/php4/apache2/php.ini, il faut décommenter la ligne (enlever le point-virgule):

;   extension=mysql.so

et redémarrer Apache:

sudo /etc/init.d/apache2 reload

Ajouter des privilèges à un utilisateur

grant all privileges on db_name.* to 'user'@'localhost' identified by 'password';

L'utilisateur est crée et il a tous les droits sur la base de données.

faire tourner un ficher .sql

mysql -u utilisateur -p < fichier.mysql nom_de_la_base_de_donnees

Problèmes

dans syslog :

mysqld: 120929  6:54:21 [ERROR] /usr/sbin/mysqld: Table './spip/spip_meta' is marked as crashed and last (automatic?) repair failed

Alors je fais :

sudo mysqlcheck -u root -p spip spip_meta
Enter password: 
spip.spip_meta
warning  : Table is marked as crashed and last repair failed
warning  : Size of datafile is: 8436       Should be: 8400
error    : Keypointers and record positions doesn't match
warning  : Found 119 key parts. Should be: 118
error    : Corrupt

Autre essai :

sudo myisamchk /var/lib/mysql/spip/spip_meta.MYI
[sudo] password for carl: 
Checking MyISAM file: /var/lib/mysql/spip/spip_meta.MYI
Data records:     118   Deleted blocks:       0
myisamchk: warning: Table is marked as crashed and last repair failed
- check file-size
myisamchk: warning: Size of datafile is: 8436            Should be: 8400
- check record delete-chain
- check key delete-chain
- check index reference
- check data record references index: 1
- check record links
myisamchk: error: Keypointers and record positions doesn't match
myisamchk: warning: Found        119 key parts. Should be: 118
MyISAM-table '/var/lib/mysql/spip/spip_meta.MYI' is corrupted
Fix it using switch "-r" or "-o"

Cela a fonctionné quand j'ai fait ceci (sans les 2 premières lignes, cela ne fonctionnait pas) :

cd /var/lib/mysql/spip
sudo mv spip_meta.TMD spip_meta.TMD_old
sudo myisamchk -o /var/lib/mysql/spip/spip_meta.MYI
- recovering (with keycache) MyISAM-table '/var/lib/mysql/spip/spip_meta.MYI'
Data records: 118
mysql.txt · Last modified: 2016/09/07 14:44 (external edit)