MySQL
-
안녕하세요. 해당 글을 MySQL 문법을 사용 하였습니다. 지난번에 Query를 통해서 Airflow의 스케줄 시간을 파싱 하는 글을 작성하였는데요. ( 바로가기 ) 이번에는 파싱하여 일반 사용자가 보기 편하게 나타내는 Query를 만들었습니다. 위와 같이 Crontab시간을 사용자가 보기 편한 형태로 보여 주도록 하였습니다. 아무래도 규치적을 주고 파싱을 하다 보니 영어 표현과 어순이 조금 어색하거나 안 맞는 경우가 있습니다. 이 부분은 감안해 주세요. (도저히.. 어떻게 바꿀지 모르겠습니다.) SELECT schedule_interval ,CASE WHEN schedule_interval = '"@once"' THEN 'Schedule once and only once' WHEN schedule_in..
[Airflow] 스케줄 시간 (Crontab) Query 파싱안녕하세요. 해당 글을 MySQL 문법을 사용 하였습니다. 지난번에 Query를 통해서 Airflow의 스케줄 시간을 파싱 하는 글을 작성하였는데요. ( 바로가기 ) 이번에는 파싱하여 일반 사용자가 보기 편하게 나타내는 Query를 만들었습니다. 위와 같이 Crontab시간을 사용자가 보기 편한 형태로 보여 주도록 하였습니다. 아무래도 규치적을 주고 파싱을 하다 보니 영어 표현과 어순이 조금 어색하거나 안 맞는 경우가 있습니다. 이 부분은 감안해 주세요. (도저히.. 어떻게 바꿀지 모르겠습니다.) SELECT schedule_interval ,CASE WHEN schedule_interval = '"@once"' THEN 'Schedule once and only once' WHEN schedule_in..
2023.05.03 -
Airflow의 스케줄 시간을 지표로 표현할 일이 있어서 Airflow의 스케줄 시간을 mysql을 통해서 Datetime 형태로 parsing 해야 하는 이슈가 있었습니다. 여기저기 찾아봤지만 정상적으로 안되어서 직접 Query를 작성하였습니다. 우선 한 가지 아쉬운 것은 모든 스케줄 시간을 parsing 하지는 못 하였습니다. 스케줄 시간에서 매일 발생하는 스케줄 시간만 표현하였고, 나머지 요일별, 월별, 주별 이런 내용은 parsing 하지 못하였습니다. 차후에 이 부분도 추가하여 글을 작성하도록 하겠습니다. 우선 저희 쪽에서 사용하는 부분은 일별 스케줄이라서, 이 부분만 작성 한 점 죄송합니다. 원본 데이터 원본 데이터의 경우 다음과 같은 형태로 있습니다. 여기서 @once도 제외하였습니다. (단..
MySQL을 이용하여 Airflow(Crontab) 스케줄 시간 parsingAirflow의 스케줄 시간을 지표로 표현할 일이 있어서 Airflow의 스케줄 시간을 mysql을 통해서 Datetime 형태로 parsing 해야 하는 이슈가 있었습니다. 여기저기 찾아봤지만 정상적으로 안되어서 직접 Query를 작성하였습니다. 우선 한 가지 아쉬운 것은 모든 스케줄 시간을 parsing 하지는 못 하였습니다. 스케줄 시간에서 매일 발생하는 스케줄 시간만 표현하였고, 나머지 요일별, 월별, 주별 이런 내용은 parsing 하지 못하였습니다. 차후에 이 부분도 추가하여 글을 작성하도록 하겠습니다. 우선 저희 쪽에서 사용하는 부분은 일별 스케줄이라서, 이 부분만 작성 한 점 죄송합니다. 원본 데이터 원본 데이터의 경우 다음과 같은 형태로 있습니다. 여기서 @once도 제외하였습니다. (단..
2021.05.21 -
요즘 많은 분들이 SQL을 통해서 데이터를 조회하고 추출합니다. 예전에는 DBA 분들이 주로 SQL을 통해서 데이터를 조회하고 추출하였습니다. 하지만 이제는 데이터 분석가, 사업, 기획, 개발 많은 분야에서 다양한 분들이 SQL을 통해서 데이터를 조회 및 추출을 합니다. 이렇게 많은 분들이 사용하다 보니 비전문가가 많아서 성능을 고려하지 못하고 SQL을 쓰는 사례가 많아졌습니다. 이는 자칫 실서버 또는 분석용 서버에 무리를 주는 경우가 있어서 이러한 부분을 조금이라도 줄이기 위해서 글을 작성합니다. 이 글의 경우 mysql , google big query에서 테스트하였습니다. (2020 기준으로 회사에서 2개를 사용) 첫 번째, WHERE절의 좌변을 가공하지 마세요. 이게 무슨 말일까요? SQL의 기본..
비전공자가 알아두면 좋은 SQL 인덱스 성능 팁 2가지요즘 많은 분들이 SQL을 통해서 데이터를 조회하고 추출합니다. 예전에는 DBA 분들이 주로 SQL을 통해서 데이터를 조회하고 추출하였습니다. 하지만 이제는 데이터 분석가, 사업, 기획, 개발 많은 분야에서 다양한 분들이 SQL을 통해서 데이터를 조회 및 추출을 합니다. 이렇게 많은 분들이 사용하다 보니 비전문가가 많아서 성능을 고려하지 못하고 SQL을 쓰는 사례가 많아졌습니다. 이는 자칫 실서버 또는 분석용 서버에 무리를 주는 경우가 있어서 이러한 부분을 조금이라도 줄이기 위해서 글을 작성합니다. 이 글의 경우 mysql , google big query에서 테스트하였습니다. (2020 기준으로 회사에서 2개를 사용) 첫 번째, WHERE절의 좌변을 가공하지 마세요. 이게 무슨 말일까요? SQL의 기본..
2020.12.11 -
python을 이용하여 개발하던 도중에 다음과 같은 오류가 발생하여 찾던 도중에 모든 방법이 안되서 겨우 겨우 찾아서 해결 방법을 공유 합니다. 오류 내용 not all arguments converted during string formatting 위와 같이 오류가 발생하였습니다. 위의 오류 발생 구간은 mysql 에 데이터를 넣는 부분이였습니다. 분명히 잘되던게... 갑자기 안되서 당황하였는데요. google에 검색하면 여러가지 내용이 나옵니다. https://stackoverflow.com/questions/21740359/python-mysqldb-typeerror-not-all-arguments-converted-during-string-formatting Python MySQLdb TypeEr..
python3 - not all arguments converted during string formattingpython을 이용하여 개발하던 도중에 다음과 같은 오류가 발생하여 찾던 도중에 모든 방법이 안되서 겨우 겨우 찾아서 해결 방법을 공유 합니다. 오류 내용 not all arguments converted during string formatting 위와 같이 오류가 발생하였습니다. 위의 오류 발생 구간은 mysql 에 데이터를 넣는 부분이였습니다. 분명히 잘되던게... 갑자기 안되서 당황하였는데요. google에 검색하면 여러가지 내용이 나옵니다. https://stackoverflow.com/questions/21740359/python-mysqldb-typeerror-not-all-arguments-converted-during-string-formatting Python MySQLdb TypeEr..
2019.11.21 -
embulk plugin에서 embulk-output-bigquery부분에서 아래와 같은 오류가 날 때 해결 방법에 대해서 적어 봤습니다. Incompatible table partitioning specification when copying to the column partitioned table 위의 오류는 mysql -> big query로 갈 때 big query 쪽에 이미 partition이 되어 있는 경우 발생하였습니다. 상황에 따라서 다양하게 발생하는 것으로 보이는데 저의 경우 위의 상황으로 발생하였습니다. 관련해서 embulk plugin 쪽에 내용을 보면 다음과 같이 표기되어 있습니다. 아래의 내용은 mode에서 replace를 사용할 때 관련된 내용인 거 같은데, 사실 해결 방법과 별..
Incompatible table partitioning specification when copying to the column partitioned tableembulk plugin에서 embulk-output-bigquery부분에서 아래와 같은 오류가 날 때 해결 방법에 대해서 적어 봤습니다. Incompatible table partitioning specification when copying to the column partitioned table 위의 오류는 mysql -> big query로 갈 때 big query 쪽에 이미 partition이 되어 있는 경우 발생하였습니다. 상황에 따라서 다양하게 발생하는 것으로 보이는데 저의 경우 위의 상황으로 발생하였습니다. 관련해서 embulk plugin 쪽에 내용을 보면 다음과 같이 표기되어 있습니다. 아래의 내용은 mode에서 replace를 사용할 때 관련된 내용인 거 같은데, 사실 해결 방법과 별..
2019.10.28 -
환경 - OS : Mac OS - Input : mysql (AWS) - Output : big query (GCP) 오류 내용 org.embulk.exec.PartialExecutionException: java.lang.RuntimeException: java.sql.SQLException: The server time zone value 'KST' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you..
embulk Error (server Timezone)환경 - OS : Mac OS - Input : mysql (AWS) - Output : big query (GCP) 오류 내용 org.embulk.exec.PartialExecutionException: java.lang.RuntimeException: java.sql.SQLException: The server time zone value 'KST' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you..
2019.10.25 -
저 같은 바보가 있지 않기를 바라며 짧은 글 올립니다. 다음과 같이 오류가 계속 해서 RDS에서 발생하여, INSERT / UPDATE / DELETE 가 안되는 상황이 발생하였습니다.create table joo ( col1 int )Error Code: 1290. The MySQL server is running with the --read-only option so it cannot execute this statement 구글에서 몇가지 찾아보았는데요.PK가 없다거나, "SET GLOBAL read_only = ON; " 옵션을 꺼야한다거나 많은 내용이 있었는데요. 참 바보같은 이유였습니다.바로 재부팅을 해서 마스터 슬레이브가 바뀐거였습니다. 자동으로 failover 처리하여, 바뀐거였습니다.기본..
RDS (Aurora)에서 read-only 문제가 날 경우저 같은 바보가 있지 않기를 바라며 짧은 글 올립니다. 다음과 같이 오류가 계속 해서 RDS에서 발생하여, INSERT / UPDATE / DELETE 가 안되는 상황이 발생하였습니다.create table joo ( col1 int )Error Code: 1290. The MySQL server is running with the --read-only option so it cannot execute this statement 구글에서 몇가지 찾아보았는데요.PK가 없다거나, "SET GLOBAL read_only = ON; " 옵션을 꺼야한다거나 많은 내용이 있었는데요. 참 바보같은 이유였습니다.바로 재부팅을 해서 마스터 슬레이브가 바뀐거였습니다. 자동으로 failover 처리하여, 바뀐거였습니다.기본..
2018.07.18 -
MySQL 설치를 하는 중에 모든 설정 및 디렉터리, my.cnf 등을 모두 잘 설정하였는데 mysql system 테이블 설치만 하면... 자꾸 오류가 나는 경우가 있습니다. 오류의 내용은 다음과 같습니다. /usr/local/mysql/bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory영어 울렁증으로 인하여, 영어를 자세히 읽어 보지 않고 뒤쪽에 ..
MySQL 설치 시 libaio 관련 ErrorMySQL 설치를 하는 중에 모든 설정 및 디렉터리, my.cnf 등을 모두 잘 설정하였는데 mysql system 테이블 설치만 하면... 자꾸 오류가 나는 경우가 있습니다. 오류의 내용은 다음과 같습니다. /usr/local/mysql/bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory영어 울렁증으로 인하여, 영어를 자세히 읽어 보지 않고 뒤쪽에 ..
2016.09.12 -
My SQL은 MS SQL과 다르게 DB에 연결 하기 위해서 유저를 등록해줘야 합니다.DB별로 접근을 제한 할 수도 있고, IP대역 및 특정 IP별로 유저를 제한이 가능 합니다. 문제 원인 1. 잘 되던 툴이 갑자기 안된다고 접수 받음2. 확인해 보니 서버를 이전하면서, IP정보가 변경 되었음 문제 해결 방법 문제는 mysql DB에 user 테이블에 등록된 정보에 IP가 변경되었는데 Update가 되지 않아서 발생 하였습니다. SELECT * FROM mysql.user 우선 mysql DB에 user 테이블에서 해당 유저가 등록여부를 확인 하였습니다. (보안상 음영처리) 우선 해당 Host와 user에 보니 변경되기 전의 IP가 등록이 되어 있었습니다.하여, 해당 Host를 새로운 Host로 Upda..
MySQL 5.5_유저등록My SQL은 MS SQL과 다르게 DB에 연결 하기 위해서 유저를 등록해줘야 합니다.DB별로 접근을 제한 할 수도 있고, IP대역 및 특정 IP별로 유저를 제한이 가능 합니다. 문제 원인 1. 잘 되던 툴이 갑자기 안된다고 접수 받음2. 확인해 보니 서버를 이전하면서, IP정보가 변경 되었음 문제 해결 방법 문제는 mysql DB에 user 테이블에 등록된 정보에 IP가 변경되었는데 Update가 되지 않아서 발생 하였습니다. SELECT * FROM mysql.user 우선 mysql DB에 user 테이블에서 해당 유저가 등록여부를 확인 하였습니다. (보안상 음영처리) 우선 해당 Host와 user에 보니 변경되기 전의 IP가 등록이 되어 있었습니다.하여, 해당 Host를 새로운 Host로 Upda..
2015.04.06 -
mysql도 mssql 처럼 job 스케줄러가 있습니다. 그중에 백업에 관한 스케줄러를 살펴 볼까 합니다. crontab -l 을 입력 하면 (L입니다.) 다음과 같이 나옵니다. 2개의 스케줄러가 있는 것으로 보입니다.이 스케줄러의 새부 내용을 보고 싶으면 vi편집기를 이용해 보면 됩니다. 우선 현재 위치를 pwd를 이용해 확인 합니다. 현재 위치는 root입니다.위에 보시면 붉은줄을 친 곳의 위치가 나오고 맨 뒤에 shell 스크립트가 존재 한다고 나옵니다.하여, 해당 내역을 보기 위해서는 위의 위치로 이동하거나 vi 편집기를 할때 경로까지 모두 지정해 주셔야 합니다. 해당 폴더로 이동하여 확인해 보도록 하겠습니다. 해당 폴더로 이동하여, ls 를 통해서 (L입니다.) 무슨 파일이 있나 확인했는데 정상..
MySQL_백업 스케줄러 확인mysql도 mssql 처럼 job 스케줄러가 있습니다. 그중에 백업에 관한 스케줄러를 살펴 볼까 합니다. crontab -l 을 입력 하면 (L입니다.) 다음과 같이 나옵니다. 2개의 스케줄러가 있는 것으로 보입니다.이 스케줄러의 새부 내용을 보고 싶으면 vi편집기를 이용해 보면 됩니다. 우선 현재 위치를 pwd를 이용해 확인 합니다. 현재 위치는 root입니다.위에 보시면 붉은줄을 친 곳의 위치가 나오고 맨 뒤에 shell 스크립트가 존재 한다고 나옵니다.하여, 해당 내역을 보기 위해서는 위의 위치로 이동하거나 vi 편집기를 할때 경로까지 모두 지정해 주셔야 합니다. 해당 폴더로 이동하여 확인해 보도록 하겠습니다. 해당 폴더로 이동하여, ls 를 통해서 (L입니다.) 무슨 파일이 있나 확인했는데 정상..
2015.04.06