Sto utilizzando il server mysql all'interno del contenitore docker e sono in grado di accedere all'interno della finestra mobile. Come creare una connessione in mysql workbench in esecuzione sul mio locale (macchina host).Come connettere mysql workbench ad eseguire mysql all'interno della finestra mobile?
risposta
2 condizioni docker correlati:
prima, la corsa finestra mobile deve mappare la porta mysql a una porta host:
docker run -p host:container
(per esempio: docker run -d -p 3306:3306 tutum/mysql
)
secondo, se sei usi ng finestra mobile in una VM (finestra mobile, con boot2docker), è necessario utilizzare l'IP di
docker-machine ip <VMname>
, con la porta mappata dell'host.http://$(docker-machine ip <VMname>):hostPort
Se avete bisogno di usare localhost
, si avrebbe bisogno di fare some port forwarding at the VirtualBox level:
VBoxManage controlvm "boot2docker-vm" natpf1 "tcp-port3306,tcp,,3306,,3306"
VBoxManage controlvm "boot2docker-vm" natpf1 "udp-port3306,udp,,3306,,$3306"
(controlvm
se la VM è in esecuzione, modifyvm
è la VM viene interrotta) (sostituire " boot2docker-vm
"con il nome del tuo VM: vedi docker-machine ls
)
.210
2 condizioni mysql-correlato:
Come illustrato in
nkratzke/EasyMySQL/Dockerfile
, è necessario abilitare l'accesso remoto:# Enable remote access (default is localhost only, we change this # otherwise our database would not be reachable from outside the container) RUN sed -i -e"s/^bind-address\s*=\s*127.0.0.1/bind-address = 0.0.0.0/" /etc/mysql/my.cnf
È necessario creare utenti quando startig il database la vostra immagine finestra mobile in.
Si veda ad esempionkratzke/EasyMySQL/start-database.sh
, che è chiamato dalDockerfile CMD
:/usr/sbin/mysqld & sleep 5 echo "Creating user" echo "CREATE USER '$user' IDENTIFIED BY '$password'" | mysql --default-character-set=utf8 echo "REVOKE ALL PRIVILEGES ON *.* FROM '$user'@'%'; FLUSH PRIVILEGES" | mysql --default-character-set=utf8 echo "GRANT SELECT ON *.* TO '$user'@'%'; FLUSH PRIVILEGES" | mysql --default-character-set=utf8 echo "finished"
ho avuto soluzione per questo impostando valore di campo in Nome host: 127.0.0.1 (localhost), la porta di default 3306 con i tuoi crediti.
A quale campo ti riferisci qui? – VonC
@VonC Qui mi riferisco ai campi del workbench come * hostname *, * port *, * username * e * password * richiesti per connettere mysql server. –
È necessario eseguire alcune configurazioni nel contenitore docker. Si prega di seguire i seguenti passi.
Specificare il blocco di configurazione mysql nel docker-compose.yml. Ho seguito il blocco mysql sotto servizi oggetto nel mio file docker-compose.yml.
services: db: image: mysql volumes: - "./.data/db:/var/lib/mysql" environment: MYSQL_ROOT_PASSWORD: root MYSQL_DATABASE: mydb MYSQL_USER: user MYSQL_PASSWORD: pass ports: 42333:3306
riavvio contenitore finestra mobile ed eseguire comandi seguenti per arrivare alla shell bash nel contenitore mysql
docker ps docker exec -it <mysql container name> /bin/bash
All'interno del contenitore, per la connessione a mysql riga comandi,
mysql -u root -p
Utilizzare MYSQL_ROOT_PASSWORD come specificato nel docker-compose.yml. Esegui i seguenti comandi per creare un nuovo utente.
create user 'user'@'%' identified by 'pass'; grant all privileges on *.* to 'user'@'%' with grant option; flush privileges;
Il segno di percentuale (%) indica tutti gli ip. Riavvia il contenitore finestra mobile.
Nel proprio MySQL Workbench fornire i dettagli della connessione. Utilizzare MYSQL_PASSWORD come specificato nel file docker-compose.yml.
Si dovrebbe ora essere in grado di connettersi al vostro contenitore mysql.
- 1. mysql workbench "Connessione persa al server mysql"
- 2. Mysql Workbench connection ssl non abilitato
- 3. MySQL Workbench High DPI
- 4. MySQL Workbench Dark Theme
- 5. MySQL Workbench vs phpMyAdmin
- 6. Riferimento simbolo MySQL Workbench
- 7. Esecuzione della finestra mobile: comporre con mysql e il contenitore della propria finestra mobile
- 8. MySQL Workbench auto incrementale disabilitato
- 9. Come eseguire più query SQL in MySQL Workbench?
- 10. MySQL Workbench sincronizzare diversi database
- 11. MySQL Workbench: Come mantenere la connessione attiva
- 12. MySQL Workbench: Nessun oggetto selezionato
- 13. Come posso importare dati nel database mysql tramite mysql workbench?
- 14. Semplice connessione al database MySQL Amazon RDS con MySQL Workbench
- 15. MySQL Workbench per SQL Server?
- 16. Commenti in MySQL Workbench diagram
- 17. Come connettere Android con MySQL usando il driver Mysql JDBC
- 18. MySQL Workbench mostra i risultati come BLOB
- 19. MySQL Workbench: Configurazione Administration Server - COME
- 20. Come configurare due database con MySQL Workbench?
- 21. Come connettere l'app Android al database MySQL?
- 22. Come connettere e interrogare MySQL da Lua?
- 23. Come connettere il database mysql a Dart?
- 24. semina dati mysql in una build finestra mobile
- 25. MySQL - Connessione ODBC fallita, Workbench connect funziona
- 26. Esportazione dati tabella workbench MySQL estremamente lento
- 27. collegamento server MSSQL utilizzando MySQL Workbench
- 28. Dichiarare l'errore di sintassi in MYSQL Workbench
- 29. Caricamento di file CSV in MySQL Workbench
- 30. Mariadb 10 Mysql Workbench Maintenace Not Supported
Docker è in esecuzione sul mio computer locale. e ha 172.17.42.1 indirizzo IP. Quando eseguo $ select user(); Dà + ---------------- + | utente() | + ---------------- + | root @ localhost | + ---------------- + 1 riga in set (0,00 secondi) e mostra la variabile dà porta | 3306 –
@PawanSharma sei su Linux? Se sì, quale era il comando esatto di 'docker run 'che usi per avviare mysql containerizzato? Quale versione della finestra mobile stai usando? – VonC
Sì, io sono su Ubuntu mchine nad versione docker è Docker versione 1.8.2, build 0a8c2e3. Sono in grado di accedere a mysql all'interno del contenitore docker. –