2013-04-30 16 views
39

Próbuję użyć 2 z mysql media, mysqldiff i mysqldbcompare i chcą uniknąć wprowadzenia hasła w linii poleceńMySQL Narzędzia - ~/.my.cnf pliku Opcja

Czy to możliwe, aby skorzystać z opcji plik, aby określić hasło do mojego połączenia DB, aby zapobiec określeniu hasła?

Jest to rodzaj polecenia, które obecnie mam ...

/usr/share/mysql-workbench/python/mysqldiff [email protected] [email protected] --difftype=sql db1:db2 

Mam też w pliku ~/.my.cnf że ma „600” uprawnienia i zawiera następujące ..

[client] 
user=root 
password=mypassword 

po podłączeniu poprzez linię poleceń MySQL to odbiera dane w moim pliku opcji ale nie mysql narzędzia: -/

Odpowiedz

56

Spróbuj tego -

[client] 
user=root 
password="pass" 

[mysql] 
user=root 
password="pass" 

[mysqldump] 
user=root 
password="pass" 

[mysqldiff] 
user=root 
password="pass" 

Lokalizacja na .my.cnf: ~/.my.cnf

Proszę odnieść się do strony podręcznika pt Using Option Files

31

Aby zwiększyć na @ odpowiedź Retraut Get haseł w cudzysłowie. Przyjęta odpowiedź nie zadziałałaby, gdybyś miał specjalne znaki w swoim haśle, co zresztą jest dobrą praktyką bezpieczeństwa.

[client] 
user=root 
password="[email protected]$$" 

[mysql] 
user=root 
password="[email protected]$$" 

[mysqldump] 
user=root 
password="[email protected]$$" 

[mysqldiff] 
user=root 
password="[email protected]$$" 

http://dev.mysql.com/doc/refman/5.7/en/option-files.html

Szukaj „Oto typowy plik opcji użytkownika” i zobacz przykład stwierdzają tam. Powodzenia i mam nadzieję, że kiedyś kogoś uratuję.

+3

Dzięki! Czy byłbyś w stanie dać wiele uplayów, jeśli to możliwe :) – Grynn

+1

Zastanawiałem się, dlaczego moje hasło nie zostało zaakceptowane. Teraz wiem. – Kzqai

+0

Dla hasła root, które tak czy inaczej przechowujesz, dobrze jest wygenerować ~ 128-bitowy numer i po prostu zapisać go jako hex lub cokolwiek innego. 16 znaków łacińskiego znaku absolutnego śmieci odpowiada 32 znakom z '[0-9a-f]'. –