Affichage des articles dont le libellé est MySQL. Afficher tous les articles
Affichage des articles dont le libellé est MySQL. Afficher tous les articles

vendredi 29 janvier 2010

[MySQL] Erreur "Cannot assign requested address"

Ajourd'hui j'ai été confronté à un petit problème :

Aucun serveur mysql lancé, rien qui n'écoute sur le port 3306, pas de fichier socket, ... et cette erreur :

100129 13:23:53 [ERROR] Can't start server: Bind on TCP/IP port: Cannot assign requested address
100129 13:23:53 [ERROR] Do you already have another mysqld server running on port: 3306 ?
100129 13:23:53 [ERROR] Aborting


La solution trouvé à été d'exécuter ceci

ifconfig lo up


Ceci réinitialise l'interface de loopback et permet de à MySQl de se "binder".

mercredi 13 janvier 2010

[MySQL] Mysql::Error: Table 'redmine.schema_info' doesn't exist: SELECT version FROM schema_info

Si vous installez une base de données via Rake comme redmine vous pourriez tomber sur une erreur de ce type :
Mysql::Error: Table 'redmine.schema_info' doesn't exist: SELECT version FROM schema_info

Le plus simple pour résoudre cette erreur est de supprimer et recréer la base.

mardi 11 août 2009

[MySQL] ERROR 1045 (28000): Access denied for user 'debian-sys-maint'@'localhost' (using password: YES)

Aujourd'hui, j'ai eu une erreur du type : ERROR 1045 (28000): Access denied for user 'debian-sys-maint'@'localhost' (using password: YES)
Voici comment j'ai fait pour m'en sortir :

Se connecter sur mysql
mysql -u root -p
Nous allons vérifier les privilèges de l'utilisateur debian-sys-maint avec la commande SQL suivante
SHOW GRANTS FOR 'debian-sys-maint'@'localhost';

Dans mon cas l'utilisateur n'avait pas de GRANT OPTION mais la commande suivante devrait résoudre d'autre problèmes du même ordre.
GRANT ALL PRIVILEGES ON *.* TO 'debian-sys-maint'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

password est le mot de passe que vous retrouverez dans /etc/mysql/debian.cnf

Il suffit de redémarrer le serveur et tout doit fonctionner ;) !
/etc/init.d/mysql restart

mercredi 3 décembre 2008

[MySQL] Exporter et Importer une base de données MySQL

Il existe un outil intégré dans MySQL (sous Linux et sous Windows) nommé mysqldump. Il nous permet de faire une sauvegarde totale de notre base de données. Pour ce faire :
mysqldump -u admin -p --all-databases > dump.sql
admin étant le nom de votre compte administrateur ayant accès à toute votre base.

L'importation est toute aussi simple. Il suffit d'utiliser l'outil mysql en lui redirigeant le flux d'entré comme suit :
mysql -u admin -p < dump.sql

dump.sql étant le fichier précédemment généré avec mysqldump.

mercredi 15 octobre 2008

[PHPMyAdmin] Installer PHPMyAdmin sur un serveur distant du serveur MySQL

L'installation de PHPMyAdmin par défaut se connecte au serveur MySQL local (soit localhost). Si comme moi vous avez décentralisé votre base de données vous voudrez avoir accès à celle-ci via PHPMyAdmin tout de même. Et bien ... (comme toujours) ... c'est possible !

La configuration à faire n'est pas très compliquée car PHPMyAdmin n'est en soit qu'une application PHP. Il vous faudra éditer le fichier
/etc/phpmyadmin/config.inc.php

Dans celui-ci nous retrouvons, tout d'abord une syntaxe PHP, mais aussi beaucoup de lignes commentées. La variable à dé-commenter et éditer qui nous intéresse est :
$cfg['Servers'][$i]['host'] = 'localhost';

Il suffit de renseigner l'adresse de votre serveur MySQL et le tour est joué.
Remarquez que vous pouvez aussi éditer la variable $cfg['Servers'][$i]['port'] pour changer le port de connexion ou encore d'autres variables que je vous laisse le soin de découvrir.

[MySQL] Connaitre la version de MySQL sous Linux

Pour connaitre la version de MySQL rien de plus simple il suffit de taper
mysql -V
et vous obtiendrez une chaine où nous trouvons l'information. Cette chaine est du type :
mysql Ver 14.12 Distrib 5.0.32, for pc-linux-gnu (i486) using readline 5.2

[MySQL] Installer un serveur MySQL accessible par le réseau et de l'extérieur

Tout le monde connait MySQL, le SGBD gratuit qui est abondamment utilisé sur le web. Nous allons donc voir ici comment installer MySQL et le rendre accessible aux machines de notre réseau local.

Tout d'abord il nous faut installer MySQL. Pour cela nous utiliserons la commande
aptitude install mysql-server

Si vous n'utilisez pas le système de package apt le nom du package doit être sensiblement le même. Reportez le donc dans votre syntaxe habituelle.

Il faut tout d'abord préciser le mot de passe root. Pour cela il faut se connecter à MySQL en ligne de commande via la commande :
mysql

Et taper ceci (avec votre mot de passe !) :
SET PASSWORD FOR root@localhost = PASSWORD('mot_de_pass');


Vous pouvez aussi changer le nom de l'utilisateur root (pour plus de sécurité) via :
UPDATE mysql.user SET user='nom_du_root' WHERE user='root';


Pour que vous puissiez vous connecter depuis l'extérieur il vous faut donner des droits à un utilisateur. Pour cela on utilisera la commande suivant :
GRANT ALL PRIVILEGES ON *.* TO 'nom'@'10.0.0.0/255.0.0.0';


Vous pouvez ajouter l'option WITH GRANT OPTION à cette commande ce qui permettra à l'utilisateur d'exécuter les commande GRANT (modification de privilèges).
Il vous faut bien entendu mettre l'adresse IP et le masque de sous réseau en rapport avec votre installation.
Le paramètre *.* représente la base de donnée et la table.


A ce moment là l'utilisateur qui à tout les droits n'a pas de mot de passe il faut donc lui en attribuer un. (Même si l'utilisateur est root par exemple et que vous lui avez déjà attribué un mot de passe pour localhost il vous faut en attribuer un autre (ou le même)).
SET PASSWORD FOR ‘nom’@’10.0.0.0/255.0.0.0’ = PASSWORD(‘mot_de_pass’);


Il vous faudra par contre recharger les privilèges:
FLUSH PRIVILEGES