728x90
# 캐시 삭제 -> networks 문제로 설치 실패 (주의 : 데이터까지 다 날라감으로 주의)
sudo docker system prune --volumes
# 조회
docker search mysql
# 버전별 pull 받기
docker pull mysql:5.7.40
docker pull mysql:8.0.32
docker pull amd64/mysql:5.7.40
# 혹은 마지막 버전 pull 받기 -> docker pull mysql:lastest
# (맥북 M1 일 경우 ,--platform linux/amd64 옵션 붙여야 당겨올수 있음.)
# 예: docker pull mysql:5.7.40 --platform linux/amd64
5.7.4 : docker pull amd64/mysql:5.7.40
latest : docker pull amd64/mysql
# intel cpu
docker run -d --platform linux/amd64 -p 3306:3306 -e MYSQL_ROOT_PASSWORD='root' --name db-mysql mysql:5.7.40 --lower_case_table_names=1
# macOS m 1 cpu
docker run -d --platform linux/amd64 -p 3306:3306 -e MYSQL_ROOT_PASSWORD='root' --name db-mysql mysql:5.7.40 --lower_case_table_names=1
docker run -d --platform linux/amd64 -p 3306:3306 -e MYSQL_ROOT_PASSWORD='root' --name db-mysql8 mysql:8.0.31 --lower_case_table_names=1
docker run -d --platform linux/amd64 -p 3306:3306 -e MYSQL_ROOT_PASSWORD='root' --name db-mysql8 mysql:8.0.32 --lower_case_table_names=1
postgeresql
docker run --name PostgreSQL -e POSTGRES_USER=root -e POSTGRES_PASSWORD=root -d -p 5432:5432 postgres
#mysql5.7.4
docker run -d --platform linux/amd64 -p 3306:3306 -e MYSQL_ROOT_PASSWORD='root' -e MYSQL_DATABASE='dcm' --name db-mysql mysql:5.7.40 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci. --lower_case_table_names=1
#기타 실행 예시:
docker container run -d -p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=root \
-e MYSQL_DATABASE=teamwork \
-e MYSQL_USER=blake \
-e MYSQL_PASSWORD=blake \
-e TZ=Asia/Seoul \
mysqld --lower_case_table_names=1 \
mysqld --character-set-server=utf8mb4 \
mysqld --collation-server=utf8mb4_unicode_ci \
#Ps id 확인
docker ps -a
#접속 docker exec -it [image id ]
docker exec -it aaddef8539ab bash
- 만일 mysql 에서 디비 존재하지 않다고 확인 되면 대소문자 구분 처리가 되지 않았을수 있다. 둘중 먹히는 걸로 입력
show variables like 'lower%';
# 혹은
show variables like 'lower_case_table_names';
# 혹은
show variables like 'lower_case_%';
Linux & Unix = 0, Windows = 1, MacOS = 2 (내 노트북은 현재 맥) 대소 문자 구분 없게 하도록 Mac OS 접속용으로 세팅값 =2 로 설정한다.
- pw 없이 mysql 띄운다.
docker pull mysql:5.7.38
docker run -d -p 3306:3306 -e MYSQL_DATABASE=dcm \-e MYSQL_ALLOW_EMPTY_PASSWORD=true --name mysql5740 mysql:5.7.40 mysqld --lower_case_table_names=1
- mysql -u root (패스워드 없이 접속)
set password for 'root'@'localhost' = password('root');
접속불가시
grant all privileges on *.* to root@'%' identified by 'root';
grant all privileges on *.* to yona@'%' identified by 'yonadan';
grant all privileges on *.* to 'root'@'localhost' with grant option;
grant all privileges on *.* to root@'%';
GRANT ALL PRIVILEGES ON *.* TO 'yona'@'%';
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
flush privileges;
- mysql 8.0 sequel Pro 접속 안될때. (ssl 이슈 이므로 , 아래 명령어 통해서 임시해결가능)
ALTER USER 'yourusername'@'localhost' IDENTIFIED WITH mysql_native_password BY 'youpassword';
# 실패! localhost --> % 로 해야 됨. workbench 는 localhost 아닌 127.0.0.1 로만 hostname지정 가능.
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
# 성공!
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
flush privileges;
- time zone 확인
SELECT b.name, a.time_zone_id
FROM mysql.time_zone a, mysql.time_zone_name b
WHERE a.time_zone_id = b.time_zone_id AND b.name LIKE '%Seoul';
+------------------+--------------+
| name | time_zone_id |
+------------------+--------------+
| Asia/Seoul | 310 |
| posix/Asia/Seoul | 904 |
| right/Asia/Seoul | 1499 |
+------------------+--------------+
###
SHOW VARIABLES WHERE Variable_name LIKE '%time_zone%';
+------------------+--------+
| Variable_name | Value |
+------------------+--------+
| system_time_zone | KST |
| time_zone | SYSTEM |
+------------------+--------+
내저장소 바로가기 luxury515
'OS > Linux' 카테고리의 다른 글
컨테이너 || 호스트 사이 파일전송 (0) | 2023.05.16 |
---|---|
brew docker 설치 (0) | 2023.05.16 |
window 에 docker설치 (0) | 2023.05.16 |
docker 내 ubunt “sudo” 명령어 안먹힐때 (0) | 2023.05.16 |
docker 내 ubunto 에서 bash → zsh 로 변경 (0) | 2023.05.16 |