* 개요 Numeric 로 선언한 max_length 란 컬럼이 있다 (자바 Integer 선언) update 시 null 을 대입하면 다음 오류 발생 Caused by: org.postgresql.util.PSQLException: ERROR: column "max_length" is of type numeric but expression is of type character varying Hint: You will need to rewrite or cast the expression. 로그에 찍히는 UPDATE ... SET max_length = NULL 은 정상동작하는 쿼리인데도 오류 * 원인 mybatis 의 파라메터 대입하는 메서드 내부에서 Integer 가 아닌 int 를 사용하면서 null..
mybatis 에서 Boolean인 속성 'myBool' 이 있을때 #{myBool} 은 0 또는 1로 표시됨 ${myBool} 은 false 또는 true 로 표시됨 postgres 컬럼 데이터타입 bit 인 경우 값은 b'0' 이나 b'1' 이라고 입력해야 함. 이걸 insert, update 쿼리에 그대로 b'#{myBool}' 로 표현하면 오류가 발생함. * 해결 컬럼 데이터타입 bool 로 선언 mybatis 에서 가져올때는 # 대신 ${myBool} 을 사용해서 가져옴
* 개요 MySQL 사용하는 웹앱에서 DB 접속하지 못하고 다음 오류 발생 ... Client does not support authentication protocol requested by server; consider upgrading MySQL client Cause: org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Client does not support authentication protocol requested by server; consider upgrading MySQL client) * 원인 MySQL 8은 로그인 정보를 암호화하여 보내도록 설정이 가능 암호화 없이 로그인 하려할때 발..
*개요 컬럼 중 '관리번호' 가 있는데 숫자 뿐만 아니라 A01, A02, ... 형태의 번호도 있어 VARCHAR 로 선언됨. 그대로 ORDER 하게 되면 1,11,111,2,22,3,.... A1,A11,A111,A2,..... 순으로 정렬됨. 제대로 정렬해보도록 하자. * 한글-영어-숫자 순으로 정렬 조건 비교시 REGEXP 이용해서 다음과 같이 사용 가능 SELECT A.MNG_NUM, CASE WHEN A.MNG_NUM REGEXP '[가-힣].*' THEN 1 ELSE 0 END AS isHangeul, CASE WHEN A.MNG_NUM REGEXP '[A-Za-z].*' THEN 1 ELSE 0 END AS isAlphabet, CASE WHEN CAST(A.MNG_NUM AS UNSIGN..
* 개요MySQL 설치했는데 workbench 로 들어가보니 Not Connected 상태임 services.msc 에서 확인했지만 MySQL57 서비스가 목록에 아예 없음 .../MySQL Server 5.7/bin 폴더 에서 mysql -uroot -p 실행했지만Can't connect to MySql server on 'localhost' 10061 메시지 보이며 반응하지 않음. * 해결 1 (실패)mysqld --install https://stackoverflow.com/questions/5679258/mysql-service-is-missing 하지만 다음 오류 보이며 실패함. C:\Program Files\MySQL\MySQL Server 5.7\bin>mysqld --installInsta..
* 개요sql 로그 / sql log / query log MySQL 쿼리 로그 보는 법 (SQL 로그)하이버네이트가 실제 보낸 SQL 확인시 유용 http://blog.plura.io/?p=4493 * 환경 MySQL 8Windows 10 * 해결 다음 쿼리 실행set global general_log=on; 해당 db 위치로 가면 컴퓨터이름.log 형태로 생성 ex:D:\ProgramData\MySQL\MySQL Server 8.0\Data\DESKTOP-061LV60.log - 설정 변경 시점 바로 적용됨. 재시작 필요없음.- show variables like '%general%'; 쿼리로 파일명 확인 가능
* 개요하이버네이트 이용,DB 접속시 다음 URL 사용 jdbc.databaseurl=jdbc:mysql://localhost:3306/130514cidogir?useUnicode=true&characterEncoding=UTF-8&autoReconnection=true&useSSL=false useUnicode, characterEncoding, autoReconnection, useSSL 등을 선언 하고 있는데실제로 동작하지 않는 문제 * 환경eclipseSpring 5hibernate 3 * 원인프로퍼티 간의 구분자를 & 가 아닌 & 로 쓴게 문제였음. XML 에서 url 쓸 경우 & 를 그대로 쓸 수 없고 & 를 사용하는 것이 맞음. 하지만 나는 jdbc.properties 파일을 사용하고 .....
https://stackoverflow.com/questions/34189756/warning-about-ssl-connection-when-connecting-to-mysql-database autoReconnect 라고 쓰인 곳도 있고autoReconnection 이라고 쓰인곳도 있음. - autoReconnect 가 작동했음.autoReconnection 안됨 * 환경 mysql 8 * 둘 다 안됐던 원인- 두가지 모두 동작 안 할 때도 있었음- 이유는 하이버네이트 설정 실수http://dogcowking.tistory.com/242
* 개요- 테이블 XXX 가 데이터 임시 보관 중이었음. 이 테이블이 꽉차 삭제해야 했는데 DROP TABLE 대신 XXX.ibd 파일 직접 삭제함. - 그 이후 테이블 사용하려고 하면 Error Code: 3510. Tablespace XXX doesn't exist. - 새로 만들려고 하면 Error Code: 1813. Tablespace XXX exists. * 해결REPAIR TABLE 이나 DROP TABLESPACE 도 먹히지 않았으며,방법은 무조건 ibd 파일 되살리는것백업해놓은거라도 갔다 놓으면 인식이 되고그 이후 DROP TABLE 통해 ibd 파일 삭제하여 하드디스크 용량 확보 가능
SQL Error: 144, SQLState: HY000Table XXXX is marked as crashed and last (automatic?) repair failed * 해결https://stackoverflow.com/questions/8843776/mysql-table-is-marked-as-crashed-and-last-automatic-repair-failed repair table 테이블명 게시물 목록 테이블 30만 ROW 처리에 4분 정도 소요됨
* 개요fts_0000000000000495_being_deleted.ibd fts_ ... _being_deleted.ibd 파일 생겼는데, 이거 지워도 되는건가? *https://stackoverflow.com/questions/41941925/any-way-to-reduce-fts-index-1-ibd-file-sizes-in-mysql-database-folderhttp://ronaldbradford.com/blog/what-is-fts_being_deleted-ibd-2014-01-29/ -innoDB FULLTEXT index 파일이다- FULLTEXT 인덱스 DROP 후 다시 만들거나- OPTIMIZE TABLE 가능? => 반) 효과 있는지 모르겠다 * 어쨌든.. 지워선 안된다
* 개요- binlog 파일뭐야?- binlog 파일 삭제해도 되나?- 다음을 요약함mysqlbinlog 사용법(1) (2014)http://mysqldba.tistory.com/85 * Binary Log - 컨텐츠 변경한 기록인 "event" 로 이뤄짐- mysqlbinlog 유틸 이용하여 텍스트로 변경 가능- slave 서버의 Relay Log 에도 적용 가능 mysqlbinlog binlog.000024 실행 일부# at 126618#180814 11:25:07 server id 1 end_log_pos 126693 CRC32 0x01d826aa Anonymous_GTID last_committed=264 sequence_number=265 rbr_only=yes original_committed..
* 개요alterAt 명령 실행위한 select 중 동일한 오류 계속 발생함. * 로그2018-08-22T05:23:24.996223Z 14 [ERROR] [MY-012611] [InnoDB] InnoDB: Operating system error number 2 in a file operation.2018-08-22T05:23:24.996991Z 14 [ERROR] [MY-012216] [InnoDB] InnoDB: Cannot open datafile for read-only: '.\130514cidogir\fts_0000000000000456_deleted.ibd' OS error: 712018-08-22T05:23:24.999323Z 14 [ERROR] [MY-012155] [InnoDB] Inn..
Fri Jul 06 06:10:05 KST 2018 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set.For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'.You need either to explicitly ..
* 개요- mysql 접속시 serverTimeZone=UTC 로 한 이후시간 컬럼 저장시 오차가 생김( 09시로 저장하면 00시로 저장됨.. UTC 시간으로...) - 한국 시간 UTC+0900 으로 맞추려면?? * 환경우분투 14.04MySQL 5.5 * 방법1 - my.cnf 에 타임존 설정 (실패함) 1. /etc/mysql/my.cnf 에 다음 내용 입력 후 [mysqld]default-time-zone=Asia/Seoul 2. 재시작 sudo /etc/init.d/mysql restart 3. 확인SELECT @@global.time_zone, @@session.time_zone; - 출처 : https://blog.naver.com/wizardkyn/220852348757 *https://d..
*com.mysql.cj.exceptions.InvalidConnectionAttributeException: The server time zone value 'µµÄì Ç¥ÁؽÃ' is unrecognized or represents more than one time zone. You must configure either the server or JDBC * 해결jdbc URL 에 serverTimeZone=UTC 추가 jdbc:mysql://192.168.123.130:3316/dbName?autoReconnect=true&useUnicode=true&characterEncoding=utf8&serverTimezone=UTC - hibernate 라면 hibernate.cfg.xml 과 root-..
https://stackoverflow.com/questions/16459990/sql-error-0-sqlstate-08s01-communications-link-failure?utm_medium=organic&utm_source=google_rich_qa&utm_campaign=google_rich_qa bind_address 0.0.0.0 으로 바꾸면 된댔는데 상관 없었음. 그냥 127.0.0.1 계속 사용중 다른 my.cnf 문제때문에 해매다가 다시 하니 문제없이 잘되는데?
* 개요sudo service mysql start 로 서비스 시작 시켰으나 오류 메시지 보이며 시작되지 않음. start job failed to start * 환경Ubuntu 14.04MySQL 5.5 * 해결안 1) 실패- apt-get purge 로 삭제 후 다시 설치하는 것- 데이터 파일 옮기거나 하지 않았는데 별 차이 없었음.- 참고 : https://askubuntu.com/questions/392438/mysql-job-failed-to-start?utm_medium=organic&utm_source=google_rich_qa&utm_campaign=google_rich_qa * 해결안 2) 성공- 무엇이 잘못됐는지 로그 확인하기 위해 mysqld 실행sudo mysqld 180510 10..