Montei uma nova máquina VirtualBox com Vagrant, e dentro dessa VM instalei o Mysql Server. Como posso me conectar a esse servidor fora da vm? Já encaminhei a porta 3306 do Vagrantfile, mas quando tento me conectar ao servidor mysql responde com o erro: 'lendo pacote de comunicação inicial'
ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system error: 0
mysql
virtualbox
vagrant
Rizidoro
fonte
fonte
Respostas:
Certifique-se de que o MySQL se liga a 0.0.0.0 e não 127.0.0.1 ou não estará acessível de fora da máquina
Você pode garantir isso editando seu arquivo my.conf e procurando o
bind-address
item com a qual deseja que ele se pareçabind-address = 0.0.0.0
. Em seguida, salve e reinicie o mysql:Se estiver fazendo isso em um servidor de produção, você deseja estar ciente das implicações de segurança, discutidas aqui: /server/257513/how-bad-is-setting-mysqls-bind-address-to -0-0-0-0
fonte
sed -i 's/symbolic-links=0/symbolic-links=0\nbind-address=0.0.0.0/g' /etc/my.cnf
bind-address
linhaHost '10.0.2.2' is not allowed to connect to this MySQL server
. Mas resolvido com serverfault.com/a/486716/147813mysql -e "create user 'root'@'10.0.2.2' identified by 'vagrant'; grant all privileges on *.* to 'root'@'10.0.2.2' with grant option; flush privileges;"
Faça login na sua caixa com
ssh [email protected] -p 2222
(senha vagrant)Então:
sudo nano /etc/mysql/my.cnf
e comente as seguintes linhas com #salve e saia
então:
sudo service mysql restart
Então você pode se conectar por SSH ao seu servidor MySQL.
fonte
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' WITH GRANT OPTION;
# skip-external-locking
Resolvi-o!Eu me deparei com esse problema recentemente. Usei o PuPHPet para gerar uma configuração.
Para conectar ao MySQL através de SSH, a senha "vagrant" não estava funcionando para mim, em vez disso, tive que autenticar por meio do arquivo de chave SSH.
Para conectar-se ao MySQL Workbench
Método de conexão
TCP / IP padrão sobre SSH
SSH
MySQL
Teste a conexão.
fonte
Para quem está tentando fazer isso usando mysql workbench ou sequel pro, estas são as entradas:
fonte: https://coderwall.com/p/yzwqvg
fonte
vagrant ssh-config
comando.Bem, uma vez que nenhuma das respostas fornecidas me ajudou, tive que procurar mais e encontrei a solução neste artigo.
E a resposta em poucas palavras é a seguinte:
Conectando-se ao MySQL usando o MySQL Workbench
Usando a abordagem dada, fui capaz de me conectar ao banco de dados mysql no vagrant a partir da máquina Ubuntu host usando MySQL Workbench e também usando Valentina Studio.
fonte
$HOME/project/.vagrant/machines/default/virtualbox/private_key
no Ubuntu 14.04vagrant ssh-config
comando.Aqui estão as etapas que funcionaram para mim depois de fazer o login na caixa:
Localize o arquivo de configuração do MySQL:
No Ubuntu 16, o caminho é normalmente
/etc/mysql/mysql.conf.d/mysqld.cnf
Alterar arquivo de configuração para endereço de ligação:
Se existir, altere o valor da seguinte maneira. Se não existir, adicione-o em qualquer lugar na seção [mysqld].
Salve suas alterações no arquivo de configuração e reinicie o serviço MySQL.
Criar / conceder acesso ao usuário do banco de dados:
Conecte-se ao banco de dados MySQL como usuário raiz e execute os seguintes comandos SQL:
fonte
Isso funcionou para mim: Conecte-se ao MySQL no Vagrant
fonte