mycat 主从复制 步骤

来源:互联网 发布:卡牌游戏 知乎 编辑:程序博客网 时间:2024/05/09 19:04
  1. 启动命令:
    1. cd/home/mycat/app/mycat/bin/
    2. ./mycat start
  2. 进入mycat数据库
    1. mysql -umycat -pmycat -h127.0.0.1 -P8066 -DMycatSchema
  3. 设置master数据库
    1、修改主服务器配置:
    #vi /etc/my.cnf
    binlog-do-db=db1
    binlog-do-db=db2
    binlog-do-db=db3
    binlog-ignore-db = mysql
    log-bin=mysql-bin #启用二进制日志
    server-id=158 #服务器唯一ID,一般取IP最后一段
    2、重启MySQL
    /etc/init.d/mysql restart
    3、建立帐户并授权slave:
    #/usr/local/mysql/bin/mysql -uroot -p123
    mysql>GRANT FILE ON . TO ‘backup’@’%’ IDENTIFIED BY ‘123456’;
    mysql>GRANT REPLICATION SLAVE, REPLICATION CLIENT ON . to ‘backup’@’%’ identified by ‘123456’; #一般不用root帐号,“%”表示所有客户端都可能连,只要帐号,密码正确,此处可用具体客户端IP代替,如192.168.145.226,加强安全。
    刷新权限
    mysql> FLUSH PRIVILEGES;
    查看mysql现在有哪些用户
    mysql>select user,host from mysql.user;
    4、登录主服务器的mysql,查询master的状态
    mysql> show master status;
    +——————+———-+————–+——————+
    | File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
    +——————+———-+————–+——————+
    | mysql-bin.000010 | 106 | db1,db2,db3 | mysql |
    +——————+———-+————–+——————+
    Master 重启后会修改mysql-bin(序号加1)

  4. 设置Slave数据库
    1、修改从服务器配置:
    #vi /etc/my.cnf
    replicate-do-db=db1
    replicate-do-db=db2
    replicate-do-db=db3
    replicate-ignore-db=mysql
    master-connect-retry=60
    server-id=78
    master-host=10.1.176.158
    master-user=backup
    master-password=123456
    master-port=3306
    master-connect-retry=60
    #log-slave-updates
    skip-slave-start #防止复制随着mysql启动而自动启动。即slave端的mysql服务重启后需手动来启动主从复制(slave start),最好加上,slave端数据库服务重启后手动启动slave比较安全

    2、重启MySQL
    /etc/init.d/mysql restart
    3、登录mysql并停止slave服务
    # cd /usr/local/mysql/bin/
    # ./mysql -uroot –p123456 或# /usr/local/mysql/bin/mysql -uroot –p123456
    mysql>slave stop;
    设置与master服务器相关的配置参数
    mysql>change master to master_host=’192.168.15.132’, master_user=’backup’, master_password=’123456’,MASTER_LOG_FILE=’log-error.000010’,MASTER_LOG_POS=106;
    注意:Master重启后slave 要修改MASTER_LOG_FILE,106无单引号。
    启动从服务器复制功能
    Mysql>start slave;
    ERROR 1201 (HY000):Could not initialize master info structure的问题
    解决方案是:运行命令 stop slave;
    成功执行后继续运行 reset slave;
    4、检查从服务器复制功能状态
    mysql> show slave status\G
    以下两个参数必须为YES:
    Slave_IO_Running: Yes
    Slave_SQL_Running:Yes

  5. mycat service.xml配置

    1. <dataNode name="dn1" dataHost="localhost1" database="db1" />
      <dataNode name="dn2" dataHost="localhost1" database="db2" />
      <dataNode name="dn3" dataHost="localhost1" database="db3" />
      <dataHost name="localhost1" maxCon="1000" minCon="10" balance="1"
      writeType="0" dbType="mysql" dbDriver="native" switchType="2" slaveThreshold="100">
      <heartbeat>show slave status</heartbeat>
      <writeHost host="hostM" url="10.1.176.158:3306" user="root"
      password="123456">
      <readHost host="hostS" url="10.1.176.78:3306" user="root"
      password="123456" />
      </writeHost>
      </dataHost>
0 0
原创粉丝点击