2015-09-17 15 views
20

Ho installato Git (bash?) Da www.git-scm.com Ho anche un'installazione funzionante di MySQL. Sto usando Windows 8.1. Il percorso della mia directory mysql bin è nella variabile di ambiente path, e il servizio mysql è in esecuzione.Git Bash mysql vuoto

Se apro cmd.exe e digito mysql -u root quindi mi registra correttamente, ricevo il messaggio "welcome to mysql monitor" e posso iniziare a digitare sql.

Tuttavia in Git bash, se si digita mysql -u root, quindi si avvia appena un nuovo collegamento vuoto e non fa nulla.

Se si immette mysql -?, ottengo ancora le informazioni della guida di MySQL. Se digito mysql start, ottengo il numero Access denied for user ''@'localhost' to database 'start'.

Come posso accedere a mysql correttamente in git bash?

Si prega di vedere la mia immagine greggio spiegando la mia situazione qui di seguito:

enter image description here

+0

Sembra che abbia effettivamente avviato il client mysql, ma il terminale si sta comportando come sarebbe se il login non ha avuto TTY (sessione non interattiva). Se hai digitato una query sulla riga vuota e l'hai terminata correttamente, MySQL probabilmente produrrebbe qualche output come se stesse leggendo il flusso da stdin. Non so molto su Git bash per raccomandare come correggerlo. –

+0

Grazie per il tuo commento, sfortunatamente sono un principiante anche a git bash e sto cercando di ottimizzare il mio ambiente! Continuerò a provare. –

+0

Se git-bash è basato su MinGW, potrebbe essere visualizzato un sintomo di questo https://code.google.com/p/mintty/issues/detail?id=158 Mi spiace di non saperne di più per confermarlo. –

risposta

49

Ho avuto lo stesso problema con git bash e MySQL, e soluzione a questo è quella di utilizzare

winpty mysql -u root 

immagino questo perché esegui mysql per windows, usando l'ambiente unix e, per quanto ne so, winpty dovrebbe essere usato per eseguire applicazioni Windows nella bash di git (non sicuro al 100%, forse qualcuno può confermare).

+11

Grazie! Questo aiuta. E se aggiungi la seguente riga al tuo ~/.bashrc non dovrai inserire "winpty" ogni volta che avvierai la console mysql: 'alias mysql =" winpty mysql "' –

+0

Grazie! Quando devi importare i file, esegui: usa database_name; percorso origine/to/file.sql; – jrosell

+0

Wow, non ne avevo mai sentito parlare ed è stato davvero utile! – Ryan

1

Creare un collegamento in Windows Desktop con questa destinazione:

"C: \ Program Files \ Git \ usr \ bin \ mintty.exe" -e "C: \ Program Files \ Git \ usr \ bin \ winpty.exe "" C: \ Programmi (x86) \ MariaDB 10.1 \ bin \ mysql.exe "-uroot -p

+0

Puoi spiegarlo? – Rudie

+0

Se si installa con un account utente locale (non amministratore), questo potrebbe funzionare anche: 'C: \ Utenti \ [nome utente] \ AppData \ Local \ Programmi \ Git \ usr \ bin \ mintty.exe -e" C: \ Utenti \ [nome utente] \ AppData \ Local \ Programmi \ Git \ usr \ bin \ winpty.exe "" C: \ Programmi \ MySQL \ MySQL Server 5.7 \ bin \ mysql.exe "-uroot -p' (nota il percorso e la versione di MySQL o MariaDB e il nome utente di Windows deve essere aggiornato) –

+0

Questa soluzione funziona alla grande e puoi usare ctrl- e ctrl + per ingrandire o ridurre le dimensioni del testo. ** "fullfolder \ mintty.exe" -e "fullfolder \ winpty.exe" "fullfolder \ mysql.exe" -uroot -p ** –