본문 바로가기
반응형

mariadb27

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.
[MariaDB] ERROR 1118 (42000) Row Size 오류 MariaDB 사용 중 테이블의 Row 총 Byte가 8126 Byte를 초과할 경우 오류가 발생하였다. Oracle에서는 볼 수 없었던 Mysql/MariaDB만의 특이한 내용이다. ERROR 1118 (42000) at line 47930: Row size too large (> 8126). Changing some columns to TEXT or BLOB may help. In current row format, BLOB prefix of 0 bytes is stored inline 한 테이블 Row에 사용 가능한 총 Byte는 8126 Byte를 초과할 경우 오류가 발생하며, Row 합산에서는 Oracle의 CLOB과 유사한 BLOB, TEXT 유형은 별도 영역에 저장되므로 그 외 컬럼들의 By.. 2021. 12. 30.
반응형