MySQL Replication(복제) - 양방향 이중화하기 지난 포스팅에서는 리플리케이션(Replication)에 대해서 알아보았는데요리플리케이션(Replication)에서 Master서버 -> Slave서버로만 알아보았으며, 이번에는 Slave서버 -> Master서버도 구현하여 양방향으로 Replication이 가능토록 해보겠습니다 MySQL Replication 양방향 구성하기 1. MySQL Replication 단방향 구성 지난 포스팅에서는 단방향으로 구성하였기때문에 Master 서버에서 Insert/Update/Delete 쿼리를 Slave 서버에서는 Select 쿼리로 진행하였습니다 2. MySQL Replication 양방향 구성 이번에는 양방향으로 구성하여 위 그림 처럼 Slave 서버..
MySQL Replication을 이용하여 DBMS 단방향 이중화하기 웹서버 부하로 인해 L4를 이용하여 로드밸런싱으로 웹서버의 부하를 해결하였지만, DB 서버의 부하로 인하여 사이트가 느리게 열리는 현상이 발생하게 되었습니다 DB 서버를 이중화하는 방법은 없을까 하여 찾아보니 MySQL의 리플리케이션이라는 기능이 있더군요 이 기능을 이용하면 DB를 이중화 할 수 있는다는 것을 알게 되었습니다 이번 포스팅에서는 MySQL의 리플리케이션은 무엇이고, 리플리케이션을 이용한 DB를 이중화하는 방법을 알아보도록 하겠습니다. MySQL Replication(복제)란? 리플리케이션(Replication)은 복제를 뜻하며 2대 이상의 DBMS를 나눠서 데이터를 저장하는 방식이며, 사용하기 위한 최소 구성은 Maste..
MySQL 상태 확인 MySQL 상태 확인MySQL를 사용하다보면 서버상태를 확인해야될 때가 있습니다.MySQL 설정정보, 커넥션 등등 확인할때 꼭 필요한 명령어를 알아보겠습니다. MySQL 상태 확인 [MySQL 현제 상태 확인]mysql> show status; [MySQL 설정환경변수와 값 확인]mysql> show variables; [MySQL 최대 동시 접속 가능 수 확인]mysql> show variables like '%max_connection%'; +-----------------+-------+ | Variable_name | Value | +-----------------+-------+ | max_connections | 100 | +-----------------+-------+..
MySQL DB생성, 사용자추가, 권한부여 이번에는 MySQL의 DB생성, 사용자추가 권한설정하는 부분 포스팅하겠습니다. MySQL DB 생성 MySQL 접속[root@web ~]# mysql -u root -p Enter password: Mysql DB utf-8 생성mysql> create database testDB default character set utf8; Query OK, 1 row affected (0.01 sec) 한글 깨짐을 방지하기 위해 utf8로 생성합니다.보통 UTF-8로 많이 하는추세로 UTF-8로 생성하시기 바랍니다. MySQL 사용자 추가 사용자 계정 설정- create user 사용할계정@'%' identified by '사용할 비밀번호';mysql> create us..
MySQL 부하체크 - Slow Query(슬로우 쿼리) Slow Query(슬로우쿼리)Slow Query(슬로우쿼리)는 지정한 시간보도 실행하는데 오래걸리는 쿼리에 대한 log를 것입니다특정 작업이 오래 걸린다면 로그를 통해 원인을 파악할 수 있겠습니다.또한 대량이 데이터를 조회하거나 잘못된 인덱스 사용으로 인한 장시간 MySQL 프로세스가 물리는 현상이 발생 할 경우 어떤 쿼리문에 이런 현상을 발생 하였느냐에 대해서 분석시 Slow Query를 사용하면 부하가 증가되는 쿼리를 찾을 수 있을꺼라고 생각됩니다. MySQL Slow Query 설정방법 MySQL 설정파일 Slow Query 설정 MySQL my.cnf 설정 [root@web ~]# vi my.cnf [mysqld] log_slow_quer..
mysql 기본 명령어 이번에는 리눅스에서 MYSQL 명령어를 포스팅하겠습니다. 데이터베이스 언어의 3가지 종류와 형태1. DDL(Data Define Language) : 데이터베이스 관리(crete, alter, drop)2. DML(Data Management Language) : 데이터베이스 데이터관리(select, insert, update, delete)3. DCL(Data Control Language) : 데이터베이스 권한 관리(grant, revoke) MYSQL 실행, 접속, 비밀번호 변경 리눅스에서 MYSQL 명령어를 사용하기전에 MYSQL이 실행중인지 확인한 후 실행중이 아니라면 실행 시켜 줍니다. MySQL 실행하기 [root@web ~]# /etc/init.d/mysqld sta..
분실한 mysql 관리자(root)계정 비밀번호 재설정하기 mysql을 설치할때 databases root(관리자)계정의 비밀번호를 설정한다 하지만 오랜시간이 흘러 관리자 계정을 분실하게 되었을때 재설정하는 방법을 알아복겠습니다. 분실한 mysql root계정 password 재설정하기 mysql 데몬 중지 service mysqld stop mysql password를 검사하지 않도록 mysql 환경설정 파일을 수정 [mysqld] # # * Basic Settings # user = mysql pid-file = /var/run/mysqld/mysqld.pid socket = /var/run/mysqld/mysqld.sock port = 3306 basedir = /usr datadir = /var/..
mysql 백업, 복원 (DB, Table 백업, 복원) 데이터베이스 관리자와 개발자들은 정기적인 데이터 백업의 중요성을 잘 알것입니다. 만약 디스크나 서버가 고장날 경우 백업을 미리 해 두었는지 여부는 몇년치 업무결과를 잃어버리느냐 아니면 몇시간만에 정상으로 복귀 하느냐를 결정합니다. 데이터베이스 DB, 계정정보 DB Name : test_db 테이블 : test_table 사용자 계정 : test_user DB 접속계정 패스워드 : 123456 MYSQL DB 백업하기 1. 사용옵션 # mysqldump -u [사용자 계정] -p [패스워드] [원본 데이터베이스명] > [생성할 백업 DB명].sql 2. 사용방법 # mysqldump -u test_user -p test_db > backup_test..
MySQL 로그 파일 관리 MySQL 로그 소개 MySQL은 일반적으로 3종류의 로그가 있습니다. 1) 에러로그 - MySQL 구동과 모니터링, 쿼리(Query) 에러에 관련된 메시지를 포함해서 표시됩니다. 2) General 로그 - MySQL에서 실행되는 전체쿼리에 대해서 General 로그를 활성화 시켜서 저장이 가능하며, General 로그를 활성화시키면 MySQL이 쿼리 요청을 받을때 곧 바로 General 로그에 기록됩니다. 3) UPDATE 로그 UPDAE 로그는 테이블이 변경될때마다 해당 쿼리가 기록됩니다. MySQL 로그관리 MySQL의 사용량이 많은 사이트는 로그파일이 많이 쌓이므로 디스크에 용량에 문제가 생길수 있으니 서버관리자는 수시로 점검하여 삭제해주셔야 됩니다. MySQL 로그 ..
MYSQL이란? MYSQL이란? MYSQL은 전세계적으로 가장 널리 사용되고 있는 오픈 소스 데이터베이스이며, MySQL AB사가 개발하여 배포/판매하고 있는 데이터베이스(DataBase)이다.표준 데이터베이스 질의 언어 SQL(Structured Query Language)을 사용하는 개방 소스의 관계형 데이터베이스 관리 관리시스템(RDBMS), 매우 빠르고, 유연하며, 사용하기 쉬운 특징이 있다.다중사용자, 다중 쓰레드를 지원하고, C, C++, Eiffel, 자바, 펄, PHP, Pyton 스크립트 등을 위한 응용프로그램 인터페이스(API)를 제공한다.유닉스나 리눅스, Windows 운영체제 등에서 사용할 수 있다.LAPM 즉 리눅스 운영체제와 Apahe 서버 프로그램, MySQL, PHP 스크립트..