본문 바로가기

기술 탐닉25

MySQL 8.0 계정의 비밀번호 변경하기 아래 과정을 사내 위키에도 작성하였지만 기록으로 남겨두고 싶어 재 작성합니다.  개발팀 내부에서 사용하는 mysql계정의 비밀번호를 변경해야 하는 경우가 생겼습니다. 유관 부서에 확인하여 처리해야하는 번거로움은 있지만 작업 자체의 난이도가 높아보이진 않았습니다. 비교적 최근에 Real MySQL 8.0 1권 을 읽었던 터라 8.0 부터는 dual password를 지원하고 이를 통해 계정의 비밀번호를 변경할 수 있다는 사실을 알고 있었습니다. 정확한 내용 확인을 위해 홈페이지에서도 내용을 찾아보았습니다.  이중 비밀번호 기능을 활용하면 긴밀한 협력이나 다운타임 없이 비밀번호를 변경할 수 있다고 합니다. With dual passwords, credential changes can be made more .. 2024. 10. 2.
[SQLAlchemy] connection pool 설정을 통한 MySQL Connection not available 회피하기 MySQL Connection not available 오류를 만나고...새로운 프로젝트를 구성하면서 fastapi, SQLModel 을 사용하게 되었다. 기존에 SQLAlchemy를 사용하고 있었고 SQLModel이 SQLAlchemy을 랩핑한 패키지 정도로 이해하고 사용하였다. 무난한 코드 작업 이후 코드 단의 오류가 아닌 데이터 베이스와 연관된 오류가 리포트 되는 것을 확인하였다.해당 오류를 읽어보면 mysql.connector.errors.OperationalError: MySQL Connection not available. 가 키 포인트 인 것을 알 수 있다. 왜 멀쩡한(?) 커넥션을 사용할 수 없다고 하는 것일까? 내 세션 왜 아파... 원인 추측그 이유는 sqlalchemy 의 세션 풀에 .. 2024. 9. 12.
Elastic Beanstalk 구성시 유의사항 프로젝트를 위해 EB 환경을 구성하려고 하였다.기존에는 이미 만들어진 환경을 사용하거나 복제했기 때문에 처음부터 만들 일은 없었는데, 만들어보니 구석구석 신경쓸 부분들이 있었다.aws-elasticbeanstalk-ec2-roleThe instance profile aws-elasticbeanstalk-ec2-role associated with the environment does not exist.처음 어플리케이션 생성 시 보수적으로 모르겠는 것들을 빼고 진행했더니 바로 이런 에러를 마주했다.무언가 role이 없다고 한다. 근데 필요한 건데 없으면 만들어줘야하는 것 아닌가? 여기 를 보니 이유를 알 수 있었다.어찌되었든 이 role은 인스턴스 프로파일로서 인스턴스 시작 시 Amazon EC2 인스턴스.. 2024. 5. 25.
AWS Infra 구성 예시 개요 1~2 개월 전 AWS Solutions Architect 분으로부터 aws에서 어떠한 방식으로 인프라를 구성해야 하는지에 대해 조언을 들었다. 그때 전달해주신 내용을 기억하는 선에서 정리해보려고 한다. 틀린 내용이 있을 수 있다. 나름의 best practice? 위 이미지는 당시 설명하며 그려주셨던 그림을 정리한 것이다. 위 그림에서 볼 부분은 아래와 같다고 생각한다. 1. WAS와 DB 같이 민감한 부분들은 private subnet에 넣고 외부에 노출되는 부분을 최소화한다. - ec2 등을 public ip를 설정을 기본으로 하지 않고 필요한 부분만 외부에 노출하여 외부로부터 안전하도록 구성한다. - 따라서 로컬 개발 환경에서는 VPN 등으로 연결할 필요가 있다. 2. 개발환경과 운영 환경의.. 2024. 3. 25.
보안 그룹 중첩 시 유의 사항 이전에 사내 ip가 변경되어 aws에 접속에 어려움을 겪었던 적이 있다. 그때 aws에 등록된 사내 ip 를 수정하기 위해 보안그룹을 확인한 순간 온갖 곳에 추가되어 있던 것을 보게 되었고, 그때 보안그룹을 정리하며 알게된 내용 등을 정리한다. 보안 그룹? 보안 그룹은 연결된 리소스에 도달하고 나갈 수 있는 트래픽을 제어합니다. 예를 들어 보안 그룹을 EC2 인스턴스와 연결하면 인스턴스에 대한 인바운드 및 아웃바운드 트래픽을 제어합니다. AWS 사이트 에서 참고하였다. 간단하게 이해해보자면 네트워크 요청과 응답에 대한 규칙을 정한다고 생각하면 될 것 같다. 경험상 ec2, RDS, ELB 등에 적용할 수 있었다. 보안 그룹의 중첩 보안그룹에는 타겟의 ip 목록을 등록할 수도 있고 다른 보안그룹을 지정할 .. 2024. 3. 14.
[PyCharm] Please specify a different SDK name 오류 현상 PyCharm에서 interpreter를 설정하려고 하니 Please specify a different SDK name 라고 하는 에러가 띄워지며 선택할 수가 없었다. 그치만 선택이 되는 가상환경도 존재했고 원인을 알 수가 없었다. 원인 분석 해당 오류 메세지는 파이참 프로그램 안에서도 볼 수 있었지만 지난번 오류를 해결하며 보았던 log에서도 볼 수 있었다. 또한 가상환경을 추가로 생성하고 설정하려는 과정에서 아래와 같은 오류 메세지도 확인했다. setSdk: sdk '' type 'Python SDK' is not registered in ProjectJdkTable 해결 시도 확인한 2 가지의 에러 메세지를 기반으로 해결법을 찾다보니 jdk.table.xml 해당 파일을 삭제하고 해결되.. 2024. 3. 11.
[PyCharm] Operation not permitted 에러 확인 며칠 전 새로운 프로젝트 세팅을 하던 도중 프로젝트 폴더가 깜박이듯 한 현상을 발견했다. 코드를 작성하려고 하면 루트 폴더가 사라져 아무 것도 할 수가 없었다. 별다른 에러 메세지나 팝업이 없었기에 당황스러웠다. 비슷한 현상이 있었을 것이라 생각하고 구글에서 찾아보려고 했으나 6-7년 전의 글들만 나오고 그마저도 제시된 해결책들은 나에게는 해당사항이 없었다. 그런던 중에 PyCharm에도 에러 로그가 있다는 사실을 알았다. 있을 것이라고 생각도 못했다. 에러 로그를 보니 해당 현상이 나타날 때 반복적으로 보이는 에러가 있었다. 저런 에러들로 찾아도 별다른 방법은 없었다. 갑자기 해결 갑자기 든 생각은 PyCharm이 해당 디렉토리로의 접근 자체를 못하고 있는 것은 아닐까 하는 생각이 들었다. .. 2024. 3. 5.
[pip] ERROR: Could not install packages due to an OSError: [Errno 2] No such file or directory: 어떻게 발생했지? 퇴사한 분의 오래된 PR을 받게 되어 정리할 겸 기능 수정을 거치고 pytest를 실행하였다. 하지만 아래 부분에서 에러가 발생하며 실행이 되지 않았다. 갑자기 왜... E ImportError: cannot import name 'BaseResponse' from 'werkzeug.wrappers' (/Users//opt/anaconda3/envs//lib/python3.8/site-packages/werkzeug/wrappers/__init__.py) from werkzeug.wrappers import BaseResponse # 오류 발생 부분 에러 메시지에서 awscli를 보았는데 순간 다른 브랜치에서 설치한 awscli 때문인 게 아닐까 싶어서 가상환경에서 requirement.. 2024. 2. 20.
[docker] Error: It seems there is already a Binary at '/usr/local/etc/bash_completion.d/docker'. Docker Desktop 설치를 위해 dmg 파일을 받아 설치를 진행했다. 설치 후 실행은 되었지만 docker -v 로 버전을 확인하려하면 docker가 없다고 한다. zsh: command not found: docker 그래서 무언가 설치 중 경로가 잘못 잡힌 것 같아 삭제후 재설치를 진행했으나 원하는 결과는 나오지 않았다. 저게 정상인가? brew install docker --cask 로 시도했으나 마지막에 에러가 발생했다. Error: It seems there is already a Binary at '/usr/local/etc/bash_completion.d/docker'. 찾아 보니 기존에 brew로 docker를 설치했을 때 마주하는 문제라고 한다. 시도해보았으나 원하는 대로 되지 않.. 2024. 1. 28.
시간 관리를 해보자! (1) 2024년 새해가 되면서 이것 저것 계획을 많이 세워보았는데 그 중 하나가 1년에 블로그 100개 쓰기 이다. 작년에 야심차게 열어두고 여러 내용을 작성하고 싶었지만 글을 못 마치는 병도 있고 습관이 잡히지 않은 것도 있었다. 올해는 수치화된 연간 계획을 세운만큼 욕심내서 모두 지켜보려고 한다. 계획은 사실 다른 사람들과 다르지 않다. 건강 챙기기, 운동하기, 독서하기, 공부하기 등등... 사실 운동은 꾸준하게 하고 있기 때문에 독서와 개인 공부에 갈증이 있었다. 운동하느라 이 둘을 소홀히 한 것은 아닐까 하는 생각도 있었지만 큰 개선은 없었다. 그래서 지금 현재 하루를 어떻게 보내고 있는지 적어보았다. 현황을 파악해야 진단을 하고 처방을 할테니. 대충 아이패드로 쓱삭 그린 일과다. 회사가 9-6라 큰 .. 2024. 1. 11.