mysql -u root -p 로 로그인을 하려하는데 에러가 발생했다. MySQL 데이터베이스를 연결하기 위해, MySQL Workbench에서 아래 명령어를 입력하여 유저를 생성하였다. -- 유저이름@아이피주소 create user 'root'@'localhost' identified by '1234'; -- 권한 부여 GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost'; CREATE DATABASE test CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; use test; root 계정 유저 생성을 완료했다. 모든 권한도 부여하였는데.. 사용자별 Auth plugin 을 조회합니다. SELECT User, Host, p..
mysql 설치를 했는데 연결이 안되어서 무슨 일인가 싶었다. 위와 같이 경로를 환경변수 PATH에 추가해줘야 컴퓨터가 찾을 수 있다. MySQL installer를 통해 어디에 설치되어있는지 확인할 수 있다. 시스템속성 -> 고급 -> 편집에 들어가서 C:\Program Files\MySQL\MySQL Server 8.0\bin 경로를 추가해주면 된다. bin 디렉토리 내에 mysql이 존재하기 때문에 경로에 bin도 포함해야한다. cmd를 다시 켜서 확인해보면 정상적으로 작동하는 것을 확인할 수 있다.
Problem: mysql> GRANT USAGE ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD '1234'; ERROR 1372 (HY000): Password hash should be a 41-digit hexadecimal number Solution: Option:1 mysql> GRANT USAGE ON *.* TO 'root'@'localhost' IDENTIFIED BY '1234'; Query OK, 0 rows affected (0.00 sec) Option:2 mysql> SELECT PASSWORD('1234'); +-------------------------------------------+ | PASSWORD('1234') | +-..
WSL 2를 설치하고 우분투 20 에 MySQL 을 깔았는데 root 계정으로는 MySQL root 로 연결이 가능한데 일반 사용자로는 다음 에러를 내며 연결이 되지 않았습니다. ERROR 1698 (28000): Access denied for user 'root'@'localhost' 구글링해보니 MySQL root 는 인증 방식을 Local 에 있는 Unix Domain socket 으로 하기때문에 root 권한이 있어야만 연결이 가능하다고 합니다. 운영 서버는 저런 정책을 갖는게 맞겠지만 로컬이나 개발용은 불편하니 다음 방법으로 인증 방식을 변경하면 됩니다. root 사용자로 mysql 에 연결합니다. sudo mysql -u root -p mysql 사용자별 Auth plugin 을 조회합니다...