zoukankan      html  css  js  c++  java
  • mysql主主配置

    环境描述:
    OS:RH6.5
    master机:192.168.4.77
    backup机:192.168.4.78

    一、 配置两台Mysql主主同步(两台配置基本一样,除了/etc/my.cnf里的server-id =)

    1.Master详细配置:

    [root@master ~]# yum install mysql-* mysql -y
    [root@master ~]# service mysqld start
    [root@master ~]# mysqladmin -u root password mysql2012
    [root@master ~]# vim /etc/my.cnf  #开启二进制日志,设置id

    server-id = 1                    #backup这台设置2 这个选项有的注意1和2
    log-bin = mysql-bin           #这个选项有的
    binlog-ignore-db = mysql,information_schema      #忽略写入binlog日志的库
    auto-increment-increment = 2            #字段变化增量值
    auto-increment-offset = 1              #初始字段ID为1
    slave-skip-errors = all                      #忽略所有复制产生的错误

    [root@master ~]# service mysqld restart

    chkconfig mysqld on       #设置开机自动启动  两台机都要设置

    [root@master ~]#mysql –uroot –pmysql2012   以root用户进入数据库

    Mysql>show master status;      会看到以下图,记住框出来的部分
    wpsDC93.tmp

    mysql-bin.000002   106 这些不固定,现在要去到backup那台机上,因为master这台机下面的操作要用到对面的上面那图框出来的部分,当然backup那台机也会用到master机的这个图的log bin日志pos值位置 (mysql-bin.000002   106),总之都用这个指向对方

    Mysql>GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY 'mysql2012' WITH GRANT OPTION;      #赋予所有网段远程登录权限

    Mysql>flush privileges;       #刷新权限

    2.backup详细配置:

    [root@backup ~]# yum install mysql-* mysql -y
    [root@backup ~]# service mysqld start
    [root@backup ~]# mysqladmin -u root password mysql2012
    [root@backup ~]# vi /etc/my.cnf  #开启二进制日志,设置id

    [mysqld]
    server-id = 2                   #master这台设置1
    log-bin = mysql-bin
    binlog-ignore-db = mysql,information_schema      #忽略写入binlog日志的库
    auto-increment-increment = 2            #字段变化增量值
    auto-increment-offset = 1              #初始字段ID为1
    slave-skip-errors = all                      #忽略所有复制产生的错误

    [root@backup ~]#service mysqld restart       #一定要重启不然show不到log bin日志pos值位置

    [root@backup ~]#mysql –uroot –pmysql2012

    Mysql>show master status;  #获取log bin日志pos值位置,master这台机要根据这个来指向backup来获取信息

    获取的结果是

    Mysql-bin.000003   106

    mysql>GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY 'mysql2012' WITH GRANT OPTION;

    mysql> flush  privileges; #刷新权限

    mysql> change  master to
    ->  master_host='192.168.4.77',   #master的ip
    ->  master_user='root',
    ->  master_password='mysql2012',
      ->  master_log_file='mysql-bin.000002', #对端(master)状态显示的值
      ->  master_log_pos=106; #对端(master)状态显示的值
    mysql> start  slave;

    3.master详细配置继续:

    mysql> change  master to
        ->  master_host='192.168.4.78',  #backup 的IP地址
        ->  master_user='root',
        ->  master_password='mysql2012',
        ->  master_log_file='mysql-bin.000003', #对端(backup)状态显示的值

    ->  master_log_pos=106;  #对端(backup)状态显示的值

    mysql> start  slave;        #启动同步

    mysql> exit

    最后:在master backup两台机分别看状态

    Mysql>show slave statusG          #两台机都执行去看

    #主主同步配置完毕,查看同步状态Slave_IO和Slave_SQL是YES说明主主同步成功

    测试:

    在master(192.168.4.77)创建个 data_linkapp 数据库

       myysql>create database data_linkapp;

    去到backup(192.168.4.78)这台机看,master新建的data_linkapp 数据库会同步到backup(192.168.4.78)这台机

    再测:

    在master这台机的test数据库创建个表:

    Mysql> create table user (number INT(10),name VARCHAR(255));

    Mysql> insert into user values(01,'zhangsan');

    mysql>show tables;

    mysql>select number,name from user;

    最后在backup这台看同步过来没有:

    mysql>show tables;

    mysql>select number,name from user;

    当然后面是要配合着keepalived使用的,VIP

  • 相关阅读:
    Python PyInstaller安装和使用教程(搬来的,嘻嘻)
    python 注册码永久性方法
    网上搬来的常用工具
    Pycharm控制台窗口怎样可以显示不同程序的运行结果
    php时间:获取上一个月,本月天数,下一个月
    thinkphp5 --接口实例
    浅谈 PHP 与手机 APP 开发
    php 对象的调用和引入
    php 超全局变量(整理)
    php 全局变量和超全局变量
  • 原文地址:https://www.cnblogs.com/pengrj/p/8689909.html
Copyright © 2011-2022 走看看