블로그 이미지
bedbmsguru

Notice

Recent Post

Recent Comment

Recent Trackback

Archive

calendar

1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
  • total
  • today
  • yesterday
2020. 12. 28. 17:11 maridb&mysql

mariadb DDL작업시 Online 가능 여부 확인

 

myinfrabox.tistory.com/61

 

[MySQL][InnoDB] Online DDL

온라인 DDL 기능은 전체 테이블 변경 및 동시 DML을 지원합니다. 이 기능의 장점은 다음과 같습니다. + 몇 분 또는 몇 시간 동안 테이블을 사용할 수 없는 바쁜 생산 환경에서 응답 성과 가용성이

myinfrabox.tistory.com

 

'maridb&mysql' 카테고리의 다른 글

slow query log 설정  (0) 2020.08.21
mysql root 패스워드 분실 대처방법  (0) 2020.07.30
mysql status 확인하기  (0) 2020.07.30
mariabackup 을 이용한 mariadb 백업  (0) 2018.12.12
mariadb 계정, 권한 관련  (0) 2018.10.27
posted by bedbmsguru
2020. 8. 21. 15:49 maridb&mysql

1)상태확인

SHOW VARIABLES LIKE 'slow_query_%';

 

2)디렉토리 생성

mkdir /var/log/mysql

chown mysql:mysql /var/log/mysql

 

3) /etc/my.cnf설정

[mysqld]

slow_query_log = 1

slow_query_log_file = /var/log/mysql/mariadb-slow.log

long_query_time = 5

log_slow_rate_limit = 1

log_slow_verbosity = query_plan

log_slow_admin_statements

→ slow_query_log = 1(사용), 로그파일 위치는 /var/log/mysql/mariadb-slow.log

→ 수행시간이 5초 넘는 쿼리를 수집

 

4)DB 재시작

https://zetawiki.com/wiki/MySQL_%EC%8A%AC%EB%A1%9C%EC%9A%B0_%EC%BF%BC%EB%A6%AC_%EB%A1%9C%EA%B7%B8_%EC%84%A4%EC%A0%95

 

MySQL 슬로우 쿼리 로그 설정 - 제타위키

 

zetawiki.com

 

'maridb&mysql' 카테고리의 다른 글

Online DDL  (0) 2020.12.28
mysql root 패스워드 분실 대처방법  (0) 2020.07.30
mysql status 확인하기  (0) 2020.07.30
mariabackup 을 이용한 mariadb 백업  (0) 2018.12.12
mariadb 계정, 권한 관련  (0) 2018.10.27
posted by bedbmsguru
2020. 7. 30. 10:58 maridb&mysql

아래 링크 참조

 

it77.tistory.com/286

'maridb&mysql' 카테고리의 다른 글

Online DDL  (0) 2020.12.28
slow query log 설정  (0) 2020.08.21
mysql status 확인하기  (0) 2020.07.30
mariabackup 을 이용한 mariadb 백업  (0) 2018.12.12
mariadb 계정, 권한 관련  (0) 2018.10.27
posted by bedbmsguru
2018. 12. 12. 14:16 maridb&mysql

Mariadb 를 10.2.18  --> 10.2.19로 업그레이드를 하고 나니 xtrabackup을 이용한  백업이 


unsupported redo log format. the redo log was created 


라는 에러가 나면서 백업이 되지 않는다 해서 찾아낸게 mariabackup  명령어만 다르고 옵션이나 


사용법은 동일하다.


1. xtrabackup을 사용해서백업 복구

(1) 백업

mariabackup --backup --user=root --password='암호' --target-dir=/usr/dat/zabbix_backup

mariabackup --prepare  --target-dir=/usr/dat/zabbix_backup


(2)복구

rsync -avrP /root/aaa/ /var/lib/mysql/




--SELinux 등록

chcon -Rt mysqld_db_t /var/lib/mysql

chcon -Ru system_u /var/lib/mysql

chown -R mysql:mysql /var/lib/mysql


--권한 등록

