기타 개발

MySQL + Docker Container, 새로운 사실을 알기까지 여정

도커 입문 2021년 가을, 사이드 프로젝트를 진행하면서 어떤 DBMS를 쓸 지 고민하다 락이 걸렸다. – 일일이 설치하고 테스트 하는 것도 부담 – 지우는 것도 부담 – 버전이 올라가면 지우고 또 설치해야 하나? 덕분에 도커를 알게되었고, MySQL 도커 컨테이너 덕분에 모든 고민이 해결됐다.  도커에 눈 뜨다 새로운 곳에서 일을 하게 되면서 도커로 이것 저것 해볼 수 […]

기타 개발

MySQL 도커 컨테이너 생성하는 방법 2가지

MySQL을 Docker Container로 띄우면 빈 깡통 MySQL이 하나 생긴다.  여기에 데이터베이스, 사용자, 테이블을 생성하고 데이터를 넣어야 한다. 데이터베이스, 사용자, 테이블, 데이터가 포함된 도커 컨테이너를 만들수도 있다. 1. 데이터를 넣을 쿼리문을 준비한다. (.sh, .sql, .sql.gz)     – 예시) mysqldump  2. MySQL을 Docker Container로 띄운다.  1 $ docker run ––name some–mysql –e MYSQL_ROOT_PASSWORD=my–secret–pw –d mysql:tag cs 3. Docker Container에 /docker-entrypoint-initdb.d 경로를 만들고, 1.에서 준비한

개발 책 읽기

시작하세요! 도커/쿠버네티스

시작하세요! 도커/쿠버네티스 – 용찬호 지음/위키북스 전자책 735 페이지 종이책이었다면 사지도 않았겠지.  개념이나 익히자 생각하고, 출퇴근 길에 휘리리리릭 읽었다.  깨달음 도커 컨테이너는 변경 불가능한 인프라(immutable infrastructure)를 지향합니다. 변경 불가능한 인프라는 초기에 인프라를 구성하면 임의로 디렉토리 연결이나 포트 노출과 같은 설정을 변경할 수 없습니다. 따라서 컨테이너에 적용된 설정을 변경하려면 새로운 컨테이너를 생성해야 합니다. 이러한 특성 덕분에 컨테이너로

기타 개발

MySQL 대용량 import 주의 binary log

요약하자면 대용량 데이터를 import 할 때는 binary log 보관 기간을 최소화 하자.  MySQL 기본 설정으로 import 하면, 대략 그만큼의 디스크 용량이 필요하기 때문이다.  import 후에는 binary log 보관 기간을 적절히 변경한다.  MySQL 버전이다.  1 2 3 user@dev:~$ mysql ––version mysql  Ver 8.0.32–0ubuntu0.20.04.2 for Linux on x86_64 ((Ubuntu)) user@dev:~$ Colored by Color Scripter cs 가상서버호스팅 이전 중 문제 발생 가상서버호스팅 변경하고, 서버 이전을 하고 있다.

기타 개발

MySQL import nohup 보안 주의

MySQL 데이터를 import 할 때 사용하는 명령어 1 sudo mysql –uuser –p DB_NAME < MYSQL_DUMP.sql cs import 할 데이터 용량이 크다면 nohup 을 이용하자. 1 nohup sudo mysql –uuser –p DB_NAME < MYSQL_DUMP.sql cs 하지만 에러 발생 1 2 3 4 5 6 user@dev:/home/user# nohup mysql -uuser -p DB_NAME < MYSQL_DUMP.sql > nohup.out [1] 11351 user@dev:/home/user# nohup: redirecting stderr to stdout   [1]+  Stopped                 nohup mysql –uuser –p DB_NAME < MYSQL_DUMP.sql > nohup.out user@dev:/home/user# Colored by Color Scripter cs nohup 으로 실행하면 터미널과 연결이 끊어져서 비밀번호를 입력할 수 없기 때문이다. 명령어에 비밀번호를 넣어주자. 

기타 개발

Docker Image Container, 한글 ko_kr utf8

CentOS 7 기준이다. dockerfile로 Docer Image를 만들어 보자. 언어와 타임존을 지정하려면 아래 코드를 추가한다. 1 2 3 RUN localedef –f UTF–8 –i ko_KR ko_KR.utf8 && ln –sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime ENV LANG ko_KR.utf8 ENV LC_ALL ko_KR.utf8 Colored by Color Scripter cs 위의 dockerfile로 생성한 이미지에서 컨테이너를 만들어보자. 언어와 타임존이 설정된 것을 확인할 수 있다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 sh–4.2# date 2023. 04. 01. (토) 11:55:09 KST

일상 & 생각

내 생전 책을 쓸 수 있을까?

  업력이 20년쯤 되면 적어도 책 한 권 쓸 분량은 나오지 않을까? 10년만 되어도 책을 쓰는 사람들이 있다. 나는 뭐 하고 있나? 생각해 보니 공저로 쓸 뻔한 적이 있었다. 알겠다. 실행력의 차이다. 

책 읽기

이기는 습관 = 인생 책

이기는 습관을 읽고 있다. 우와, 이런 책이 있었구나. 팩폭을 당하고 있지만, 기분이 좋다. 왜 기분이 좋을까? 책을 읽고 난 이후의 나는 어제의 나와 다를 것 같다는 기대감 뿜뿜 때문이지. 중간 정도까지 읽었다가, 다시 처음부터 하루에 한 장씩 읽고 있다.  – 한 장을 읽고, 노트에 정리하고 – 노트를 읽으며 생각하고 – 다시 한 장을 읽고, 노트에

기타 개발

도커 컨테이너 실행 중 포트 오류

docker container를 실행했다. Error invoking remote method ‘docker-start-container’: Error: (HTTP code 500) server error – Ports are not available: exposing port TCP 0.0.0.0:8500 -> 0.0.0.0:0: listen tcp 0.0.0.0:8500: bind: An attempt was made to access a socket in a way forbidden by its access permissions. 어제까지 잘 썼는데, 뭐지?  간단한 해결책 – 관리자 권한으로 명령

일상 & 생각

지금 생각하고 있니? 아니면 걱정을 하고 있니?

유튜브를 보다 깨달음을 얻었다.  지금 머릿속에 머물러 있는 단어나 문장, 이미지 따위의 조합이 생각일까, 걱정일까?  걱정이라면 생각으로 전환하는 것이 좋다.  생각을 정리하는 데 도움을 주는 도구를 활용하면 더 좋다.  생각한 것을 행동으로 옮길 수 있다면 더할 나위 없다. 

위로 스크롤