반응형

MySQL 18

[ 쿼리문 ] MySQL 오늘 날짜 데이터 조회

1. 개요 쿼리문으로 특정 날짜 데이터를 조회하는 방법을 기록한다. 방법에는 몇가지가 있는 것 같다 2. 쿼리문 1) curdate( ) - 오늘 날짜 출력 select curdate() curdate( ) 함수를 이용해 아래와 같이 오늘 날짜 출력 가능 2) date_format(insert_date, '%Y-%m-%d' ) - 특정 날짜 출력 select date_format(created_at, '%Y-%m-%d') from table_name; date_format( ) 함수를 이용해 아래와 같이 특정 날짜 출력 가능

[ NiFi ] 4. 리눅스에서 MySql 로 데이터 보내기

1. 개요 기본적인 튜토리얼에서 벗어나 NiFi 를 통해 좀 더 심화된 프로세스를 구축하는 연습을 하기위해 해당 포스팅을 작성했다. 추후 NiFi 를 사용할 일이 있을 때, 해당 포스팅을 참고하여 연습해야겠다. 완성된 직후, 전체적인 프로세스는 아래와 같다. 리눅스에 있는 편집한 csv 파일을 읽어들인 후에 json 형태로 변형시키고 나서 MySql 에 저장하는 프로세스이다. 2. 리눅스 -> MySql 프로세스 순서 우선, 해당 포스트는 리눅스 서버에 MySql 을 설치했다는 가정하에 시작한다. 리눅스 버전은 Cent OS 7 을 사용했으며, MySql 로는 MySql 8 버전을 사용했다. 1) 데이터를 리눅스 서버에 넣고 mysql 에 데이터 베이스와 테이블을 생성한다. 실습을 위해 필요한 데이터를 ..

[MySql] 리눅스 -> 윈도우 Mysql 워크벤치 연결하는 방법

1. 소개 리눅스와 윈도우는 환경이 다르기 때문에 막연하게 다른 운영체제에서 운영중인 DB 를 연결하는 것은 어려울 수 있겠구나..라는 막연한 불안감이 있긴 했었다. 하지만, 생각보다 너무 쉬웠다. 알아야 하는 것은 리눅스의 IP 주소, MYSQL 의 포트번호 이 두개만 있으면 된다 2. 연결 방법 mysql 을 설치했다는 가정 하에 진행한다. 1) 우선 외부에서 특정 포트 번호로 접속할 수 있도록 리눅스 방화벽에 특정 포트 번호를 오픈해준다 firewall-cmd --permanent --add-port=3306/tcp 2) 그 다음에는 방화벽을 다시 시작해준다 - 설정을 변경한 경우 다시 시작하지 않으면 설정이 반영되지 않을 수 있다 firewall-cmd --reload 3) 윈도우로 돌아와 워크벤..

[MySql Error] ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

1. 에러 발생 이유 간단하게 설명하자면 mysql 내의 패스워드 정책과 어긋났다는 이야기이다. 2. 해결 방법 이를 해결하기 위해선 우선 mysql 에서 운용중인 패스워드 정책을 확인해야 된다. 1) 아래 명령어를 기입한다 SHOW VARIABLES LIKE 'validate_password%'; 위 명령어를 기입하면 아래 이미지와 같이 mysql 에서 운용중인 패스워드 정책을 볼 수 있다 위의 정책들을 설명하자면 아래와 같다. 제일 위의 validate_password_check_user_name은 패스워드에 user id가 들어갔는지 묻는것이다. length는 길이를 의미한다. 8자 이상이어야 한다. mixed case count는 대소문자를 적어도 1회이상은 써야한다. 밑의 number count..

[MySQL] CSV 파일 넣기

이미 CSV 파일을 넣기위한 테이블이 준비되어 있다고 가정한다 1. 실행방법 1) mysql에서 아래와 같은 명령어를 입력하면 엑셀 파일의 데이터가 저장된다 LOAD DATA INFILE 파일경로/파일명.csv INTO TABLE 테이블 이름FIELDS TERMINATED BY ',' 을 하면 된다. LOAD DATA INFILE `c:/test.csv` INTO TABLE lotto FIELDS TERMINATED BY `,`; 또는 LOAD LOCAL DATA INFILE `c:/test.csv` INTO TABLE lotto FIELDS TERMINATED BY `,`; 을 하면된다.

[MySQL Error] The MySQL server is running with the --secure-file-priv option so it cannot execute this statement

Load Data 시도중 , 아래의 에러를 만났다.. The MySQL server is running with the --secure-file-priv option so it cannot execute this statement 예전에도 이와 비슷한 것을 시도한 적이 있어 기억이 났었다. 1. 에러 원인 에러의 원인은 mysql 의 경우에는 보안을 위해 특정 경로에서만 파일을 업로드할 수 있도록 설정되어 있다. 그 이외의 경로에서 load infile 을 할 경우 에러가 발생한다. 2. 해결 방법 1) MySQL 에 접속한 후 경로 확인 SELECT @@GLOBAL.secure_file_priv; +---------------------------+ | @@GLOBAL.secure_file_priv |..

[Python Error] AttributeError: 'MySQLCursor' object has no attribute 'commit'

1. 에러의 원인 에러의 원인은 간단하다.. connect 메서드가 들어가야 할 부분에 cursor 라고 썼기 때문에 pymysql 에서 해당 오브젝트에는 commit 이 없다는 에러 문구를 보내는 것이다 아래 이미지와 같다 2. 해결 방법 해결 방법은 아래와 같다. 처음에 DB 를 연결할 때, 기입한 부분을 써주는 것이다. 나의 경우에는 conn 이라고 써주었기 때문에 아래와 같이 수정했다. 그 이후 해당 에러는 사라지고 DB 에 원하는 데이터가 잘 들어갔다 3. 참고 링크 stackoverflow.com/questions/30842031/attributeerror-mysqlcursor-object-has-no-attribute-commit AttributeError: 'MySQLCursor' obje..

[MySQL Error] No database select the default db to be used by double-clicking its name in the schemas list in the sidebar 에러

1. 에러 원인 MySQL 워크벤치에서 쿼리를 날렸는데 아래의 메시지가 뜰 경우는 데이터베이스를 선택하지 않았다고 생각하면 될 것 같다. Error Code: 1046. No database selected Select the default DB to be used by double-clicking its name in the SCHEMAS list in the sidebar. 2. 에러 해결 방법 나의 경우에는 비교적 쉽게 에러를 해결할 수 있었다. 데이터 베이스를 선택하지 않았기 때문에 아래의 쿼리로 데이터 베이스를 선택하고 쿼리를 다시 실행하니 정상적으로 동작했다. use [사용할 데이터 베이스 이름]

[Spring Error] The server time zone value is unrecognized or represents more than one time zone 에러

Java spring 과 MySQL 서버를 연결하던 중 time zone 에러가 발생했고, 에러는 아래와 같았다. java.sql.SQLException: The server time zone value 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 want to utilize time zone support. 1. 에러의 원인 에러의 원인은 서버 시간대의 값이 인식되지 않거나, 스프링(java) ..

반응형