Sequel Pro 및 MySQL 연결 실패
방금 Homebrew에서 Mac에 mysql을 설치했습니다.
brew install mysql
mysql -V
mysql Ver 8.0.11 for osx10.13 on x86_64 (Homebrew)
터미널에서 작동하고 mysql에 로그인 할 수 있습니다 Sequel Pro
호스트 127.0.0.1에 요청한 시간이 초과되었습니다.
주소가 있는지 확인하고 필요한 권한이 있는지 확인하거나 연결 제한 시간을 늘리십시오 (현재 10 초).
MySQL은 다음과 없습니다. : 인증 플러그인 '수 커싱 _sha2_password'를로드 할 수 있습니다. dlopen (/usplugin/caching_sha2_password.so, 2) : 이미지를 사용할 수 없습니다.
내가 뭘 놓치고 있는지 알아낼 수 없어
이는 곧 Pro가 아직 새로운 종류의 사용자 로그인을위한 준비가되지 않습니다. 발생기 때문입니다. 드라이버가 없습니다. 비 자작 설치에 대한 빠른 수정 :
Apple Logo > System Preferences > MySQL > Initialize Database
을 클릭 한 다음 새 비밀번호를 입력하고 '기존 비밀번호 사용'을 선택합니다.
다시 시작하면 딱 수 있습니다. 명명 된 DB 테이블을 잃을 수 있으므로 새로 만들 때만 수행하십시오.
mysql + homebrew
기본적으로 몇 가지 작업을 수동으로 수행해야하지만 위의 솔루션과 같이 데이터베이스 데이터가 삭제됩니다.
[my.cnf] [1] 파일로 이동하여 섹션에서
[mysqld]
행을 추가하십시오.default-authentication-plugin=mysql_native_password
터미널에서 mysql 서버에 로그인 : 실행을 실행
mysql -u root -p
한 다음 쉘 내부에서 다음 명령을 실행합니다 ( [비밀번호] 를 실제 비밀번호로 대체 ).ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '[password]';
mysql 셸을 종료
exit
하고brew services restart mysql
.
작동해야합니다.
my.cnf
my.cnf 파일은 Unix / Linux의 /etc/my.cnf에 있습니다.
- mysql 구성 이 모든 가정하면 다음을 에코합니다
~/.my.conf
.
[mysqld]
default-authentication-plugin=mysql_native_password
- 에 로그인 MySQL의 에
mysql -u root -p
- 루트 사용자 암호 설정
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '[PASSWORD]';
위치를[PASSWORD]
사용자가 선택한 암호입니다. - 예를 들어 mysql 을 다시 시작하십시오.
brew services restart mysql
요약 : Sequel Pro는 2016 년 이후로 죽었습니다. 도구 때문에 DB를 다운 그레이드하지 마십시오. 대체 도구로 이동하십시오.
여기에있는 다른 모든 솔루션은 사용중인 도구에 대해 DB 설정을 변경하는 것이 좋습니다 (MySQL에서 알리는 것처럼 보안 수준이 낮아짐). 그것은 나에게 허용되지 않습니다.
나는 항상 Sequel Pro의 열렬한 팬이었고 심지어 기부했습니다. 그러나 모든 열정과 사랑을 담아 2016 년 이후로 도구가 출시되지 않았다면 죄송합니다 . 욜로, 그리고 계속 가야 해!
내가 찾은 대안 ( https://stackoverflow.com/a/55235533/2321594 , @arcseldon 덕분에)은 MySQL 8의 새로운 인증 (비 레거시) 방법을 지원하는 DBeaver 입니다.
추신. DB 쪽 이 아닌 도구 쪽 의 유일한 트릭 은 MySQL 8 연결을 만들 때 "드라이버 속성"(나중에 연결 편집에서 찾을 수 있음)으로 이동하여 값 allowPublicKeyRetrieval
을 true
.
Docker를 사용하여 만든 MySQL 컨테이너에 연결하려면 이것이 필요했습니다. 이 도구뿐만 아니라 생태계의 다른 애플리케이션에 대해 MySQL의 IP를 외부에 공개하려면 MySQL에서 새 사용자를 생성하거나 -e MYSQL_ROOT_HOST=%
런타임 또는 ENV로 전달해야 합니다.
root@127.0.0.1을 MySQL에 연결하는 경우 암호도 있어야합니다!
ALTER USER 'root'@'127.0.0.1'IDENTIFIED WITH mysql_native_password BY '[password]';
참고 URL : https://stackoverflow.com/questions/51179516/sequel-pro-and-mysql-connection-failed
'ProgramingTip' 카테고리의 다른 글
Kotlin에서 null 검사를하는 가장 좋은 방법은 무엇입니까? (0) | 2020.12.10 |
---|---|
Docker의 HyperKit에서 생성 한 VM에 액세스하는 방법은 무엇입니까? (0) | 2020.12.10 |
이벤트-명명 규칙 및 스타일 (0) | 2020.12.10 |
Python에서 시스템의 존재 정보를 얻었습니까? (0) | 2020.12.10 |
jQuery를 사용하여 특정 CSS가있는 모든 요소 선택 (0) | 2020.12.10 |