본문 바로가기

반응형

MariaDB

참조키 추가시 에러 ([HY000][1025] Error on rename of ... errno: 168 "Unknown (generic) error from engine" ) MariaDB Ver : 10.6 마리아디비에서 컬럼을 추가하며 참조키(Foreign Key) 관계를 생성할때 ([HY000][1025] Error on rename of ... errno: 168 "Unknown (generic) error from engine" ) 같은 형태로 에러를 뱉으며 튕긴다. 개인적인 경험이지만 마리아디비 10.6 이상부터 발생했던 에러같다. 더 자세한 사유를... 찾아보려 했지만.. 일단 이렇게 해결함. SET FOREIGN_KEY_CHECKS = 0; ALTER TABLE EX_DATA ADD CONSTRAINT R_101 FOREIGN KEY EX_DATA_NUM REFERENCES EX_MASTER_DATA (EX_DATA_NUM); SET FOREIGN_KEY_CHE.. 더보기
[MariaDB/MySQL] 데이터베이스 생성 자주 쓰는 명령어다 보니 타이핑도 싫고, 실 작업은 터미널에서 이루어지는 경우가 많아 정리한다. 데이터베이스 생성 데이터베이스 생성시에는 일반적으로 다음과 같은 구문을 사용하게 된다. 이어서 바로 요약하자면 CREATE DATABASE 데이터베이스명 CHARACTER SET utf8mb4 collate utf8mb4_general_ci; USE 데이터베이스명; "CREATE DATABASE" 까지 보면 그동안의 패턴과 비슷하지만 "utf8mb4" 에 주목해보자면 .. 설명이 너무 많아서 그냥 쉽게 그러려니 식으로 넘어가보면 이모지(Emoji) 같은 데이터를 저장하고자 하면 하자. ㅋㅋ 😀 이런것처럼 ㅎㅎ 그래서 현재는 모든 데이터베이스 생성시에는 그냥 utf8mb4 로 생성하고 있다. 자세한 설명은 이 .. 더보기
MariaDB : 계정생성/삭제/권한 # Change Database (mysql) USE mysql; # Select User SELECT Host, User, Passsword FROM user; # Create CREATE USER '계정'@'localhost' IDENTIFIED BY '비밀번호'; CREATE USER '계정'@'%' IDENTIFIED BY '비밀번호'; # Drop DROP USER '계정'@'호스트'; # Grant GRANT ALL PRIVILEGES ON 데이터베이스.* TO '계정'@'%'; # Refresh FLUSH PRIVILEGES; 더보기
MariaDB/MySQL : 데이터베이스 백업 및 복원 (Dump) 자세한 내용 및 옵션을 꼭 한번씩은 확인해보는게 좋을 것 같다. 버전별 차이(MariaDB)도 있는 것 같다. [링크] 일단 지속적으로 다음구문으로 사용하니 서비스를 개발/운영하는데 큰 지장이 없었던 것 같다. 백업 (Dump) # 먼저 일반적으로 데이터베이스 백업 (저장프로시저 및 함수 포함) mysqldump -u [USER] --routines [DATABASE NAME] -p > [FILE NAME].sql # 위와 같은 조건을 수행하되 DROP TABLE 은 제외하고 mysqldump -u [USER] --routines --skip-add-drop-table [DATABASE NAME] -p > [FILE NAME].sql 위와 같은 식으로 두번의 백업 스크립트를 수행한다. 일전에 DROP T.. 더보기
MariaDB : root 계정 비밀번호 설정 현재 사용하는 마리아디비는 10.6 stable. root 계정 비밀번호를 설정하려니 에러가 발생. ERROR 1356 (HY000): View 'mysql.user' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them 마리아디비 공식 웹사이트에서 보면 다음과 같이 나옵니다. [링크] 10.4+ 부터는 View 로 제공하는 것 같다. MariaDB 10.4+ 이상으로는 기존에 UPDATE 쿼리를 수행하는 형태로 비밀번호 설정을 하지 않는것 같다. 하여 다음과 같이 명령문을 작성해서 실행합니다. SET PASSWORD FOR 'bob'@'%.loc.gov' = PASS.. 더보기
ER-WIN 설정 ERWIN 으로 데이터베이스 모델링을 할때 필요로 했던 설정이다. 1. 표기방식 Menu > Model > Model Properties IE (Information Engineering) : 정보공학표기방식. 일반적으로 제일 많이 사용 IDEF1X (Integration DEFinition for Information Modeling) : 미 국박성 프로젝트 표준한 표기방식 일반적으로 IE 표기방식을 제일 많이 사용한다. 2. Model Naming Options Menu > Tools > Names > Model Naming Option 기본적으로 위 Name Mapping 탭에 매크로 설정은 꼭하고 시작하자. 아래는 그 동안의 구글링을 통해 지금까지 꾸준히 설정하여 사용하고 있는 설정이다. 오브젝트.. 더보기
[TroubleShooting] Job for mariadb.service failed because the control process exited with error code. See "systemctl status mariadb.service" and "journalctl -xe" for details. CentOS 기준 Error MessagesJob for mariadb.service failed because the control process exited with error code. See "systemctl status mariadb.service" and "journalctl -xe" for details.Aria engine is not enabled or did not start. The Aria engine must be enabled to continue as mysqld was configured with --with-aria-tmp-tables위 에러 내용중 하나가 발생하면서, MariaDB 가 기동이 안된다면 다음과 같이 처리한다. $ systemctl status mariadb.. 더보기
Table '$TABLE_NAME' is specified twice, both as a target for 'UPDATE' and as a separate source for data 쓰면서 처음 보는 에러 발생;;; UPDATE 시에 대상 테이블의 값을 대상 테이블에서 직접 접근하여 조회하여 조건에 사용했을 경우 에러 발생.UPDATE 에서만 발생하는지는 모르겠음. 정리된 내용은 이러함.SELECT * FROM `TABLE` WHERE ID = 'JKUN.NET' AND IDX = ( SELECT MAX_IDX FROM (SELECT MAX(IDX) AS MAX_IDX FROM `TABLE` WHERE ID = 'JKUN.NET') ) _dummy ) 더보기

반응형