Oracle 웹 사이트는 15 및 14에서만 작동 함을 의미하는 것 같습니다.
http://dev.mysql.com/downloads/workbench/
또한 내 Ubuntu 16.04 컴퓨터 중 두 대도 연결할 수없는 것 같습니다 (루트에 대한 액세스가 거부되었습니다 오류)
괜찮습니다. 괜찮습니다. 그러나 localhost에 연결되지 않습니다.
누구 운이 있니?
답변
이 문제는 16.04로 업그레이드하는 동안 암호를 설정하지 않으면 루트 사용자에 대해 소켓 인증이 기본적으로 활성화되어 있기 때문일 수 있습니다. 이 중요한 경고는 16.04 릴리스 노트에 설명되어 있습니다 .
MySQL 루트 비밀번호가 비어있을 때 비밀번호 동작이 변경되었습니다. 패키징은 이제 MySQL 루트 암호가 비어있을 때 소켓 인증을 활성화합니다. 이는 루트가 아닌 사용자가 빈 비밀번호로 MySQL 루트 사용자로 로그인 할 수 없음을 의미합니다.
어떤 이유로 든 16.04와 함께 제공된 MySQL Workbench는 적어도 MySQL 서버에서 기본적으로 작동하지 않습니다. “로컬 소켓 / 파이프”를 사용하여 여러 가지 방법으로 연결했지만 아무 소용이 없었습니다.
해결책은 기본 비밀번호 인증으로 되 돌리는 것입니다. 소켓 인증을 사용하여 MySQL에 로그인하면 다음을 수행 할 수 있습니다.
sudo mysql -u root
로그인 한 후 :
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
기본 (이전 기본값) 비밀번호 인증으로 되돌아갑니다. 문제를 해결하기 위해 다른 방법을 시도한 경우 mysql.user의 “plugin”필드가 “auth_token”으로 설정되어 있는지 확인해야합니다.이 경우 mysqld_safe를 사용하여 MySQL에 로그인해야합니다. 내가했던 것처럼 일을하고 있었어
에 신용 미겔 니에 토의 블로그 게시물 이 솔루션.
답변
MySQL 5.7 이상은 “루트”로의 연결을 지원하지 않으므로 mysql-workbench
일반 사용자를 생성하고이를 통해 연결해야합니다.
sudo mysql -u root -p
“admin”이라는 사용자를 작성하고이를 사용하여에 연결하십시오 mysql-workbench
.
CREATE USER 'admin'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost' WITH GRANT OPTION;
답변
이 질문은 2 살 일 수 있지만 오늘 밤 mysql-workbench 작업은 저에게 답을 준 것으로 보입니다.
루트 사용자는 이제 기본적으로 auth_socket 인증을 사용합니다. root가 액세스 할 수있는 유일한 방법은 root로 로그인하는 것입니다.
mysql -u root
루트 사용자와 표준 사용자로 실행 하여이 사실을 알았습니다 .
표준 사용자에서는 작동하지 않습니다.
그래서 내 다음 질문은-mysql-workbench가 어떤 사용자로 실행되는지였습니다. 기본적으로 표준 사용자로 실행됩니다. 루트 사용자로 실행하려면 루트에서 실행해야합니다. 그래서 루트 사용자 CLI로 들어가서 ‘mysql-workbench’를 입력하십시오.
그런 다음 여기에 표시된대로 루트 사용자의 설정으로 이동해야했습니다. 파일 위치는 우분투 18.04 설치에 유효합니다.
해당 소켓 위치가 유효하지 않으면 루트 또는 sudo에서 mysql CLI로 이동하여 다음 명령을 실행해야합니다.
설정이 올 바르면 연결을 테스트하십시오. 성공하면 갈 준비가 된 것입니다.
답변
나에게 잘 작동하고 특별한 것은 없었습니다. mysql-server-5.7
명령 행에서 설치 및 워크 벤치를 설치 하고 비밀번호로 사용자를 설정하고 일반 데이터베이스 권한을 설정하십시오 (일반적인 방법으로도).
그리고 데이터베이스와 테이블로 :
답변
auth_socket 플러그인을 사용하여 mysql 워크 벤치를 통해 연결할 수있는 적절한 관리 권한으로 사용자 계정을 만듭니다. 이것은 mysql 서버로의 루트 연결에는 적용되지 않는다는 점에 유의하십시오 .
터미널 세션에서 mysql에 로그온하십시오.
$sudo mysql
이 작업을 수행 할 수 있으면 auth_socket 플러그인이 활성화되고이 플러그인을 사용하여 루트 계정이 인증됩니다. 보안 설치 스크립트를 실행 한 후 우분투에 mysql을 설치할 때의 기본 설정입니다.
먼저 계정 ‘valerie’에 대한 mysql 사용자를 작성하십시오.
mysql> CREATE USER 'valerie'@'localhost' IDENTIFIED WITH auth_socket;
계정에 대한 관리 권한을 활성화하십시오.
mysql> GRANT ALL PRIVILEGES ON *.* TO 'valerie'@'localhost' WITH GRANT OPTION;
쉘을 종료하십시오.
mysql> exit
그런 다음 mysql workbench에서 :
- 새로운 연결 만들기
- 연결 방법을 로컬 소켓 / 파이프로 선택하십시오.
- 님의 소켓 / 파이프 경로 설정 /var/run/mysqld/mysqld.sock을 (이것은 데비안 / 우분투 시스템과 리눅스의 다른 맛의 변경 사항에 대한 경로가 있습니다)
- 사용자 이름을 설정하십시오 (이 예에서는 ‘valerie’)
그런 다음이 연결로 mysql 서버에 연결할 수 있어야합니다.
답변
이 시도
MySQL 데이터베이스를 선택하십시오
1 : mysql을 사용하십시오.
2 : UPDATE 사용자 설정 plugin = ‘mysql_native_password’여기서 User = ‘root’;
3 : 플러시 권한;
4 : 종료;
~ $ sudo 서비스 mysql 재시작
답변
Ubuntu 16.04를 실행하는 AWS 호스트의 MySQL 서버; 우분투 16.04 노트북의 mysql-workbench; KeyPair 연결을 사용합니다.
테스트 DB 연결을 설정 한 후 작동했습니다. 그러나 실제 연결은 Jonathan Leaders가 게시 한 것과 같은 메시지로 항상 실패했습니다. 로그를 확인하고 “permission denied” 메시지 ~/.mysql/workbench/log
가 몇 개 발견되었습니다 .
이제 mysql-workbench를 사용할 수 있습니다.
sudo mysql-workbench
그리고 나중에 갈 수 chmod
있고 디렉토리에 권한이 필요합니다.