J'utilise Laravel sur Vagrant et j'essaie de connecter Sequel Pro.
Je viens tout juste de commencer à utiliser Vagrant. J'ai suivi quelques tutoriels sur la connexion à Sequel Pro, mais ils ont tous échoué.
Voici mon fichier Vagrant:
# -*- mode: Ruby -*-
# vi: set ft=Ruby :
Vagrant.configure('2') do |config|
config.vm.hostname = 'laravel'
config.vm.boot_timeout = 3600
config.vm.box = 'debian-73-i386-virtualbox-puppet'
config.vm.box_url = 'http://puppet-vagrant-boxes.puppetlabs.com/debian-73-i386-virtualbox-puppet.box'
config.vm.network :forwarded_port, guest: 8000, Host: 8000
config.vm.network :forwarded_port, guest: 8500, Host: 8500
config.vm.provider :virtualbox do |vb|
vb.customize ['modifyvm', :id, '--memory', '1536']
end
config.vm.provision :puppet do |puppet|
puppet.manifests_path = 'puppet/'
puppet.manifest_file = 'init.pp'
puppet.module_path = 'puppet/modules/'
# puppet.options = '--verbose --debug'
end
end
De my.cnf
:
bind-address = 127.0.0.1
Voici mon /etc/hosts
127.0.0.1 localhost
127.0.1.1 laravel
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
EDIT: A changé l’adresse de reliure en 0.0.0.0 mais ne fonctionne toujours pas Dans Sequel Pro, j’ai
MySQL Host: 0.0.0.0
username: root
Password: (mysql password)
SSH Host 0.0.0.0
SSH User: vagrant
SSH Password: vagrant
EDIT: Voici mon fichier hôtes vagrant - etc/hosts
Ceci est mon fichier hosts
127.0.0.1 localhost
127.0.1.1 laravel
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
Le problème est que MySQL tel que vous l'avez configuré dans my.cnf
ne peut maintenant se connecter que via localhost
au sein du serveur Vagrant:
bind-address = 127.0.0.1
Pour activer la mise en réseau dans MySQL, vous devez modifier ce paramètre dans my.cnf
en:
bind-address = 0.0.0.0
Et puis redémarrez le service MySQL. Vous ne savez pas comment cela se passera dans Vagrant, mais dans Ubuntu, vous devrez entrer une commande comme celle-ci:
Sudo service mysql restart
Vous devrez peut-être vérifier vos autorisations utilisateur MySQL pour vous assurer que l'utilisateur dans MySQL peut réellement être utilisé à partir de n'importe quelle adresse IP (parfois, ils sont strictement définis sur localhost
ou 127.0.0.1
).
Comme expliqué dans la documentation officielle de MySQL :
Le serveur traite différents types d’adresses comme suit:
Si l'adresse est 0.0.0.0, le serveur accepte les connexions TCP/IP sur toutes les interfaces IPv4 de l'hôte du serveur.
Si l'adresse est ::, le serveur accepte les connexions TCP/IP sur toutes les interfaces hôte IPv4 et IPv6 du serveur. Utilisez cette adresse pour autoriser les connexions IPv4 et IPv6 sur toutes les interfaces de serveur.
Si l'adresse est une adresse mappée IPv4, le serveur accepte les connexions TCP/IP pour cette adresse, au format IPv4 ou IPv6. Par exemple, si le serveur est lié à :: ffff: 127.0.0.1, les clients peuvent Se connecter à l'aide de --Host = 127.0.0.1 ou --Host = :: ffff: 127.0.0.1 .
Si l'adresse est une adresse «normale» IPv4 ou IPv6 (telle que 127.0.0.1 ou :: 1), le serveur accepte les connexions TCP/IP uniquement pour cette adresse IPv4 ou IPv6.
Cela dit, il n'est pas recommandé d'exposer MySQL (ou tout autre serveur de base de données) au monde. Mais est acceptable dans un cas de développement local comme celui-ci.
Par conséquent, si l'activation de la mise en réseau MySQL n'est pas une option, vous pouvez également utiliser les fonctionnalités de tunneling SSH intégrées à Sequel Pro pour vous connecter à MySQL via SSH. Des détails sur tous les différents types de connexion sont présentés sur le site officiel de Sequel Pro ici . Mais cette capture d'écran résume bien.
En gros, vous définissez vos informations localhost
/127.0.0.1
MySQL comme vous le feriez normalement. Mais vous ajoutez également les informations SSH que vous utiliseriez pour SSH sur votre serveur. Et Sequel Pro utilisera cette connexion SSH pour créer un tunnel et se connecter à MySQL de manière transparente. C’est peut-être le meilleur moyen de gérer les problèmes de réseautage et d’autorisation utilisateur avec MySQL.
Pour le tunneling SSH dans Sequel Pro, il vous suffit de procéder comme suit:
localhost
ou 127.0.0.1
Maintenant, vous définissez les paramètres SSH pour votre installation Vagrant:
Tout ce que vous avez à faire est d’éditer l’adresse de lien située ici:
$ Sudo nano /etc/mysql/my.cnf
Recherchez le paramètre bind_address qui sera défini sur 127.0.0.0 et remplacez-le par 0.0.0.0
Après cela, redémarrez MySQL:
$ Sudo service mysql restart
La dernière étape consiste simplement à mettre à jour les autorisations:
$ mysql -u root -proot -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION; FLUSH PRIVILEGES;"
Puis connectez-vous comme vous le feriez normalement (en changeant de port comme vous le définissez dans votre fichier vagrant).
Notez qu'il y a des problèmes de sécurité ici car tout est assez ouvert, mais pour dev, ça va.
Toutes les réponses ci-dessus n'ont pas fonctionné pour moi jusqu'à ce que j'aie essayé ceci:
vagrant ssh
passwd
pour définir un nouveau mot de passe. Utilisez le mot de passe vagrant
pour la cohérence.Il se connectera facilement après cette étape.
Merci à @hugo à Comment puis-je utiliser Suite avec PuPHPet?
Essayez https://github.com/AlexDisler/mysql-vagrant , il vous permet de vous connecter sans tunnel ssh (consultez install.sh pour les paramètres spécifiques).
Votre connexion à votre boîte Vagrant doit être établie via SSH. Ainsi, si vous vous êtes déjà connecté auparavant et avez apporté des modifications majeures à votre zone Vagrant (comme une destruction/reconstruction), vous pouvez disposer d'une nouvelle clé privée et vous devez actualiser votre enregistrement d'adresse IP dans ~/.ssh/known_hosts
. Pour ce faire, ouvrez le fichier dans vim et supprimez simplement la ligne qui commence par votre adresse IP de boîte vagabonde.
La réponse à propos de l'adresse de rattachement est correcte, mais j'ai constaté qu'au lieu de modifier la valeur en 0.0.0.0, il est préférable de simplement modifier le fichier my.cnf et de commenter l'adresse de rattachement.
Si vous faites cela et que vous suivez ensuite le reste de la réponse originale, vous devriez pouvoir vous connecter via sequel pro