mysql主従(replication)
3787 ワード
1、原理
master上のデータ更新時にbin-logが記録され、slaveはbin-logをリアルタイムで同期し、slaveはbin-logのsql文に基づいて対応する操作を行います.
リアルタイムバックアップにより、読み書き分離を実現し、I/Oを削減することができます.
1主多従、または互いに主従することができる.
2、mysqlを2個取り付ける
3307ポートがメインです.
mysql 3プロファイルの変更
mysql 3を再起動
からのログインmysqlアカウントとパスワードの設定
変更元のプロファイル
『目が疲れて明日も続く』
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)
変更元のプロファイル
『目が疲れて明日も続く』