목록MariaDB (9)
잡동사니
안녕하세요. yeTi입니다.오늘은 MariaDB에서 사용자 관리에 필요한 쿼리를 모아보겠습니다. 설치 환경- OS : CentOS release 6.9 (Final)- MariaDB : 10.2.11 1. 사용자 생성하기 CREATE USER '[사용자 계정]'@'[호스트]' IDENTIFIED BY '[비밀번호]'; 호스트에 '%' 사용시 모든이라는 의미 2. 사용자 삭제하기 DROP USER '[사용자 계정]'@'[호스트]'; 호스트에 '%' 사용시 모든이라는 의미 3. 사용자 계정정보 조회하기 SELECT HOST, USER, PASSWORD FROM mysql.user WHERE USER='[사용자 계정]' 4. 권한 조회하기 SHOW GRANTS FOR '[사용자 계정]'@'[호스트]'; 호스트..
안녕하세요. yeTi입니다.오늘은 MariaDB의 InnoDB에서 Auto_Increment 사용시 초기화 될 수 있다는 문제에 대한 의문을 해소해보고자 합니다. 설치 환경- OS : CentOS release 6.9 (Final)- MariaDB : 10.2.11 근래에 웹상에서 MariaDB에서 Auto_Increment를 사용할 시 발생할 수 있는 문제점에 대해 발견했습니다. 내용인 즉슨엔진으로 InnoDB를 사용할 경우 내부적으로 메모리상에 최대값을 저장하고 있기 때문에재시작시 의도한 최대값이 아니라 초기값으로 사용될 수 있다는 것입니다. 이와 관련하여 최신 MariaDB Reference를 확인했고 다음과 같은 내용을 확인했습니다. InnoDB/XtraDBUntil MariaDB 10.2.3, ..
안녕하세요. yeTi입니다.오늘은 Maxscale을 활용하여 MariaDB의 Master-Slave 환경에서 Auto-Failover를 구현하도록 하겠습니다. 설치 환경- OS : CentOS release 6.9 (Final)- MariaDB : 10.2.11 1. RPM을 다운받는다. (https://mariadb.com/downloads/mariadb-tx/maxscale)- wget https://downloads.mariadb.com/MaxScale/2.2.15/centos/7/x86_64/maxscale-2.2.15-1.centos.7.x86_64.rpm- yum install [패키지명] - MariaDB 에서 아래 쿼리 실행GRANT ALL PRIVILEGES ON *.* TO maxsca..
안녕하세요. yeTi입니다.오늘은 MariaDB에서 Master-Slave구조를 설정해보겠습니다. 설치 환경- OS : CentOS release 6.9 (Final)- MariaDB : 10.2.11 1. 각 DB에 사용자 추가(기본적으로 Master서버에만 설정하면되나 Auto-Failover시 누가 Master가 될지 모르기 때문에 동일하게 추가) drop user 'replication_user'@'%';CREATE USER 'replication_user'@'%' IDENTIFIED BY '비밀번호';GRANT REPLICATION SLAVE ON *.* TO 'replication_user'@'%';flush privileges; SELECT host, user, password FROM my..
안녕하세요. yeTi입니다.오늘은 Window기반의 MariaDB에서 변수를 설정하는 방법에 대해서 알아보고자 합니다. 1. MariaDB를 설치한 디렉토리에 가면 my.ini 파일이 존재합니다.저같은 경우에는 D:/mariaDB 네요. 2. 해당 파일을 열면 아래와 같은 내용이 있습니다. [mysqld] datadir=D:/mariaDB [client] 3. mysqld 아래에 다음과 같이 설정값을 추가합니다.[mysqld] datadir=D:/mariaDB innodb_lock_wait_timeout=240 [client] 4. DB를 재부팅합니다. 5. 아래 쿼리로 변경사항을 확인합니다.show variables like '%wait_timeout%'
안녕하세요. yeTi입니다. 오늘은 MariaDB를 사용하면서 발생하는 'SQL ERROR (1044)' 를 해결하는 방법에 대해서 말해보고자 합니다. 제 경우에는 트리거(Trigger)를 지우고자 information_schema 데이터베이스의 TRIGGERS 테이블에 접근하여 데이터를 지우고자 했습니다.하지만 계정에 모든 권한을 다 줬지만 해결이 안됐습니다. 구글링 결과 트리거(Trigger)는 파일에서 직접 지울 수 있다고 하여 트리거를 사용하는 데이터베이스 폴더에 접근하였더니 .TRG, .TRN 확장자를 가진 파일이 존재합니다. 트리거(Trigger) 자체가 필요없어 해당 파일을 지우고 데이터베이스를 재시작하니 TRIGGERS 테이블에 해당 트리거가 없어졌습니다. 참고문헌Stack Overflow..
안녕하세요. yeTi입니다.오늘은 MariaDB에서 발생하는 150 오류를 해결한 방법을 공유해보려고 합니다. 제 경우에는 대상 컬럼과 타겟 컬럼이 모두 VARCHAR 타입이었고 길이도 동일했는데 해당 문제가 발생했습니다. 다른 점을 찾아보니 각 테이블의 기본 조합이 다르게 설정되어있었습니다.대상 테이블은 'latin1_swedish_ci'로 되어있었고 타켓 테이블은 'utf8_general_ci'로 되어있었습니다. 그래서 대상 테이블을 'utf8_general_ci'로 맞춰추고 외래키를 설정했더니 정상적으로 됐습니다.
안녕하세요. yeTi입니다. 오늘은 MariaDB에서 사용할 수 있는 쿼리를 모아보겠습니다. 1. 데이터베이스 내보내기 mysqldump -u[계정] -p[비밀번호] [데이터베이스명] > [저장할 파일명] 2. 데이터 베이스 가져오기 mysql -u[계정] -p < [임포트할 파일명] 3. 로그인하기 mysql -u[계정] -p -h[호스트] 4. 데이터베이스 생성하기 CREATE DATABASE [DB명]; 5. 문자열 나누기SUBSTRING(str,pos), SUBSTRING(str FROM pos), SUBSTRING(str,pos,len),SUBSTRING(str FROM pos FOR len)SUBSTR(str,pos), SUBSTR(str FROM pos), SUBSTR(str,pos,len)..
안녕하세요. yeTi입니다.오늘은 상업적 사용을 위해선 유료 라이센스를 사야하는 Oracle과 MySQL 팀이 나와서 만든 오픈 소스 기반인 MariaDB간 성능 비교 테스트에 대한 결과를 간단하게 기록해 보겠습니다. 테스트 테이블에 데이터 건 수 : 8,827,093 건테스트 쿼리 : SELECT COUNT(*) FROM [테이블명]Oracle 조회 시간 : 23.147초MariaDB 조회 시간 : 236 초 그 밖에 느낀점- 위의 테이블을 기반으로 테스트 결과 3000건 이내로 조회할 경우에는 Oracle과 MariaDB간 성능차가 많이 나진 않았지만 그 이상의 데이터를 조회할 경우에는 체감 성능에서 많은 차이가 났습니다.