ec2 で mysql replicatoin を設定する

3306ポートを開ける(sourceのレンジは 10.0.0.0/8 とする)

$ sudo yum -y install mysql-server

master:/etc/my.cnf

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
symbolic-links=0
# replication
server-id = 1
log-bin

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

slave:/etc/my.cnf

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
symbolic-links=0
# replication
server-id = 2

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

master:user

$ mysql -u root -s -e "select user,host,password from mysql.user;" -p
Enter password:
user host password
root localhost *XX...XX
root ip-10-***-***-**A.ap-northeast-1.compute.internal *XX...XX
root 127.0.0.1 *XX..XX
repl ip-10-***-***-**B.ap-northeast-1.compute.internal *XX..XX

slave:user

$ mysql -u root -s -e "select user,host,password from mysql.user;" -p
Enter password:
user host password
root localhost *XX..XX
root ip-10-***-***-**B.ap-northeast-1.compute.internal *XX..XX
root 127.0.0.1 *XXX..XX

確認

master$ mysqladmin -uroot create psycho -p
Enter password:

slave$ mysql -s -uroot -e "SHOW DATABASES;" -p
Enter password:
Database
information_schema
mysql
psycho
test

参照

http://tejunsho.com/mysql/20110603000166.html