sudo chown -cR mysql:mysql /var/lib/mysql/*

sudo chown mysql:mysql /var/lib/mysql


--mariadb 10.2 version에서 old redo log를 이용한 crash recovery 시도를 막기 위해아래 파일들을 지워준다.

rm /var/lib/mysql/ib_logfile*


--시작

sudo systemctl start mariadb



출처: https://mariadb.com/kb/en/library/full-backup-and-restore-with-mariabackup/

'maridb&mysql' 카테고리의 다른 글

mysql root 패스워드 분실 대처방법  (0) 2020.07.30
mysql status 확인하기  (0) 2020.07.30
mariadb 계정, 권한 관련  (0) 2018.10.27
mysql DB관리용 쿼리  (0) 2018.10.26
procedure 생성 템플릿  (0) 2018.10.26
posted by bedbmsguru
2018. 10. 27. 22:50 maridb&mysql


--계정생성
INSERT INTO mysql.user (host,user,password) VALUES('아이피','root',password('신규암호'));
create user '사용자이름'@'localhost' identified by 'xxxxx';

--권한부여
GRANT ALL PRIVILEGES ON *.* TO 'root'@'아이피' WITH GRANT OPTION; #GRANT 권한까지 줄 경우

#PROCEDURE 관련권한
GRANT ALTER ROUTINE, CREATE ROUTINE, EXECUTE ON HWANG_DATA.* TO 'hwang_gw'@'1.1.1.1';

GRANT SELECT ON mysql.proc TO 'monitor_user'@'%';
grant all privileges on MONITOR_RESULT.* to 'monitor_user'@'%';


--권한 시스템 적용
flush privileges;

--패스워드변경
update mysql.user set password=password('암호') where user='';

--백업계정의 권한(pw가 노출되므로 최소한의 권한만 준다.)
GRANT LOCK TABLES, TABLES, RELOAD, REPLICATION, CLIENT, SELECT, SHOW DATABASES, SHOW VIEW ON *.* TO 'backup'


'maridb&mysql' 카테고리의 다른 글

mysql status 확인하기  (0) 2020.07.30
mariabackup 을 이용한 mariadb 백업  (0) 2018.12.12
mysql DB관리용 쿼리  (0) 2018.10.26
procedure 생성 템플릿  (0) 2018.10.26
Function 템플릿  (0) 2018.10.26
posted by bedbmsguru
2018. 10. 26. 21:48 maridb&mysql

mysql> show variables; 서버의 variables(설정사항)출력
mysql> show variables like 'have_inno%' 조건에 맞는 variables만 출력
mysql> show databases; database목록
mysql> show tables; 현재DB의 테이블목록(temporary table은 출력하지 않음)
mysql> show tables from db명; 지정된 db명이 소유한 테이블목록
mysql> show tables like 'mem%'; 조건에 맞는 테이블목록만 출력
mysql> show index from 테이블명; 인덱스 보기
mysql> show columns from 테이블명; 테이블구조(describe 테이블명, explain 테이블명)
mysql> show table status; 현재 DB의 테이블들의 상태(row수,table type,row길이,..)
mysql> show table status from db명; 지정된 DB의 테이블들의 상태(row수,table type,row길이,..)
mysql> show create table 테이블명; 해당 테이블 생성 SQL문 출력
mysql> rename table 테이블1 to 테이블2; 테이블명 변경(ALTER TABLE 테이블1 RENAME TO 테이블2)
mysql> rename table 테이블1 to 테이블2, 테이블3 to 테이블4; rename multiple tables
mysql> rename table db1명.테이블명 to db2명.테이블명; 테이블을 다른 DB로 이동
mysql> alter table 테이블명 add 컬럼명 데이터타입; 컬럼추가
mysql> alter table 테이블명 del 컬럼명; 컬럼제거
mysql> alter table 테이블명 modify 컬럼명 컬럼타입; 컬럼명에 지정된 컬럼타입의 변경
mysql> alter table 테이블명 change old컬럼명 new컬럼명 컬럼타입 컬럼명 변경
mysql> alter table 테이블명 type=innodb; 테이블type변경
mysql> create table 테이블명(..) type=heap min_rows=10000; 10000row를 수용할 수 있을 만큼 메모리할당(heap type이므로)
mysql> select version(); MySQL서버버전 출력
mysql> create table 테이블2 as select * from 테이블1; 테이블1과 동일한 테이블 생성(with 데이터, as는 생략가능)
mysql> create table 테이블2 as select * from 테이블1 where 1=2; 테이블1과 동일한 구조의 테이블 생성(without 데이터, 1=2는 0으로 할수도 있다.)
mysql> insert into 테이블2 select * from 테이블1; 테이블1의 데이터를 테이블2에 insert

'maridb&mysql' 카테고리의 다른 글

mariabackup 을 이용한 mariadb 백업  (0) 2018.12.12
mariadb 계정, 권한 관련  (0) 2018.10.27
procedure 생성 템플릿  (0) 2018.10.26
Function 템플릿  (0) 2018.10.26
Foreign key 정보조회 및 삭제  (0) 2018.10.26
posted by bedbmsguru
2018. 10. 26. 21:40 maridb&mysql

DELIMITER $$
drop procedure if exists usp_process_vmware_hostinfo $$
CREATE  PROCEDURE `usp_process_vmware_hostinfo`(
)
BEGIN
     #에러가 생기면 무시하라는 코드
DECLARE EXIT HANDLER FOR SQLEXCEPTION, SQLWARNING
BEGIN
ROLLBACK;
END;

#여기에코드를 입력
END
$$
DELIMITER ;

'maridb&mysql' 카테고리의 다른 글

mariadb 계정, 권한 관련  (0) 2018.10.27
mysql DB관리용 쿼리  (0) 2018.10.26
Function 템플릿  (0) 2018.10.26
Foreign key 정보조회 및 삭제  (0) 2018.10.26
mariadb (mysql)백업  (0) 2018.10.26
posted by bedbmsguru
2018. 10. 26. 21:40 maridb&mysql

delimiter $$
DROP FUNCTION IF EXISTS getVMwareIPAddress$$
CREATE FUNCTION `getVMwareIPAddress`(
`p_guest_id` int
)
RETURNS varchar(500)

BEGIN
DECLARE done INT DEFAULT FALSE;
DECLARE temp_ip_address varchar (500);
DECLARE result_ip_string varchar (500);



END
$$
delimiter ;

'maridb&mysql' 카테고리의 다른 글

mysql DB관리용 쿼리  (0) 2018.10.26
procedure 생성 템플릿  (0) 2018.10.26
Foreign key 정보조회 및 삭제  (0) 2018.10.26
mariadb (mysql)백업  (0) 2018.10.26
mariadb 설치  (0) 2017.12.26
posted by bedbmsguru
2018. 10. 26. 21:39 maridb&mysql

모든 테이블의 FOREIGN KEY 정보 조회
SELECT constraint_name, table_name, referenced_table_name FROM information_schema.REFERENTIAL_CONSTRAINTS

FOREIGN KEY 정보 삭제
ALTER TABLE 테이블이름 DROP FOREIGN KEY 제약조건이름

'maridb&mysql' 카테고리의 다른 글

procedure 생성 템플릿  (0) 2018.10.26
Function 템플릿  (0) 2018.10.26
mariadb (mysql)백업  (0) 2018.10.26
mariadb 설치  (0) 2017.12.26
innobackupex dependency 오류 해결  (0) 2017.12.21
posted by bedbmsguru