[Symfony]Problème avec Mysql
Bonsoir,
Je me trouve dans le 3eme chapitre de Jobeet Doctrine. Malheuresemen, je me suis bloqué dans la premiere commande mysqladmin. voila :
aymen@aymen-laptop:~/sfprojects/jobeet$ mysqladmin -uroot -pmYsEcret create jobeet
mysqladmin: connect to server at 'localhost' failed error: 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)' Check that mysqld is running and that the socket: '/var/run/mysqld/mysqld.sock' exists!
Svp j'ai besoin de votre aide, j'ai XAMPP installé sous ubuntu et malgré que j'ai vérifié que Mysql fonctionne , le probleme persiste encore! :(
Une solution ?
Réponses apportées à cette discussion
Salut,
La commande mysqladmin sert à créer la base de données. As-tu vérifié qu'elle avait bien été créée en utilisant PHPMyAdmin, MySQL Query Browser ou le client mysql de ton shell ?
As-tu ensuite exécuté la commande suivante ?
php symfony configure:database --name=doctrine --class=sfDoctrineDatabase "mysql:host=localhost;dbname=jobeet" root mYsEcret
Celle-ci te permet de configurer symfony pour accéder à ta base de donnée. Elle crée le fichier config/databases.yml avec les bons paramètres de connexions à MySQL.
Enfin, peux-tu nous donner (en utilisant la coloration de code stp), le détail de ton fichier config/databases.yml stp ?
Bonjour,
Tout d'abord voilà le contenu de databases.yml:
all:
doctrine:
class: sfDoctrineDatabase
param:
dsn: 'mysql:host=localhost;dbname=jobeet'
username: root
password: aaaa
Après l'essai de la première commande pour la creation de la base de données jobeet, et malgré qu'elle a échoué , j'ai vérifié avec phpmyadmin et j'ai rien trouvé. J'ai créé une nouvelle BD manuellement avec phpmyadmin et j'ai passé à la prochaine étape.
aymen@aymen-laptop:~/sfprojects/jobeet$ php symfony configure:database --name=doctrine --class=sfDoctrineDatabase "mysql:host=localhost;dbname=jobeet" root aaaa
La console n'a rien dit et j'ai vérifié chez phpmyadmin et j'ai rien trouvé de nouveau
:'(
le problème , à mon avis , que je n'ai pas un vrai envirenoment web!? Est ce que Mysql n'est pas bien installé? ('/var/run/mysqld/mysqld.sock' n'existe pas)...
php symfony doctrine:build-sql
>> doctrine generating sql for models
While exporting model class 'JobeetJob' to SQL: Couldn't locate driver named mysql
:'(
Affiche un phpinfo et regarde si le driver PDO de MySQL (pdo_mysql) est bien installé. Si oui, vérifie ton DSN (host et port notamment).
++
pdo mysql existe! pour les ports je n'ai pas une idéé
svp, quel envirenoment web vous utilisez avec symfony? qui est le mieu adapté?
WAMP XAMPP.. c'est bien !
Essaie de tout réinstall !! :/
symfony 1.2 est adapté pour n'importe quel environnement LAMP avec PHP > 5.2.4. Apparemment ta connexion au serveur SQL ne se fait pas car soit le serveur MySQL n'est pas lancé ou bien parce que la socket n'arrive pas être créée.
Tu peux créer manuellement la socket en faisant :
$ touch /var/run/mysqld/mysqld.sock
Néanmoins, le répertoire /var/run est un dossier système, donc il faut avoir des accès administrateur pour pouvoir écrire dedans. Et c'est sûrement pour cette raison que MySQL n'arrive pas à créer le fichier mysqld.sock dedans car l'utilisateur MySQL n'a pas les privilèges pour le faire.
Il faut donc que tu ouvres le fichier my.cnf et que tu changes le chemin ou le répertoire de la socket par un dossier accessible par ton utilisateur MySQL. Le dossier /tmp par exemple.
++