CMake error for mysql-8.0.15 “Please do not build in-source.”

2019-02-19 KENNETH 0

환경OS : CentOS-7 (별 의미는 없음)cmake-3.12.4mysql-8.0.15 에러메세지컴파일 작업중 갑자기 아래와 같은 에러메세지 출력 CMake Error at CMakeLists.txt:283 (MESSAGE): Please do not build in-source. Out-of source builds are highly recommended: you can have multiple builds for the same source, and there is an easy way to do cleanup, simply remove the build directory (note that ‘make clean’ or ‘make distclean’ does not work) You can force in-source build by invoking cmake with -DFORCE_INSOURCE_BUILD=1 — Configuring incomplete, errors occurred! 해결 1. 기존cd mysql-8.0.15cmake \ -DCMAKE_INSTALL_PREFIX…. (이하 생략) 2. 변경cd mysql-8.0.15rm -f CMakeCache.txtmkdir choilha01cd choilha01cmake \.. \-DCMAKE_INSTALL_PREFIX…. (이하 생략) 즉, 소스 디렉토리 내에 build 를 위한 디렉토리를 추가 생성하고(옵션에서 생성하는 디렉토리(choilha01) – “디렉토리 이름은 자유롭게 가능”)그 하단에서 작업을 진행하도록 “(강제)권고” 되어 버렸다.8.0.14 부터인지… 8.0.15 부터인지 찾아보지는 않았다.초기 8.0 버전은 아니었다는것… 조금 귀챦기는 하지만…컴파일 옵션에 대한 변경을 많이 줘(봐)야 하거나궁금한 사람들이 테스트를 하기 위해서는 [ more… ]

mysql 프로세스 리스트 확인 (mysql show processlist VS show full processlist)

2019-01-28 KENNETH 0

mysql 에서 기본적으로 지원하는 processlist 를 사용하다가너무나도 뒤늦게 깨닳은 바가 있기에… 세상에 이걸 이렇게 모르고 살 수 있었던가 싶기도 하네… 출처https://dev.mysql.com/doc/refman/8.0/en/show-processlist.html 보통 프로세스 목록을 확인하는 경우mysql> show processlist;로 확인 하며 결과는 ———+—————–+———–+——————–+———+———+————————+——————+| Id | User | Host | db | Command | Time | State | Info |+———+—————–+———–+——————–+———+———+————————+——————+| 4 | event_scheduler | localhost | | Daemon | 3937394 | Waiting on empty queue | || 1566520 | root | localhost | test_db | Sleep | 702 | | || 1568887 | root | localhost | | Query | 0 | starting | show processlist |+———+—————–+———–+——————–+———+———+————————+——————+ 이러한 형태로 출력되며실제 수행되는 SQL은 “Info” 필드에 표시된다. 허나 SQL문이 장문일 경우 뒤가 잘리게 되는데보다 정확하게 확인하기 위해서는 다른 tool 을 사용했었던것…. 그런데 mysql 레퍼런스를 확인해보니 13.7.6.29 SHOW PROCESSLIST Syntax SHOW [FULL] PROCESSLIST SHOW PROCESSLIST shows which threads are running. If you have the PROCESS [ more… ]

mysqld_safe error: log-error set to however file don’t exists on compiled mysql8.0

2018-08-20 KENNETH 0

환경 OS : CentOS7 DB : mysql-8.0.11, mysql-8.0.12 (8.0.11 이전에도 문제가 있었는지는 모르지만 아마 있을듯)   문제점 mysql  실행시 아래와 같은 메세지와 함께 실행 불가 # mysql.server start Starting MySQL.2018-08-20T04:33:38.742995Z mysqld_safe error: log-error set to ‘/var/log/mysql/mysql_error.log’, however file don’t exists. Create writable for user ‘mysql’. The server quit without updating PID file (/var/lib/mysql/myserver.pid).   원인 보통의 원인이라면 로그가 쌓여야 하는 위치(예제 : /var/log/mysql)가 존재하지 않을 경우 로그가 쌓여야 하는 위치의 권한이 mysql 유저가 “쓰기(write)” 가능하지 않을 경우   여야 하지만.. 현재 시스템의 상황은 이런 문제가 있지 않음… my.cnf 설정중 log_error 옵션을 손대지 않고 그대로 실행했을 경우는 문제가 없지만 log_error=/var/log/mysql/mysql_error.log 등으로 기본값이 아닌 “수정”이 이루어졌을 경우에 발생 하고 있음   해결 touch /var/log/mysql/mysql_error.log chown mysql.mysql /var/log/mysql/mysql_error.log 이렇게 생성 & 권한부여 를 해주면 정상 구동이 됨… 듣는 사람은 당연히 황당 하겠지만… 지금 이 결과가 mysql-8.0.11, mysql-8.0.12 를 소스컴파일 설치 했을 때 발생 [ more… ]

Difference between MySQL Connector/J 5.1 and MySQL Connector/J 8.0

2018-08-01 KENNETH 0

Difference between MySQL Connector/J 5.1 and MySQL Connector/J 8.0   Summary of Connector/J Versions Connector/J version JDBC version MySQL Server version JRE Supported JDK Required for Compilation Status 8.0 4.2 5.5, 5.6, 5.7, 8.0 1.8.x 1.8.x General availability. Recommended version. 5.1 3.0, 4.0, 4.1, 4.2 5.5, 5.6*, 5.7*, 8.0* 1.5.x, 1.6.x, 1.7.x, 1.8.x* 1.5.x and 1.8.x General availability   Difference ClassName MySQL Connector/J 5.1 package name : java.sql (java.sql.*) class name : com.mysql.jdbc.Driver MySQL Connector/J 8.0 package name : java.sql (java.sql.*) class name : com.mysql.cj.jdbc.Driver    

Host ‘::1’ is not allowed to connect on mysql8 with telnet

2018-08-01 KENNETH 0

발단 확인을 위해 무심코 실행한 명령어…. # telnet localhost 3306 # telnet 127.0.0.1 3306 (위에것이 안되서 혹시나 하고)     에러메세지 # telnet localhost 3306 Trying ::1… Connected to localhost. Escape character is ‘^]’. <Host ‘::1’ is not allowed to connect to this MySQL serverConnection closed by foreign host.     사용환경 OS : CentOS7 MySQL : 8.0 원래 mariadb, mysql-5.7 등등등을 계속 변경 하면서 돌리다가 최근 업데이트 함 mysql -uroot -p dbname 또는 mysql -hlocalhost -uroot -p dbname 등으로 정상 접근 되고… 실제로 동일한 서버내에 WEB+DB가 같이 작동하며… dbhost = localhost port = 3306 형태의 설정으로 문제없이 사용중인데… ㄷ ㄷ ㄷ ㄷ     원인 세상에.. 이게 원인이.. 대체… skip_name_resolve 때문 이라니!!!!!! 참고로 mariadb-10.2, mysql-5.7 까지는 저 옵션이 활성화 된 상황에서도 telnet localhost 3306 명령에 이슈가 발생하지는 않았었다.     해결 skip_name_resolve 옵션을 해제….     고찰 “지금 이 [ more… ]