mysql主従(replication)


1、原理
master上のデータ更新時にbin-logが記録され、slaveはbin-logをリアルタイムで同期し、slaveはbin-logのsql文に基づいて対応する操作を行います.
リアルタイムバックアップにより、読み書き分離を実現し、I/Oを削減することができます.
1主多従、または互いに主従することができる.
2、mysqlを2個取り付ける
[root@localhost local]# cp -r mysql/ mysql3/   //  
[root@localhost local]# mkdir /data/mysql3
[root@localhost local]# chown -R mysql:mysql /data/mysql3
[root@localhost local]# cd mysql3/
[root@localhost mysql3]# ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql3   //   
[root@localhost mysql3]# cp /etc/my.cnf ./
[root@localhost mysql3]# vim my.cnf   //      
[mysqld]
port            = 3307
socket          = /tmp/mysql3.sock
datadir         = /data/mysql3
user            = mysql
pid-file        = /data/mysql1/localhost.pid

3307ポートがメインです.
[root@localhost ~]# mysql -uroot -p123456 -P3307
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.1.40 MySQL Community Server (GPL)
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> create database db1;   //    db1 
Query OK, 1 row affected (0.06 sec)
mysql> Bye
[root@localhost ~]# mysqldump -uroot -p123456 -P3307 db1 > /tmp/db1.sql    //  
[root@localhost ~]# mysql -uroot -p123456 -P3307 db1 < /tmp/db1.sql   //  

mysql 3プロファイルの変更
[root@localhost ~]# vim /usr/local/mysql3/my.cnf
//      
log-bin=zhouyan
server-id       = 1

mysql 3を再起動
[root@localhost ~]# ps aux |grep mysql3
mysql     2013  0.0  6.5 211560 21380 ?        Sl   17:21   0:00 /usr/local/mysql3/bin/mysqld --basedir=/usr/local/mysql3 --datadir=/data/mysql3 --user=mysql --log-error=/data/mysql3/localhost.localdomain.err --pid-file=/data/mysql1/localhost.pid --socket=/tmp/mysql3.sock --port=3307
root      2162  0.0  0.2   4356   736 pts/1    S+   17:36   0:00 grep mysql3
[root@localhost ~]# kill 2013
[root@localhost ~]# /usr/local/mysql3/bin/mysqld_safe --defaults-file=/usr/local/mysql3/my.cnf --user=mysql &
[root@localhost mysql3]# ls /data/mysql3
ibdata1      ib_logfile1                localhost.localdomain.err-old  test            zhouyan.index
ib_logfile0  localhost.localdomain.err  mysql                          zhouyan.000001  //       
[root@localhost mysql3]# vim /usr/local/mysql3/my.cnf
binlog-do-db=db1  //        
#binlog-ignore-db=mysql   //       
[root@localhost mysql3]# kill 2277
[root@localhost mysql3]# ps aux |grep mysql3
root      2167  0.0  0.4   5064  1332 pts/1    S    17:37   0:00 /bin/sh /usr/local/mysql3/bin/mysqld_safe --defaults-file=/usr/local/mysql3/my.cnf --user=mysql
mysql     2277  0.1  6.5 211572 21196 pts/1    Sl   17:37   0:00 /usr/local/mysql/bin/mysqld --defaults-file=/usr/local/mysql3/my.cnf --basedir=/usr/local/mysql --datadir=/data/mysql3 --user=mysql --log-error=/data/mysql3/localhost.localdomain.err --pid-file=/data/mysql1/localhost.pid --socket=/tmp/mysql3.sock --port=3307
root      2298  0.0  0.2   4356   740 pts/1    S+   17:42   0:00 grep mysql3
//  kill   ,    kill -9,         ,    。
[root@localhost mysql3]# kill -HUP 2277   //    

からのログインmysqlアカウントとパスワードの設定
[root@localhost mysql3]# mysql -uroot -P3307 -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 10
Server version: 5.1.40 MySQL Community Server (GPL)
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> grant replication slave on *.* to 'repl'@'127.0.0.1' identified by '123456';
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

変更元のプロファイル
『目が疲れて明日も続く』