목록mysql&mariadb (26)
전산쟁이의 기억노트
사전사항 Centos6버전에서 사용할 수 있는 Mariadb는 Mariadb 10.5.16버전이 사용할 수 있는 최고 높은 버전(이후 버전은 glibc버전에 종속되어서 설치가 안됨) Cnetos7 / Rocky8버전에서는 Mariadb 10.6, 10.7버전 설치 가능 (OS교체까지 이루어지는 경우, 10.6이상으로 설치 / 운영하면 됨), 다만 업그레이드 plan은 Mariadb + Galera Cluster + Keepalived 구조가 아닌 Mariadb + Replication + Mysql-MMM 구조로 유지 Mariadb 10.0버전에서 gtid값에 slave pos를 저장하는 기능이 추가되었는데, gtid값을 이용해 리플리케이션 슬레이브모드에서 에러가 발생해도 sync할수 있도록 위치를 저장..
패키지 설치 DB이중화 구성 DB 모니터링을 위한 스크립트 설치 $> vi /etc/init.d/db_check #!/bin/bash case "$1" in "start") echo "start" ;; "stop") echo "stop" ;; "status") mysql --connect-timeout 2 -u monitor -p'모니터 계정패스워드' -h localhost -Nse 'select now()' result_code=$? if [[ $result_code -eq 1 ]] then echo "[$(date +%Y-%m-%d-%H:%M:%S)] DB Connection Error" >> /var/log/db_check pcs resource move DB_GROUP {{ 상대방IP }} fi ..
mysql 프로세스 상태를 볼수 있는 유틸리티 mytop를 설치가이드 요구사항: Perl, DBI, DBD Mysql Module, Term::ReadKey mytop은 기본적으로 show status와 show processlist를 CLI로 보여주는 프로그램입니다. 설치방법 패키지 설치 dependency(DBI) 패키지 설치 $> tar xvzf DBI-1.37.tar.gz $> cd DBI-1.37 $> perl Makefile.PL $> make; make install dependency(DBD-Mysql) 패키지 설치 $> tar xvzf DBD-Mysql-2.9003.tar.gz $> cd DBD-Mysql-2.9003 $> perl Makefile.PL $> make; make insta..
mysqlcheck 유틸리티 사용법(analyze, optimize, repair) mysqlcheck 유틸리티 사용법 cost 베이스 DB에서 DB전체를 한번에 analyze, optimize, repair 하기 위한 유틸리티 입니다. 파일위치 : mysql/bin ---------------------------------------------------- 전체 체크 및 자동 복구 mysqlcheck -Aa --auto-repair -u root -p mysqlcheck -Ao --auto-repair -u root -p ---------------------------------------------------- -A, --all-databases -a, --analyze -o, --optimize..
mysql에서 binlog 삭제하는 방법 특정날짜 이후의 로그값 삭제 mysql> "PURGE MASTER LOGS BEFORE DATE_SUB(CURRENT_DATE, INTERVAL 30 DAY)" 특정 binlog 삭제 mysql> PURGE BINARY LOGS TO 'mysql-bin.000015'; 출처 - http://igoni.kr/books/dbms/page/mysql-binlog/ Redirecting to http://igoni.kr igoni.kr
mysql에 utf8로 강제 설정 $> cat /etc/my.cnf ... [client] default-character-set = utf8 ... [mysqld] init_connect = SET collation_connection = utf8_general_ci init_connect = SET NAMES utf8 default-character-set = utf8 character-set-server = utf8 collation-server = utf8_general_ci ... [mysqldump] default-character-set = utf8 ... 출처 - http://igoni.kr/books/dbms/page/mysql-utf8 mysql utf8설정 | igoni.kr mysq..
Mysql 서비스 종료 $> killall mysqld Mysql 옵션 적용하여 재시작 /usr/local/mysql/bin/mysqld_safe ~-~-skip-grant-tables & Mysql root 사용자 로그인 $> /usr/local/mysql/bin/mysql -u root mysql * 정상적으로 수행될 경우 콘솔화면이 "mysql>" 으로 변경될 것입니다. root 패스워드 재지정 (Mysql 5.7이하 버전에서 사용하세요.) mysql> update user set password=password('변경할패스워드입력') where user = 'root'; mysql> flush privileges; mysql> quit; 지정한 패스워드 입력하여 mysql 로그인 /usr/loca..
5.5부터는 innodb를 기본엔진으로 사용하기 때문에, Myisam을 사용할 경우, 테이블 구성시 엔진타입을 따로 기재해 주어야 함. Master1 : 192.168.20.11 Master2 : 192.168.20.12 Mysql replication 구성하기(Dual Master) Master1 my.cnf파일 수정 /etc/my.cnf파일에 해당 내용 추가하기 $> vi /etc/my.cnf server-id = 1 binlog-do-db=wordpress (리플리케이션 사용할 DB명, 여러개의 DB일 경우, 한칸씩 띄우면 됨. wordpress mysql, 전체 DB를 복제할경우엔는 따로 설정하지않아도 됨) Master2 /etc/my.cnf파일에 내용 변경 $> vi /etc/my.cnf ser..
Mysql 4버전은 innodb가 기본포함이지만, 5.1버전은 컴파일시 옵션을 넣어야 함. $> ./configure --prefix=/usr/local/mysql \ --with-extra-charsets=all \ --with-readline \ --with-plugins=max \ --with-charset=utf8 \ --with-innodb (혹은 --with-plugins=innobase) 설치 끝나고 innodb 포함 여부 확인은 mysql 접속해서 쿼리 날리면 됨 mysql> show variables like 'have_innodb'; +—————+——-+ | Variable_name | Value | +—————+——-+ | have_innodb | YES | +—————+——-+ 1 ..
mysql 데이터 이전(재설치 이후) root로 로그인하여 쿼리 작업이 다른 쿼리는 정상적으로 적용되는데, grant구문 실행하면 access denied 처리될때, 요롷게..??? mysql> grant all privileges on *.* to 'root'@'1.2.3.4' identified by '123123' with grant option; ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) 구글링결과.. 데이터 이전 작업 중 먼가 호환이 안되었던 모양. 다음과같이 mysqlupgrade를 실행했다. $> mysql_upgrade -u root -p Enter password: … 이하 화면 생략..