Parfois, on aime bien avoir une base données accessible depuis l’extérieur pour se faciliter la vie lors du développement. Je note donc ici comment faire par ce que ça peut en aider plus d’un mais aussi par ce que c’est le genre de truc que je fais une fois puis que j’oublie complètement.

D’abord, il faut s’assurer que dans le my.conf on est bien cette ligne:

bind-address=0.0.0.0

Si ce n’est pas le cas, ou que l’adresse est différente, changez cette ligne et redémarré MySQL.

Par défaut avec l’installation de MySQL, l’utilisateur root n’a pas de mot de passe et cela pose des problèmes. Pour le changer il faut se connecter à la console MySQL

mysql -u root

Puis changer le mot de passe de root:

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('root');

Maintenant comme root à un mot de passe, si vous avez besoin de vous reconnecter à la console MySQL, il faudra lui préciser:

mysql -u root -proot

Non non, il n’y a pas d’erreur, il s’agit bien de l’option -p suivi du mot de passe root tout attaché.

Enfin, pour autoriser l’access externe:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;

PS: l’astuce du jour, il est possible de coller un dump.sql entier directement dans la console MySQL. Chaque requête SQL sera exécuté une à une. (eg: C’est le cas à utiliser quand la lois de murphy s’applique dans tout les contextes possible de votre enivrement de développement)