一:主从配置

    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

    mysql 主从配置 和 主主配置_第1张图片

    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;

    mysql 主从配置 和 主主配置_第2张图片

    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 主从配置 和 主主配置_第3张图片


至此 mysql的主从配置完成

    当对主的discuz数据库进行更新操作时,从的discuz数据库一起更新。





更进一步的配置主主设置

    以下操作在基于上面的主从配置上做修改即可


    一:修改A机主上的配置文件

    vim /etc/my.cnf

    mysql 主从配置 和 主主配置_第4张图片

    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;

    mysql 主从配置 和 主主配置_第5张图片

    

    二:修改B机上配置文件

    vim /etc/my.cnf

    mysql 主从配置 和 主主配置_第6张图片  

    

    重启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;

    mysql 主从配置 和 主主配置_第7张图片

    

    三: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。