mysql主从同步部署:
master:192.168.2.67
slave:192.168.2.211
同步系统非默认库,master中其它库已经运行一段时间。
首先保证主从数据库都开启二进制日志,方法是在my.cnf中的[mysqld]节中加入log-bin=mysql-bin
然后查看是否开启mysql> show variables; log-bin ON
master端:
vim /etc/my.cnf
server-id = 1 master端ID号
log-bin=mysql-bin 日志路径及文件名
#binlog-do-db = cacti 同步cacti,此处关闭的话,就是除不允许的,其它的库均同步。
binlog-ignore-db = mysql 不同步mysql库,以下同上
binlog-ignore-db = test
binlog-ignore-db = information_schema
/usr/local/mysql/bin/mysql -uroot -p
mysql>grant replication slave on *.* to rsync@'192.168.2.211' identified by '123456';
mysql>flush privileges;
mysql>flush tables with read lock;
mysql>show master status;
此处主要记录下file和position的值,slave端要使用到。如下
File | Position |
+------------------+----------
| mysql-bin.000047 | 391592414
另外一个窗口运行下面的:
tar -czf /data/mysql/cacti.tgz /data/mysql/cacti 在my.cnf 中的datadir=/var/lib/mysql 找mysql文件
scp /data/mysql/cacti.tgz root@192.168.2.211:/data/mysql/cacti.tgz
完成后返回前一个窗口解锁数据库只读。
mysql>unlock tables;