Czy możliwe jest skonfigurowanie haseł dla bazy danych lub hosta w .my.cnf


47

Mam w sobie następujące ~/.my.cnf

[client]
password="somepass"

ale to nie jest hasło, którego używam dla każdego użytkownika @ hosta / bazy danych, z którą się łączę. Czy jest jakiś sposób na określenie w konfiguracji różnych haseł dla różnych rzeczy, więc nie muszę ich wpisywać?


[Użytkownik @DTest odpowiedział na takie pytanie w maju tego roku] [1] [1]: dba.stackexchange.com/questions/2820/…
RolandoMySQLDBA

Odpowiedzi:


64

Jak odpowiedziałem tutaj , możesz dodać sekcję dla każdego użytkownika / hosta / db, z którym się łączysz, używając składni w ~/.my.cnf:

[clienthost1]   # Note: client + host1
user=myuser
password=mypass
database=dbname
host=server.location.com

Gdy znajdziesz się w twoim użytkowniku .my.cnf, możesz z niego skorzystać, wykonując to w wierszu poleceń:

$ mysql --defaults-group-suffix=host1

Zgodnie z obietnicą +1!
RolandoMySQLDBA

Czy możesz to wyjaśnić - sufiks -defaults-group?
Otheus

Miły. Zajęło mi to trochę czasu, aby znaleźć resztę stąd, ale dla kopii zapasowej Cron mysql mogę teraz użyć mysqldump --defaults-group-sufiks = host1 -P 3306-h 111.0.0.xxx --ssl -u db_usr nazwa_bazy_danych > / home / myaccount / backups / db_name _ $ (echo $ (date '+ \% Y \% m \% d'). sql.gz), aby utworzyć kopię zapasową spakowaną gzipem. Dziękuję Ci!
user1324409,

Uwaga: jeśli umieścisz to w globalnym pliku my.cnf, takim jak /etc/mysql/my.cnf, ale masz zdefiniowaną .my.cnfprzez użytkownika [client]definicję, ten ostatni zastąpi ustawienia w pliku globalnym! gwizd.
Otheus,

Należy pamiętać, że strona podręcznika MariaDB za fałszywie twierdzi, że przyrostek xbędą czytać sekcję [client_x], ale w rzeczywistości trzeba przyrostek _xdla że
Daniel BÖHMER

8

Umieszczanie wyraźnych haseł w plikach tekstowych nie jest zalecane, ponieważ mysql 5.6.6.

Możesz użyć mysql_config_editordo zapisania zaszyfrowanych haseł, aby podać różne hasła dla różnych połączeń https://dev.mysql.com/doc/refman/5.6/en/mysql-config-editor.html


3
Bezpieczeństwo przez zaciemnienie ...
Federico Razzoli,

+1 za wzmiankę o mysql_config_editor
RolandoMySQLDBA

1
Dopóki ten program nie zostanie (1) przeniesiony do poprzednich wersji, (2) zezwoli na zautomatyzowane wdrożenie hasła (tj. Nie zmuszanie do odczytu haseł na TTY), nie polecam tej metody.
Otheus,

Czy MariaDB ma porównywalną obsługę lub funkcję pasującą do mysql_config_editor?
Jeremy Hajek

@JeremyHajek Nie, nie robi tego i prawdopodobnie nigdy tego nie zrobi, ponieważ twórcy MariaDB wskazują, że zapewnia ono jedynie fałszywe poczucie poprawy bezpieczeństwa: MySQL 5.6: Bezpieczeństwo poprzez samozadowolenie?
Bloodgain

8

Druga odpowiedź jest poprawna. Niestety mysqladminnie obsługuje --defaults-group-suffix(przynajmniej nie wersji, której używam).

I stąd uciekają się do używania --defaults-file=HOST.cnfzamiast, który pracuje mysql, mysqladmini mysqldump.


2
Dodanie tego do mojego .bash_profile sprawiło, że jeszcze łatwiej:alias my-host='mysql --defaults-file=HOST.cnf'
spyle
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.