'mysql'에 해당되는 글 3건

리눅스에서 SSH를 통해 MySQL 서버를 마스터-슬레이브간 동기화하는 방법에 대해 작성한다.


1. 먼저 SSH로 접속할 유저를 생성하고 SSH키를 만든다.


2. SSH 터널을 생성한다.  MySQL을 위한 포트번호는 33061로 정한다.

sudo -u username ssh -f ServerIPAddress -L 33061:127.0.0.1:3306 -N


3. 접속확인을 해본다.

$ mysql -h 127.0.0.1 -P 33061 -u root -p

4. /etc/mysql/my.cnf 파일을 열어 server-id=1 항목을 주석해제하고 아이디를 넣어준다.


5. 마스터 노드에서, 레플리케이션용 슬레이브 유저를 생성한다.

mysql> GRANT REPLICATION SLAVE ON *.* TO 'slave_user'@% 'IDENTIFIED BY 'your_password';

mysql> GRANT ALL PRIVILEGES ON `your_database` . * 'slave_user'@'127.0.0.1' WITH GRANT OPTION;

mysql> FLUSH PRIVILEGES;


여기서 mysql 서버를 재시작해주는 것을 권장한다.

$ sudo service mysql restart

$ mysql -u root -p

mysql> show master status;

+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000001 |     5946 |              |                  |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)

여기서 File과 Position을 잘 기록해놓는다.  숫자는 상황에 따라 다르다.


6. 이번엔 슬레이브 노드에서, 마스터 노드에 접속하기위한 설정을 한다.

mysql> stop slave;
mysql> CHANGE MASTER TO MASTER_HOST='master_address', MASTER_USER='slave_user', MASTER_PASSWORD='your_password', MASTER_LOG_FILE=’mysql-bin.000001‘, MASTER_LOG_POS=5946;
mysql>start slave;


7. 테스트 해본다.  특히, 로그파일 /var/log/mysql/error.log 에서 ERROR가 있으면 안된다.

예)

150427 14:17:05 [Note] Slave SQL thread initialized, starting replication in log 'mysql-bin.000001' at position 107, relay log './mysqld-relay-bin.000001' position: 4
150427 14:17:05 [Note] Slave I/O thread: connected to master 'slave_user@127.0.0.1:33061',replication started in log 'mysql-bin.000001' at position 107




블로그 이미지

Seowon Jung jswlinux

Seowon Jung의 잡동사니 보관소

Tag mysql

댓글을 달아 주세요

우분투 포럼 채팅방에서 일어난 일이었다. 어느 분께서 아파치 서버의 세팅을 뭘 잘못 손대셨는지 뭐가 잘 안된다고 하신다. 그러면서 재설치와 동시에 PHPMyAdmin 설정을 모두 할려고 하는데, 어떤 순서대로 설치를 해야하냐고 물으셨다. 일반적으로 APM의 설치는 다음과 같다.

sudo apt-get install apache2 libapache2-mod-auth-mysql

sudo apt-get install mysql-server mysql-client

sudo apt-get install php5 php5-common libapache2-mod-php5 php5-mysql

sudo apt-get install phpmyadmin

 

그런데, 다른 분께서 위의 명령어를 한 방에 정리하셨다.

sudo apt-get install phpmyadmin

 

그런데 사실이다!!! 생각해보면 phpmyadmin과 의존관계에 있는 패키지들이 모두 연결되어있다. 따라서, 인터넷에 나와있는 리눅스에서의 APM 설치법은 이제 위의 명령어 단 한 줄로 정리가 된다.

sudo apt-get install phpmyadmin (데비안 계열일 경우)

 

실제로 해봤다. 새로 포맷하고 새로 설치하는 컴퓨터에 해봤는데, 우분투나 데비안에서는 위의 명령어를 치기 전에 하나를 해줘야한다.

sudo apt-get install mysql-server mysql-client

왜냐하면, phpmyadmin이 설치되면서 DB의 root 비밀번호를 설정하는 입력화면이 나오는데, mysql-server의 비밀번호가 먼저 설정되어있지 않으면 설치가 제대로 되지않는다. 물론 잘 아는 유저들한테서야 별거 아니지만, 리눅스를 배우기 시작한지 얼마 안되는 분들한테는 엄청 당황스러울 거다. 따라서 우분투/데비안 유저라면 아래의 방법으로 APM을 설치한다.

 

sudo apt-get install mysql-server mysql-client

sudo apt-get install phpmyadmin

 

쉽고 간단한 APM 설치~

블로그 이미지

Seowon Jung jswlinux

Seowon Jung의 잡동사니 보관소

댓글을 달아 주세요

오픈인디아나에서 MySQL은 AMP만 설치하면 같이 설치되니 별도로 해줄 것은 없다.

설치법: http://jswlinux.tistory.com/entry/오픈인디아나-151a에서-APM-설치하기

 

MySQL 초기 세팅

mysql -u root

use mysql

update user set password=password('password') where user='root';

flush privileges;

quit


Joomla에서 64비트 mysql 버그 (Error loading Modules: MySQL server has gone away) 해결법

svccfg -s mysql:version_51 setprop mysql/enable_64bit=true

svcadm refresh mysql:version_51

svcadm restart mysql:version_51



블로그 이미지

Seowon Jung jswlinux

Seowon Jung의 잡동사니 보관소

댓글을 달아 주세요