배 타다 개발자

[Docker] WSL2로 mysql접속 시켜보기 본문

Backend/Database

[Docker] WSL2로 mysql접속 시켜보기

노 아 2023. 3. 24. 11:25

개발환경 구축이 참..
윈도우에서 리눅스를 사용할 수 있게 해주는 WSL을 통해 mysql을 받아보기로 했다.
wsl2가 설치되어 있다는 가정하에 wsl2 shell에서 다음 명령어를 입력해주자.

docker run -it --name [container-name] -p 3306:3306 -e MYSQL_ROOT_PASSWORD=[password] -d mysql

포트포워딩은 3306로 설정 한후 도커를 통해서 mysql을 받을 수 있다. 현재 실행되고 있는 container를 한번 확인해보자

docker ps

docker에 러닝중인 container에 mysql이미지가 올라갔을 것이다.
이제 컨테이너에 DB가 올라갔으니 여기에 정보를 저장해주면 된다.

하지만 쉽게 될 리가 없다.

 

mysql의 DBeaver로 mysql database에 접속하려하면 접근불가를 뱉어준다.

Access denied for user ‘’@’172.17.0.1'(using password: YES)

이것을 해결해보자.

docker exec -it [container- ID] mysql -uroot -p

직역하면 지금 running되고 있는 container에 접속하고 mysql을 실행해줘


CREATE USER '\[유저이름\]'@'172.17.0.1' IDENTIFIED BY '\[비밀번호\]';

유저에게 모든 권한을 풀어준다.


GRANT ALL PRIVILEGES ON \*.\* TO '\[유저이름\]'@'172.17.0.1' WITH GRANT OPTION;

flusth priviliges로 권한변경에 반영
INSERT, DELETE, UPDATE를 통해 사용자를 추가, 삭제, 권한 변경 등을 수행하였을 때 이 변경 사항을 반영하기 위하여 사용한다.

flush privileges; /

이제 권한이 등록 됐다 다시 DBeaver로 돌아가서 데이터베이스를 들여다보면

잘된다 ㅎㅎ

'Backend > Database' 카테고리의 다른 글

[MS-SQL] 야구 데이터로 연습하는 SQL  (2) 2022.09.16