一:主从配置
A机:192.168.1.67 (主)
B机:192.168.1.20 (从)
A机操作:
1:备份要做主从的数据库。
mysqldump -uroot -pkobe24 -S /tmp/mysql.sock discuz > /home/discuz.back #备份discuz至/home/discuz.back。
scp /home/discuz.back [email protected]:/home/discuz.back #远程复制到从服务器上。
2:修改my.cnf
vim /etc/my.cnf
server-id=1 #保持唯一性
log-bin=emma-bin #slave的节点文件
binlog-do-db=discuz #需要同步的数据库
3:重启 mysql
/etc/init.d/mysqld restart
4:登录mysql,创建主从所用的账号。
mysql -uroot -pkobe24 #登录mysql
grant replication slave on *.* to ‘alex‘@‘%‘ identified by ‘kobe24‘; #创建alex用户,密码为:kobe24
show master status\G;
master_log_file :emma-bin.000001
master_log_pos :1673
B机操作:
1:导入discuz数据库
mv /home/discuz.back /data/mysql/discuz.back;mysql -u root -pkobe24 disucz < /data/mysql/discuz.back;
2:修改my.cnf配置
server-id =2 #不要跟上的id重复
3:重启mysql
/etc/init.d/mysqld restart
4:登录mysql并设置从
mysql -uroot -pkobe24
关闭slave : stop slave;
设置为master的从 :change master to master_host=‘192.168.1.67‘,master_port=3306,master_user=‘alex‘,master_password=‘kobe24‘,master_log_file=emma-bin.000001,master_log_pos=1673;
master_log_file master_log_pox 为A机show master status\G; 的值。
打开slave :start slave;
查看slave的状态:show slave status\G; 确认Slave_IO_Runnig:Yes 和 Slave_SQL_Running :Yes
至此 mysql的主从配置完成
当对主的discuz数据库进行更新操作时,从的discuz数据库一起更新。
更进一步的配置主主设置
以下操作在基于上面的主从配置上做修改即可
一:修改A机主上的配置文件
vim /etc/my.cnf
log-bin = emma-bin
replicate-do-db = discuz #同步的数据库
auto-increment-increment = 2 #每次增长2
auto-increment-offset = 1 #设置自动增长的字段的偏移量,即初始值为2
重启mysql 并查看master file
/etc/init.d/mysqld restart;
mysql -uroot -pkobe24;
show master status\G;
二:修改B机上配置文件
vim /etc/my.cnf
重启mysql 服务 /etc/init.d/mysqld restart;
登录mysql并创建跟用来同步的账号
mysql -uroot -pkobe24;grant replication slave on *.* to ‘alex‘@‘%‘ identified by ‘kobe24‘; #创建alex用户,密码为:kobe24
查看master file
show master status\G;
三:A机上配置跟B机的主主同步
mysql -uroot -pkobe24;
change master to master_host=‘192.168.1.20‘,master_port=3306,master_user=‘alex‘,master_password=‘kobe24‘,master_log_file=‘emma-bin.000001‘,master_log_pos=4736596;
start slave;
show slave status\G;
确认Slave_IO_Runnig:Yes 和 Slave_SQL_Running :Yes
四:B机上配置跟A机的主主同步
mysql -uroot -pkobe24;
change master to master_host=‘192.168.1.67‘,master_port=3306,master_user=‘alex‘,master_password=‘kobe24‘,master_log_file=‘emma-bin.000001‘,master_log_pos=1763;
start slave;
show slave status\G;
确认Slave_IO_Runnig:Yes 和 Slave_SQL_Running :Yes
至此主主配置完成。A机和B机上任何一台对discuz做了修改都能同步到另一台的discuz。