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

+ Recent posts