최신버전 mariadb root 계정 패스워드 이슈 (Authentication from MariaDB 10.4)

2019-09-03 KENNETH 0

2019년 9월 기준 MariaDB의 최신 버전에서 mysql-root 계정의 패스워드 사용에 대한 이슈(변경점)가 있음 MariaDB 버전 : 10.4 공식안내 : https://mariadb.com/kb/en/library/authentication-from-mariadb-104/   내용중 신경써야 하는 부분 시스템root 계정에서는 더이상 패스워드를 요구하지 않음 user 테이블은 더이상 실제테이블로 존재하지 않음 (없는것은 아니고) mysql.global_priv 테이블의 내용을 기반으로 내용만 보여줌   편리해 진 것 기존 :  mysql -uroot -p 명령어와 패스워드 입력후 mysql콘솔 로그인 변경 : 리눅스 root 계정 상태에서는 패스워드 없이 mysql 명령어 만으로 mysql-root 획득 가능 (물론, root 가 아닌 일반 계정 상태에서는 패스워드를 요구한다)   문제가 되나? ㅇㅇ 문제가 될 수 있다. 특히나 보안같은걸 강조하는 회사(및 환경)에서는 한번이라도 더 인증 과정을 거치길 바라는데 저런 상태가 되어버리면 작업자는 물론 편하지만 바라보는 이는 실눈부터 뜨는 상태가 된다. 그리고 당장 작업자인 나조차도 저런건 싫어… 명시적으로 절차가 있어야 “내가 뭔 계정으로 뭔 일을 해야지” 하는게 생기는거지…   참, 패스워드를 변경하는 방법중 user 테이블을 직접 건드리는 명령을 [ more… ]

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