remoto - ingresar a mysql por consola linux
¿Cómo conectarse al Servidor Mysql dentro de VirtualBox Vagrant? (7)
Monté una nueva máquina VirtualBox con Vagrant, y dentro de esa VM instalé Mysql Server. ¿Cómo puedo conectarme a ese servidor fuera de la VM? Ya reenvío el puerto 3306 del Vagrantfile, pero cuando trato de conectarme al servidor mysql, resposts con el error: ''reading initial communication packet''
ERROR 2013 (HY000): Lost connection to MySQL server at ''reading initial communication packet'', system error: 0
Asegúrese de que MySQL se una a 0.0.0.0 y no a 127.0.0.1 o no será accesible desde fuera de la máquina
Puedes asegurarte esto editando tu archivo my.conf y buscando el elemento bind-address
; quieres que se vea como bind-address = 0.0.0.0
. Luego guarda esto y reinicia mysql:
sudo service mysql restart
Si está haciendo esto en un servidor de producción, quiere estar al tanto de las implicaciones de seguridad, discutidas aquí: https://serverfault.com/questions/257513/how-bad-is-setting-mysqls-bind-address-to-0-0-0-0
Bueno, como ninguna de las respuestas me ayudó, tuve que buscar más y encontré la solución en this artículo.
Y la respuesta en pocas palabras es la siguiente:
Conectarse a MySQL usando MySQL Workbench
Connection Method: Standard TCP/IP over SSH
SSH Hostname: <Local VM IP Address (set in PuPHPet)>
SSH Username: vagrant (the default username)
SSH Password: vagrant (the default password)
MySQL Hostname: 127.0.0.1
MySQL Server Port: 3306
Username: root
Password: <MySQL Root Password (set in PuPHPet)>
Usando el enfoque dado, pude conectarme a la base de datos mysql en vagabundo desde la máquina host de Ubuntu usando MySQL Workbench y también usando Valentina Studio.
Esto funcionó para mí: Connect to MySQL in Vagrant
username: vagrant password: vagrant
sudo apt-get update sudo apt-get install build-essential zlib1g-dev
git-core sqlite3 libsqlite3-dev sudo aptitude install mysql-server
mysql-client
sudo nano /etc/mysql/my.cnf change: bind-address = 0.0.0.0
mysql -u root -p
use mysql GRANT ALL ON *.* to root@''33.33.33.1'' IDENTIFIED BY
''jarvis''; FLUSH PRIVILEGES; exit
sudo /etc/init.d/mysql restart
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant::Config.run do |config|
config.vm.box = "lucid32"
config.vm.box_url = "http://files.vagrantup.com/lucid32.box"
#config.vm.boot_mode = :gui
# Assign this VM to a host-only network IP, allowing you to access
it # via the IP. Host-only networks can talk to the host machine as
well as # any other machines on the same network, but cannot be
accessed (through this # network interface) by any external
networks. # config.vm.network :hostonly, "192.168.33.10"
# Assign this VM to a bridged network, allowing you to connect
directly to a # network using the host''s network device. This makes
the VM appear as another # physical device on your network. #
config.vm.network :bridged
# Forward a port from the guest to the host, which allows for
outside # computers to access the VM, whereas host only networking
does not. # config.vm.forward_port 80, 8080
config.vm.forward_port 3306, 3306
config.vm.network :hostonly, "33.33.33.10"
end
Estos son los pasos que me funcionaron después de iniciar sesión en la caja:
Ubique el archivo de configuración de MySQL:
$ mysql --help | grep -A 1 "Default options"
Default options are read from the following files in the given order: /etc/my.cnf /etc/mysql/my.cnf ~/.my.cnf
En Ubuntu 16, la ruta es típicamente /etc/mysql/mysql.conf.d/mysqld.cnf
Cambiar el archivo de configuración para bind-address:
Si existe, cambie el valor de la siguiente manera. Si no existe, agréguelo en cualquier lugar de la sección [mysqld].
bind-address = 0.0.0.0
Guarde sus cambios en el archivo de configuración y reinicie el servicio MySQL.
service mysql restart
Crear / otorgar acceso al usuario de la base de datos:
Conéctese a la base de datos MySQL como usuario raíz y ejecute los siguientes comandos SQL:
mysql> CREATE USER ''username''@''%'' IDENTIFIED BY ''password'';
mysql> GRANT ALL PRIVILEGES ON mydb.* TO ''username''@''%'';
Inicie sesión en su casilla con ssh [email protected] -p 2222
(password vagrant)
Luego: sudo nano /etc/mysql/my.cnf
y comente las siguientes líneas con #
#skip-external-locking
#bind-address
guardarlo y salir
luego: sudo service mysql restart
Luego puede conectarse a través de SSH a su servidor MySQL.
Me encontré con este problema recientemente. Usé PuPHPet para generar una configuración.
Para conectarme a MySQL a través de SSH, la contraseña "vagabunda" no funcionaba para mí, en cambio tuve que autenticarme a través del archivo de clave SSH.
Para conectarse con MySQL Workbench
Método de conexión
TCP / IP estándar sobre SSH
SSH
Hostname: 127.0.0.1:2222 (forwarded SSH port)
Username: vagrant
Password: (do not use)
SSH Key File: C:/vagrantpath/puphpet/files/dot/ssh/insecure_private_key
(Locate your insercure_private_key)
MySQL
Server Port: 3306
username: (root, or username)
password: (password)
Prueba la conexión
Para cualquiera que intente hacer esto usando mysql workbench o secuela pro estas son las entradas:
Mysql Host: 192.168.56.101 (or ip that you choose for it)
username: root (or mysql username u created)
password: **** (your mysql password)
database: optional
port: optional (unless you chose another port, defaults to 3306)
ssh host: 192.168.56.101 (or ip that you choose for this vm, like above)
ssh user: vagrant (vagrants default username)
ssh password: vagrant (vagrants default password)
ssh port: optional (unless you chose another)
fuente: https://coderwall.com/p/yzwqvg