우분투 16.04 에서 MySQL 5.7.13 DATA 디렉토리 변경

리눅스/MySQL|2016. 9. 2. 12:46
반응형

MySQL 설치시 기본 DATA 디렉토리 /var/lib/mysql 을 /DATA/mysql 로 변경하려고 합니다.

/var/lib/ 디렉토리에 mysql, mysql-files, mysql-keyring 디렉토리를 /DATA/ 아래로 옮기고(복사),

설정파일 두 개만 수정하면 됩니다. 변경할 부분은 아래와 같습니다.



# vi /etc/mysql/mysql.conf.d/mysqld.cnf


(생략)


datadir         = /DATA/mysql


(생략) 



# vi /etc/apparmor.d/usr.sbin.mysqld


(생략)


# Allow data dir access

  /DATA/mysql/ r,

  /DATA/mysql/** rwk,


# Allow data files dir access

  /DATA/mysql-files/ r,

  /DATA/mysql-files/** rwk,


# Allow keyring dir access

  /DATA/mysql-keyring/ r,

  /DATA/mysql-keyring/** rwk,


(생략) 



[작성] 차동훈

반응형

댓글()

MySQL Cluster 구성

리눅스/MySQL|2016. 3. 31. 16:41
반응형

1. 안내


1) Cluster 소개


MySQL Cluster 는 기존의 MySQL Replication 의 단방향 데이터 전송 시스템 (Master – Slave) 의 단점을 보완하고 보다 안전하고 활용성 높은 시스템 구현이 가능하게 해줍니다. 대체로 Cluster 로 묶여진 서버는 Multi Master 서버로 활용되어 어느 서버에서 데이터가 입력, 수정, 삭제 되더라도 다른 데이터 서버로의 갱신이 신속히 이루어집니다.

또한 Replication 에서와는 다르게 장애 발생시, 장애 포인트를 인지하여 스스로 복원하는 기능을 제공하고 있어 무정지 DB시스템을 원하는 고객에게 권장할만 합니다. 다량의 접속이 이루어져 DB 서버가 다운되어도 또 다른 서버로 서비스를 유지하기 위한 시스템으로 보면 됩니다.



2) Replication Cluster 의 특징 (장단점)


Replication

Cluster

장점

단점

장점

단점

Slave 서버에 데이터를

실시간 백업

Master 서버 다운시

백업 및 업데이트 연산

불가

99.999%고가용성

구현, 무정지 DB 시스템

구축, 운영 가능

데이터를 메모리에 저장

하므로 많은 메모리 필요

여러대의 Slave 서버

이용해 부하분산 가능

Master 서버 다운시

수동 복구

자동 FailOver

구성을 위해 최소 3대의

서버 필요


무정지 시스템 운영을 위해 최소 6대의 서버 필요

Cluster에 비해 적은 수의

서버로 시스템 구성 및

부하분산 가능

(최소 2)

binlog 관리 필요

Sql, Data 노드를

복수개로 구성, 부하분산

노드 추가를 위해

클러스터 재시작 필요


Slavemaster 쿼리

처리량을 따라가지

못할경우 일관성 오류

발생 가능





3) Cluster 구성도




































그림에서 표현된 것과 같이 MySQL Cluster 는 총 3종류의 요소로 구성이 되며 각각의 역할은 아래와 같습니다.


- Management 서버 (이하 MGM 서버)

Cluster 를 구성하는 서버를 전체적으로 관리 합니다. (DATA 서버 및 SQL 서버 다운 여부 체크)


- DATA 서버

입력된 데이터를 저장하는 역할을 합니다. 또한 데이터를 메모리에 적재하여 SQL 서버가 Application

으로부터 요청받은 정보를 신속히 응답할 수 있도록 해줍니다.

Cluster 초기버전에서는 메모리에 적재하여 사용했었지만, MySQL 5.1 이후 버전부터는 하드디스크를

기반으로 저장하는것이 가능해졌습니다.


- SQL 서버

SQL을 이용하는 Application 의 요청(조회, 갱신, 삭제 등)에 응답하며, 변경되는 데이터 정보를 DATA

서버로 전달하여 모든 SQL 서버가 동일한 데이터로 응답할 수 있도록 합니다.




4) 매뉴얼 테스트 환경


MGM 서버, DATA 서버, SQL 서버의 역할을 나누어 여러대의 서버에 설치가 가능합니다. 굳이 한 대 또는 두 대의 서버에 설치를 모두 할 수 있으나 그러한 구성은 무의미하며, 효율적 관리 및 활용을 위해 최소 3대 이상으로 구성하여 사용하게 됩니다.

(MGM 1, DATA & SQL 서버 2)


그러나 이렇게 3대로 구성한 시스템에서도 MGM 서버가 다운되면, 모든 시스템이 마비되기 때문에 MGM 서버도 2중화를 해야 비로소 온전한 무정지 시스템이 구현되는 것 입니다.

(MGM 2, DATA & SQL 서버 2/ 여기서 MGM 서버 1대는 Standby Server 로 활용)


본 매뉴얼 작성을 위해 구성했던 테스트 서버 환경은 3대이며 아래와 같습니다.



[MGM 서버]

- DATA & SQL 서버 관리용

- IP : 192.168.56.11

- CentOS 6.7 (64bit)

- MySQL Cluster 7.4.10



[DATA & SQL 서버1]

- 서비스용

- IP : 192.168.56.12

- CentOS 6.7 (64bit)

- MySQL Cluster 7.4.10



[DATA & SQL 서버2]

- 서비스용

- IP : 192.168.56.13

- CentOS 6.7 (64bit)

- MySQL Cluster 7.4.10



* SQL 서버는 mysqld 데몬이 구동되는 서버를 말합니다.

* MySQL Cluster 7.4.10 MySQL 5.6.28 을 포함하고 있습니다.



본 매뉴얼은 최소한의 설치 및 설정 방법만 기술하였으므로 설명이 부족한 부분이 있을 수 있습니다. 기타 필요 사항은 검색을 통하여 확인하시기 바랍니다.





2. 설치


설치는 MGM, DATA & SQL 서버 모두 동일합니다.


1) Cmake 설치


# yum -y install gcc* g++*


# cd /usr/local/src


# wget http://pkgs.fedoraproject.org/lookaside/pkgs/cmake/cmake-2.8.5.tar.gz/3c5d32cec0f4c2dc45f4c2e84f4a20c5/cmake-2.8.5.tar.gz


# tar xvzf cmake-2.8.5.tar.gz


# cd cmake-2.8.5


# ./bootstrap


# make


# make install



2) JDK 설치


MySQL Cluster JDK 를 사용 합니다. 본 매뉴얼에서 설치하려는 MySQL Cluster 7.4.10 버전의 경우 JDK 1.8 버전 이상을 필요로 합니다.


# wget http://uni-smr.ac.ru/archive/dev/java/bulk/jdk-8u77-linux-x64.rpm


설치전에 기존버전을 삭제하고 진행합니다.


# yum -y remove java


# rpm -ivh jdk-8u77-linux-x64.rpm


설치된 JDK 버전을 확인해봅니다.


# java -version


java version "1.8.0_77"

Java(TM) SE Runtime Environment (build 1.8.0_77-b03)

Java HotSpot(TM) 64-Bit Server VM (build 25.77-b03, mixed mode)



3) MySQL Cluster 설치


MySQL을 구동하고 관리할 계정을 생성합니다.


# groupadd -g 400 mysql


# useradd -u400 -g400 -d /usr/local/mysql -s /bin/false mysql


문서 작성일 (2016.3.29) 기준 가장 최신버전인 MySQL Cluster 7.4.10을 다운로드 받아 설치합니다.


# wget http://download.softagency.net/MySQL/Downloads/MySQL-Cluster-7.4/mysql-cluster-gpl-7.4.10.tar.gz


# tar xvzf mysql-cluster-gpl-7.4.10.tar.gz


# cd mysql-cluster-gpl-7.4.10


# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DENABLED_LOCAL_INFILE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DSYSCONFDIR=/etc -DMYSQL_TCP_PORT=3306


# make


# make install



4) DB 생성 및 기본보안 설정


# cp -arp scripts/mysql_install_db /usr/local/mysql


# cd /usr/local/mysql


# rm -rf data


# perl ./mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data


# chown -R mysql:mysql /usr/local/mysql


# chown -R mysql.mysql /usr/local/mysql/data


(MGM 서버에서는 config.ini 파일 생성)

# cp share/mcc/tst/example_config.ini /etc/config.ini


(DATA & SQL 서버에서는 my.cnf 파일 생성)

# cp support-files/my-default.cnf /etc/my.cnf


# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld


# chmod 700 /etc/init.d/mysqld


# chown root.root /etc/init.d/mysqld


# chkconfig --add mysqld


# chmod 711 /usr/local/mysql


# chmod 700 /usr/local/mysql/data


# chmod 751 /usr/local/mysql/bin


# chmod 750 /usr/local/mysql/bin/*


# chmod 755 /usr/local/mysql/bin/mysql


# chmod 755 /usr/local/mysql/bin/mysqldump





3. 설정


MGM 서버와 DATA & SQL 서버의 설정 방식이 다릅니다.

주의해서 해당 서버에 맞게 설정하시기 바랍니다.


1) MGM 서버


# vi /etc/config.ini


[NDBD DEFAULT]

NoOfReplicas: 2 // Cluster 내 저장된 테이블에 대한 복사본 수

DataDir: /usr/local/mysql/data

FileSystemPath: /usr/local/mysql/data

DataMemory: 600M // 데이터를 저장할 물리적 메모리 용량

IndexMemory: 100M // 인덱스를 저장할 물리적 메모리 용량

BackupMemory: 64M


[MGM DEFAULT]

PortNumber: 1186

DataDir: /usr/local/mysql/data


[NDB_MGMD]

NodeId: 1 // NodeId NDBD, API 를 포함하여 유일한 번호로 설정해주어야 함

HostName: 192.168.56.11 // MGM 서버 IP

ArbitrationRank: 1


[NDBD] // DATA 서버(NODE) 섹션

NodeId: 2

HostName: 192.168.56.12 // DATA 서버 IP


[NDBD]

NodeId: 3

HostName: 192.168.56.13 // DATA 서버 IP


[API] // SQL 서버(NODE) 섹션

NodeId: 12

HostName: 192.168.56.12 // SQL 서버 IP


[API]

NodeId: 13

HostName: 192.168.56.13 // SQL 서버 IP



2) DATA & SQL 서버


# vi /etc/my.cnf


[mysqld]

ndbcluster

ndb-connectstring=192.168.56.11 // MGM 서버 IP

datadir=/usr/local/mysql/data

basedir=/usr/local/mysql

port=3306

socket=/tmp/mysql.sock


[mysql_cluster]

ndb-connectstring=192.168.56.11 // MGM 서버 IP


[mysql]

socket=/tmp/mysql.sock


[client]

socket=/tmp/mysql.sock





4. 구동


구동 방법 또한 MGM 서버와 DATA & SQL 서버가 다릅니다.

주의해서 해당 서버에 맞게 구동하시기 바랍니다.


전체적인 데몬 구동 순서는 'MGM 서버 > DATA 서버 > SQL 서버(MySQL)' 입니다.


1) MGM 서버


# /usr/local/mysql/bin/ndb_mgmd -f /etc/config.ini –initial


참고로 중지 방법은 아래와 같습니다.


# /usr/local/mysql/bin/ndb_mgm -e shutdown



2) DATA & SQL 서버


DATA 데몬 (NetworkDatabase) 구동


# /usr/local/mysql/bin/ndbd -c 192.168.56.11:1186


2016-03-29 16:21:33 [ndbd] INFO -- Angel connected to '192.168.56.11:1186'

2016-03-29 16:21:33 [ndbd] INFO -- Angel allocated nodeid: 12


SQL 데몬 구동


# /etc/init.d/mysqld start





5. 확인


구동이 잘 되고 있는지는 MGM 서버에서 명령어를 통해 확인이 가능합니다.


# /usr/local/mysql/bin/ndb_mgm -e show


Connected to Management Server at: localhost:1186

Cluster Configuration

---------------------

[ndbd(NDB)] 2 node(s)

id=2 @192.168.56.12 (mysql-5.6.28 ndb-7.4.10, Nodegroup: 0, *)

id=3 @192.168.56.13 (mysql-5.6.28 ndb-7.4.10, Nodegroup: 0)


[ndb_mgmd(MGM)] 1 node(s)

id=1 @192.168.56.11 (mysql-5.6.28 ndb-7.4.10)


[mysqld(API)] 2 node(s)

id=11 @192.168.56.12 (mysql-5.6.28 ndb-7.4.10)

id=12 @192.168.56.13 (mysql-5.6.28 ndb-7.4.10)



이제 클러스터링 동작 여부를 확인하기 위해 DATA & SQL 서버에 접속하여 아래와 같이 DB table 생성을 해봅니다.


# mysql -p


mysql> create database sysdocu;


mysql> use sysdocu;


mysql> create table example (id int) engine=ndb;


테이블을 직접 생성하지 않은 또다른 DATA & SQL 서버에서 테이블 생성 여부를 확인하면 됩니다.



* 주의 사항

cluster 사용시 단 한가지 주의할 점은 테이블이 반드시 ndb 타입이어야 클러스터링이 됩니다.

(MyISAM, InnoDB 는 동기화되지 않음)





6. 장애 복구 (테스트)


서버는 구성해놓은 채로 당분간 운영이 되겠지만, H/W적인 장애나 S/W적인 이유에서 장애를 일으켜 서비스가 되지 않는 소지가 분명히 존재합니다. 여러가지 경우에 따른 대처 방법을 기술해 놓았습니다.



1) DATA & SQL 1번 서버 다운시


- 상황 : DATA & SQL 1번 서버 (192.168.56.12) 를 완전히 다운시켜놓고 DATA & SQL 2번 서버

(192.168.56.13) 의 데이타를 갱신해보았다. 그 후에 DATA & SQL 1번 서버를 정상 부팅

하였을 경우, 데이타는 갱신이 되어있을까?


- 결과 : 그동안 DATA & SQL 2번 서버에 누적되어있던 데이터가 DATA & SQL 1번 서버에도 적용

이 되었다.


- 이유 : DATA 서버가 한 개 더 있기 때문이다. (DATA & SQL 2번 서버의 ndbd 데몬)

이를 통해 그동안 누적된 데이터가 다운에서 복귀한 서버로 자동 동기화가 된다.

그러므로 서비스용도인 SQL 서버는 물론이고, DATA 서버도 자동 동기화를 위하여 2대 이상

의 서버에 구성하는것을 추천한다. (DATA & SQL 서버 형식으로)


- 복구 절차 : 다운된 서버를 부팅하고 데몬 가동만 하면 되므로 특별한 조치가 없다.

데몬 구동은 'ndbd > mysqld ' 순서로 진행한다.



2) DATA & SQL 1, 2번 서버의 ndbd 데몬 종료시 (DATA 서버를 없애는 것)


- 상황 : 그럴일은 거의 없겠지만, DATA & SQL 1번 서버, DATA & SQL 2번 서버의 mysqld 데몬

은 살아 있으면서 ndbd 데몬만 두 서버에서 모두 종료 했을때, 데이터가 동기화 되는가?


- 결과 : ERROR 1296 (HY000): Got error 4009 'Cluster Failure' from NDBCLUSTER 라는 메세지

를 뿌리며 select, insert 등의 모든 쿼리가 실행되지 않았다.


- 이유 : DATA 서버 없이는 어떠한 SQL 서버도 데이타 입출력이 되지 않기 때문이다.

(SQL 서버는 무용지물 상태가 됌)


- 복구 절차 : DATA & SQL 서버마다 'ndbd 시작 > mysqld 재시작' 순서로 진행한다.



3) MGM 서버 다운시


- 상황 : DATA SQL 서버를 관리하는 MGM 서버가 다운되었을 경우 데이터가 동기화 되는가?


- 결과 : 2)번 테스트 때와 마찬가지로 ERROR 1296 (HY000): Got error 4009 'Cluster Failure'

from NDBCLUSTER 라는 메세지 를 뿌리며 select, insert 등의 모든 쿼리가 실행되지 않았다.


- 이유 : MGM 서버 없이는 어떠한 SQL 서버도 데이타 입출력이 되지 않기 때문이다.

(SQL 서버는 무용지물 상태가 됌)


- 복구 절차 : MGM 서버의 ndb_mgmd 시작 > DATA 서버의 ndbd 재시작 > SQL 서버의 mysqld

재시작



4) ndbd 데몬 시간차 다운시 (주의해서 잘 볼것! 중요함!)


- 상황 : DATA & SQL 1번 서버, 2번 서버의 ndbd 데몬만 시간차를 두고 종료할 것이다. 테스트를 위

한 순서는 아래와 같다.


현재 SQL 서버의 테이블 내 레코드 값이 '10' 이라고 하였을때를 가정한다.

(data 1 : ON, sql 1 : ON, data 2 : ON, sql 2 : ON, record : 10)


DATA & SQL 1번 서버의 ndbd 를 종료한다.

( data 1 : OFF, sql 1 : ON, data 2 : ON, sql 2 : ON, record : 10)


DATA & SQL 2번 서버에서 레코드 값을 '15' 로 변경한다.

( data 1 : OFF, sql 1 : ON, data 2 : ON, sql 2 : ON, record : 15)


DATA & SQL 2번 서버의 ndbd 를 종료한다.

( data 1 : OFF, sql 1 : ON, data 2 : OFF, sql 2 : ON, record : ??)


지금 시점에는 레코드를 읽을 수 없다. DATA 서버 둘 중 하나를 구동해야 서비스가 지속될 수

있는데, 현재 DATA 1번 서버에 저장되어있는 레코드 값은 '10' 이고, DATA 2번 서버에 저장되

어 있는 레코드 값은 '15' 이다. 어느 DATA 서버의 ndbd 를 구동 하느냐에 따라 데이터가 다르

게 나타날 수 있는것이다. 당연히 최근 종료된 ndbd 데몬을 구동해야 최근 데이터가 유지된다.

(실수로 오래전 종료된 ndbd 데몬을 먼저 구동했을 경우, 최대한 빨리 최근 종료된 ndbd 데몬

가동할 수 있도록 한다.)


DATA 서버의 ndbd 데몬을 구동 했다면, SQL 서버의 mysqld 데몬도 재구동 해준다.

(그래야 MGM 서버가 SQL 서버를 빨리 인지해 조금이라도 빨리 서비스를 제공할 수 있게

된다.)


- 복구 절차 : 어느 DATA 서버가 마지막 까지 살아있었는지 알고 있을 경우, 그 서버의 ndbd 데몬을

먼저 가동시킨다. 그리고 나서 모든 SQL 서버의 mysqld 데몬을 가동하도록 한다.


반응형

댓글()

Oracle 자동 백업 스크립트

리눅스/MySQL|2015. 1. 27. 09:08
반응형

/root/oracle_backup.sh 파일을 만들어 아래 내용을 삽입합니다.

각자의 시스템에 맞게 수정 할 곳 수정하시고 사용하시면 됩니다.

 

root@sysdocu:~vi /root/oracle_backup.sh

 

#!/bin/sh

backupdir = /backup

find /backup/oracle/ -ctime +15 -exec rm -rf {} ;

sysdtime=`date +%Y%m%d`

db_backupdir="$backupdir/oracle/$sysdtime"

mkdir -p "$db_backupdir"

exp userid=system/sysdocupassword0000 full=y file=$db_backupdir/$sysdtime.full.dmp.ing log=$db_backupdir/$sysdtime.full.log

 

 

그리고 주기적으로 실행될 수 있도록 crontab 에 등록합니다.

 

root@sysdocu:~crontab -e

 

00 4 * * * su - root -c /root/orable_backup.sh

 

반응형

댓글()

[Warning] Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. INSERT... ON DUPLICATE KEY UPDATE on a table with more than one UNIQUE KEY is unsafe Statement:

리눅스/MySQL|2015. 1. 16. 11:43
반응형

[Warning] Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. INSERT... ON DUPLICATE KEY UPDATE  on a table with more than one UNIQUE KEY is unsafe Statement:  

 

위의 메세지...

 

Set Session binlog_format='MIXED';  를 적용

 

또는

 

my.cnf 에서

binlog_format=mixed 를 설정


[출처] 아이구이런 | 조아 (http://blog.naver.com/i92run2k/50174224969)

반응형

댓글()

데이타를 임의 순서로 검색하되 특정 값만 가져오는 쿼리

리눅스/MySQL|2015. 1. 16. 11:43
반응형

mysql> SELECT * FROM datas WHERE name = '$a' AND type = ( SELECT type FROM datas WHERE name = '$a' AND type IN('A','B','O') ORDER BY type ASC LIMIT 1 )


설명 : datas 테이블에서 name 값이 $a 이며, type 이 A 나 B 나 O 로 된것만 select 하는데

         그중에서도 먼저 type 이 A 인 데이타가 있으면 A 인 데이타 출력,

         없으면 B 데이타 출력,

         없으면 O 데이타를 출력한다.

반응형

댓글()

MySQL 중복 데이터 제거 (NOT IN)

리눅스/MySQL|2015. 1. 16. 11:42
반응형

table_a(A)

 num

va

 1

 2

 3

 4

 5

 6


과 같은 데이터를(B)

 num

va 

 1

 2

 4

와 같이 중복된 값을 삭제하고 싶을때가 생기게 마련이다.


  1. 우선 값을 삭제하지 않고 원하는 결과가 나오는 쿼리를 짜 보는것이다.
    어떻게 하면 (B)와 같은 값을 도출해 낼 수 있을까?어떻게 하면 (B)와 같은 값을 도출해 낼 수 있을까?

    SELECT MIN(num),va FROM table_a GROUP BY va 


     MIN(num)

    va 

     1

     2

     4



  2. 즉 num이 1,2,4를 제외한 나머지를 삭제하는 것이다.

    SELECT MIN(num) FROM table_a GROUP BY va 


     MIN(num)

     1

     2

     4


  3. num 1,2,4를 제외한 나머지를 삭제해 보자.
    이때 사용되는 것이 서브쿼리와 함께 NOT IN이다. 포함된 것이 아닌 이라고 해야 할까? 반대로 포함된것을 지우겠다면 IN을 사용하면 될 것이다.

    DELETE FROM table_a WHERE

    num NOT IN (SELECT MIN(num) FROM table_a GROUP BY va)


    말로 풀어보자면 table_a에 num값이 MIN(num)값을 제외한 나머지를 삭제하라는 것이다.


  4. 하지만 이대로 한다면 에러가 발생할 것이다.
    Yon can't specify target table.... 어쩌구 저쩌구....
    이는 mysql에서는 서브쿼리의 from과, delete 되는 from을 같게 사용할 수 없는 룰 때문이다.
    이를 위한 꼼수는...

    DELETE FROM table_a WHERE

    num NOT IN (SELECT * FROM (SELECT MIN(num) FROM table_a GROUP BY va) AS temp)


    와 같이 서브쿼리로 한번 더 묶어서 별칭으로 지정해 주면 문제 해결...

     

 

[출처] MySQL 중복 데이터 제거 (NOT IN)|작성자 닌자 (http://ninja099.blog.me/60159002192)

반응형

댓글()

select 할때 특정 필드값 우선 순위 정하기

리눅스/MySQL|2015. 1. 16. 11:42
반응형
mysql> select * from sysdocu where user='sawon'
  order by CASE user 
  when 'superman' then 1
  when 'superwoman' then 2
  when 'superbaby' then 3
  else 4
  END;

[설명]
sysdocu 테이블에서 user 필드가 sawon 인것만 검색합니다.
순서는 superman 값이 1순위,
superwoman 값이 2순위,
superbaby 값이 3순위로 출력하고
나머지는 모두 4순위로 아래 출력 되게 합니다.


반응형

댓글()

Warning: Using a password on the command line interface can be insecure. 메세지 안보이게 하기

리눅스/MySQL|2015. 1. 16. 11:41
반응형

MySQL 5.6 버전부터 mysqldump 명령시 패스워드를 같이 명령줄에 입력하면 
패스워드 노출 위험성에 대한 경고 문구가 뜨게 됩니다.

 

# mysqldump -u root -p"1234" sysdocu > sysdocu.sql
Warning: Using a password on the command line interface can be insecure.

 

이 메세지 출력을 원하지 않을 경우 아래와 같이 설정하시면 됩니다.
(사용자 계정 및 비밀번호를 미리 입력해두고 호출하는 방법)

 

# mysql_config_editor set --login-path=autologin --host=localhost --user=root --password
Enter password: (패스워드를 한차례 입력해줍니다.)

 

이제 root 계정과 패스워드가 autologin 이라는 명칭으로 저장되었습니다.

 


[옵션 설명]
--login-path : 구분하기위한 문자를 입력합니다. 여기서는 autologin 이라고 했지만 헷갈리지 않도록 계정명과 동일하게 사용하셔도 됩니다.

--host : 접속하려는 DB서버의 호스트명 또는 IP를 입력합니다.
--user : 저장할 계정을 입력합니다.
--password : 패스워드값은 제외하고 옵션만 지정하여 실행합니다. 패스워드는 엔터를 친 다음에 입력해야 합니다.


* 삭제시

mysql_config_editor remove --login-path=autologin


* 설정 리스트 확인시

mysql_config_editor print --all


 

[사용방법]
# mysqldump --login-path=autologin sysdocu > sysdocu.sql

패스워드 경고 메세지 없이 작업이 완료됩니다.



반응형

댓글()

./mysql_install_db: line 37: use: command not found

리눅스/MySQL|2015. 1. 16. 11:41
반응형

MySQL 설치시 아래와 같은 에러 메세지가 나타났을 경우


# sh ./mysql_install_db
./mysql_install_db: line 37: use: command not found
./mysql_install_db: line 38: use: command not found
./mysql_install_db: line 39: use: command not found
./mysql_install_db: line 40: use: command not found
./mysql_install_db: line 41: use: command not found
./mysql_install_db: line 42: use: command not found
./mysql_install_db: line 43: use: command not found
./mysql_install_db: line 45: syntax error near unexpected token `"pass_through"'
./mysql_install_db: line 45: `Getopt::Long::Configure("pass_through");'


아래와 같이 실행 명령을 바꾸어 해결할 수 있습니다.

# perl ./mysql_install_db



반응형

댓글()

Curses library not found. Please install appropriate package

리눅스/MySQL|2015. 1. 16. 11:41
반응형

mysql 5.6.14 설치시 cmake 할때 아래와 같은 에러메세지가 출력될경우

  
-- Could NOT find Curses (missing:  CURSES_LIBRARY CURSES_INCLUDE_PATH)
CMake Error at cmake/readline.cmake:85 (MESSAGE):
  Curses library not found.  Please install appropriate package,
 
      remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu, package name is libncurses5-dev, on Redhat and derivates it is ncurses-devel.
Call Stack (most recent call first):
  cmake/readline.cmake:128 (FIND_CURSES)
  cmake/readline.cmake:202 (MYSQL_USE_BUNDLED_EDITLINE)
  CMakeLists.txt:325 (MYSQL_CHECK_EDITLINE)
 
 -- Configuring incomplete, errors occurred!
 
 아래와 같이 필요한 패키지를 추가 설치 후 다시 진행하면 됩니다.
 
# yum -y install bison ncurses-devel
# rm -f CMakeCache.txt
# cmake ... (생략)

반응형

댓글()

mysql 바이너리 로그 파일 초기화

리눅스/MySQL|2015. 1. 16. 11:40
반응형
mysql-bin.000001
mysql-bin.000002
mysql-bin.000003
....
mysql-bin.005009
 
위와같이 로그파일이 많아 삭제를 하고 000001 번부터 다시 사용하고자 할 경우에는
로그 인덱싱 파일(mysql-bin.index)과 모든 로그 파일(mysql-bin.*)을 삭제한 후
mysql 을 재시작 하면 아래와 같이 새롭게 생성이 됩니다.
 
-rw-rw----  1 mysql mysql      107  9월 13 11:46 mysql-bin.000001
-rw-rw----  1 mysql mysql       19  9월 13 11:46 mysql-bin.index


반응형

댓글()