.my.cnf에서 데이터베이스 또는 호스트별로 비밀번호를 구성 할 수 있습니까?


47

나는 내 다음과 같은 ~/.my.cnf

[client]
password="somepass"

그러나 이것은 내가 연결하는 모든 user @ host / database에 사용하는 비밀번호가 아닙니다. 설정에서 다른 것들에 대해 다른 암호를 지정할 수있는 방법이 있습니까? 따라서 입력하지 않아도됩니까?


[사용자 @DTest는 올해 5 월에 이와 같은 질문에 답변했습니다] [1] [1] : dba.stackexchange.com/questions/2820/…
RolandoMySQLDBA

답변:


64

여기 에 대답했듯이 다음의 구문을 사용하여 연결하는 각 사용자 / 호스트 / DB에 대한 섹션을 추가 할 수 있습니다 ~/.my.cnf.

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

이것이 사용자의 .my.cnf에 있으면 명령 행에서이를 수행하여 활용할 수 있습니다.

$ mysql --defaults-group-suffix=host1

약속 한대로 +1 !!!
RolandoMySQLDBA

이 --defaults-group-suffix를 설명해 주시겠습니까?
Otheus

좋은. 여기에서 나머지를 알아내는 데 시간이 걸렸지 만 mysql Cron 백업의 경우 mysqldump --defaults-group-suffix = host1 -P 3306 -h 111.0.0.xxx --ssl -u db_usr db_name을 사용할 수 있습니다. > / home / myaccount / backups / db_name _ $ (echo $ (date '+ \ % Y \ % m \ % d'). sql.gz) gzip 백업을 작성하십시오. 감사합니다!
user1324409

참고 : 이것을 전역 my.cnf (예 :와 같이 /etc/mysql/my.cnf정의하지만 사용자 정의 .my.cnf[client]정의되어있는 경우)는 전역 파일의 설정을 무시합니다! 우우.
Otheus

MariaDB의 맨 페이지에는 접미사가 x해당 섹션을 읽지 [client_x]만 실제로 해당 접미사가 필요하다고 잘못 설명 _x하고 있습니다.
Daniel Böhmer

8

mysql 5.6.6부터 텍스트 파일에 명확한 비밀번호를 입력하지 않는 것이 좋습니다.

https://dev.mysql.com/doc/refman/5.6/en/mysql-config-editor.htmlmysql_config_editor 서로 다른 연결에 다른 비밀번호를 제공하기 위해 암호화 된 비밀번호를 저장 하는 데 사용할 수 있습니다.


3
모호한 보안 ...
Federico Razzoli

mysql_config_editor에 대해 +1
RolandoMySQLDBA 2016 년

1
이 프로그램이 (1) 이전 버전으로 백 포트 될 때까지 (2) 자동 비밀번호 배포를 허용 (즉, TTY에서 비밀번호를 읽지 않아야 함) 할 때까지는이 방법을 권장하지 않습니다.
Otheus

MariaDB에는 mysql_config_editor와 일치하는 지원 또는 기능이 있습니까?
Jeremy Hajek

@JeremyHajek 아니요, MariaDB 개발자는 보안 향상에 대한 잘못된 감각만을 제공한다고 지적하기 때문에 결코 그렇지 않을 것입니다. MySQL 5.6 : 보안을 통한 보안?
Bloodgain

8

다른 대답은 맞습니다. 불행히도 mysqladmin지원하지 않습니다 --defaults-group-suffix(적어도 사용중인 버전 은 아닙니다 ).

따라서 --defaults-file=HOST.cnf대신 mysql, mysqladmin및에서 작동 하는 대신 사용 했습니다 mysqldump.


2
이것을 .bash_profile에 추가하면 훨씬 쉬워졌습니다.alias my-host='mysql --defaults-file=HOST.cnf'
spyle
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.