본문 바로가기
반응형

MySQL19

RHEL 8.x MariaDB 바이너리 설치 시 ncurses 라이브러리 필요 RHEL 8.x MariaDB 바이너리 설치 시 ncurses 라이브러리 필요 RedHat 8.x 버전에 MariaDB 바이너리 버전을 설치할 경우 ncurses 라이브러리가 필요하다. ncurses 라이브러리가 없는 경우 설치 후 실행에는 문제가 없지만, mysql 명령어로 접속할 때 오류가 발생하면서 접속이 불가능하다. 발생 오류: "error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory" RHEL 7.x에서는 발생하지 않았지만 RHEL 8.x에서는 해당 라이브러리를 찾는 문제가 있었다. yum명령어를 통하여 설치하면 정상적으로 동작한다. $sudo yum.. 2022. 8. 11.
MySQL ERROR 1231 "NO_AUTO_CREATE_USER" MariaDB 10.7에서 덤프 받은 파일을 MySQL 8.0로 데이터를 넣을 필요가 발생했다. (클라우드 RDS가 MySQL만 지원하기 때문에) 데이터는 별문제 없이 들어갔는데, 함수가 만들어지는 시점에 "NO_AUTO_CREATE_USER" 오류가 발생했다. "ERROR 1231 (42000) at line 24029: Variable 'sql_mode' can't be set to the value of 'NO_AUTO_CREATE_USER'" 덤프 파일 내부에 확인하였더니 sql_mode에 "NO_AUTO_CREATE_USER" 문장이 존재하였다. MySQL 8.0에는 "NO_AUTO_CREATE_USER" 옵션이 없다. "/*!50003 SET sql_mode = 'STRICT_TRANS_TAB.. 2022. 4. 6.
MySQL/MariaDB SQL_MODE 설정 SQL_MODE 오라클에 비해 Mysql/MariaDB의 경우 문법이 틀려도 암묵적으로 처리해주는 것 때문에 개발할 때 오류는 발생하지 않았지만 추후에 문제가 발생하는 경우가 많았다. 오류를 최대한 줄이고자 SQL_MODE를 설정하여 사용하였다. sql_mode="ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,PIPES_AS_CONCAT" Options ERROR_FOR_DIVISION_BY_ZERO: 활성화 시 MOD(N, 0) 0으로 나눌 경우 NULL값이 되며, 경고 발생, 활성화되지 않은 경우 NULL 값 생성, 비 활성화 시 경고 미.. 2022. 4. 6.
MariaDB 덤프 생성 definer 제거 마리아 DB/MySQL 덤프를 생성하면 사용자 객체에 DEFINER가 함께 붙어서 덤프 파일이 생성됩니다. DEFINER이 없다면 접속한 사용자의 객체로 생성이 되지만, 덤프를 통한 다른 계정으로 생성이 필요한 경우에는 오라클처럼 remap과 같은 새로 매핑하는 것이 없다 보니 데이터 덤프 파일을 입력할 때 많은 오류가 발생합니다. 파이프라인을 통한 제거 덤프 파일을 만들 때 파이프라인을 이용하여 DEFINER문장을 제거하여 덤프 파일을 생성, 계정에 신경 쓰지 않고 범용적으로 사용이 가능합니다. ./mysqldump \ -u user \ -ppassword \ --single-transaction \ --routines \ --triggers \ --databases database \ --compre.. 2022. 3. 21.
반응형