mysql은 .mylogin.cnf 파일에 저장된 로컬 인증 자격 증명을 사용하여 패스워드없는 로그인을 지원합니다 (자세한 내용은 here 참조). 예를 들어사용 --login-path = perl DBD :: mysql
:
mysql --login-path=local
내 질문은 : 어떻게 DBD :: MySQL을 사용 펄에서이 작업을 수행하기 위해?
mysql은 .mylogin.cnf 파일에 저장된 로컬 인증 자격 증명을 사용하여 패스워드없는 로그인을 지원합니다 (자세한 내용은 here 참조). 예를 들어사용 --login-path = perl DBD :: mysql
:
mysql --login-path=local
내 질문은 : 어떻게 DBD :: MySQL을 사용 펄에서이 작업을 수행하기 위해?
DBD :: mysql은 로그인 경로를 지원하지 않는 MySQL C API를 사용합니다. 다른 방법으로, 당신은 당신의 connect
전화에 option file과 mysql_read_default_file
및 mysql_read_default_group
옵션을 사용할 수 있습니다
use strict;
use warnings 'all';
use DBI;
my $dsn = 'DBI:mysql:' .
';mysql_read_default_group=local' .
';mysql_read_default_file=/path/to/config';
my $dbh = DBI->connect($dsn, undef, undef, {
PrintError => 0,
RaiseError => 1
});
귀하의 옵션 파일은 다음과 같이 보일 것입니다 : 그
[local]
host = localhost
database = foo
user = myuser
password = mypassword
[remote]
host = remote.example.com
database = foo
user = myuser
password = mypassword
참고 .mylogin.cnf 달리 (--login-path
에서 사용하는 파일) 일반 옵션 파일은 암호화되지 않습니다. 이것이 들리는 것처럼 큰 문제는 아닙니다. 암호화의 주요 이점은 실수로 사용자의 자격 증명을 노출하는 것을 방지 할 수 있다는 것입니다. 파일을 볼 때, 깨지지 않는 보안을 제공하지는 않습니다. 당신은 여전히 버전 관리 등을 제외하고 세계가 읽을 수 없도록 옵션 파일을 보호 할 수 있습니다.
그래도이 사실입니까, 아니면 바이너리가 업데이트 되었습니까? – Dan
내가 아는 한, 아무 것도 변하지 않았다. MySQL 개발자가이 기능을 추가하기 위해 노력하고 있다고 제안하는 것은 아무것도 없습니다. 어쩌면 기능 요청을 제출해야합니다. – ThisSuitIsBlackNot
DBD :: mysql은 워드 프로세서에서 설명하지 않으며 DBI는 힌트를 제공하지 않습니다. – simbabque