🐋 도커로 MYSQL 띄우기
MYSQL 실행
docker run --name mysql -e MYSQL_ROOT_PASSWORD=1234 -d -p 3306:3306 mysql:8.2.0
- name 돌아갈 컨테이너 이름
- e 변수설정
- d 데몬으로 설정해 백그라운드에서 실행
- p 포트 설정
- mysql:8.2.0 버전
MYSQL 접근
docker exec -it mysql bash
새로운 쉘에서 실행된다.
데이터 베이스 접속하기
mysql -u 사용자명 -p 데이터베이스이름
mysql -u root (계정, 비번을 없을 시)
mysql -u root -p(루트 비번이 있을 시)
데이터 베이스 생성
CREATE DATABASE dev_db default CHARACTER SET UTF8;
User 생성
create user dev@'%' identified by '1234';
grant all privileges on database_name.* to dev@'%' with grant option;
show grants for dev@'%';
flush privileges;
💡 추가 설명
외부에서 컨테이너의 유저에 접근하기 위해선 유저의 접근을 외부에서 접근할 수 있게 localhost를 피해야한다.
예시에서는 모든 호스트에서 접근할 수 있게 % 를 사용하였다.
- create user: user 생성 쿼리
- identified by '비밀번호': 비밀번호 설정
- grant all privileges on database_name.*: 해당 데이터베이스의 모든 테이블의 권한을 부여한다.
- to 대상: 대상에게
- with grant option: 권한 부여 자격 생김 (다른 사용자에게 해당 데이터베이스에 대한 권한을 부여할 수 있다.)
- show grants for 대상: 대상이 가지고 있는 모든 권한 보여준다.
- flush privileges: flush 해서 적용해야한다.
'지식 정리' 카테고리의 다른 글
WSL 우분투 터미널 꾸미기 (zsh 설치) (0) | 2023.12.22 |
---|---|
patrikx/p3x-redis-ui로 레디스 데이터 접근하기 (docker) (1) | 2023.11.25 |
[Intellij] Intellij에서 git bash 터미널로 설정하기 (0) | 2023.06.02 |
왜 배열의 인덱스는 0부터 시작할까? (0) | 2022.06.28 |
c++) regex_replace (0) | 2022.05.27 |
댓글