zoukankan      html  css  js  c++  java
  • 搭建Mysql双机热备 (主从同步)

    准备两台centos7主机:
    10.0.18.132 master

    10.0.18.136  slave

    先把selinux关闭,iptables关闭  或者添加端口

    132 master安装好Mysql后,在其my.cnf中添加以下数据

    [mysqld]

    ...

    server-id=1
    log-bin=mysql-bin
    binlog-do-db=test

    binlog-ignore-db=information_schema
    binlog-ignore-db=mysql
    binlog-ignore-db=performance_schem

    ...

    /etc/init.d/mysqld restart  重启数据库

    mysql -uroot -p 回车进入数据库 (如要指定sock  -S sock的绝对路径)

    grant file on *.* 'ljc'@'10.0.18.136' identified by '123456' ; #指定只能10.0.18.136机器以ljc用户登录

    grant replication slave on *.* to 'ljc'@'10.0.18.136' indentified by '123456';

    创建数据库

    create database test default character set 'utf8';

    创建好数据库最好将其从机

    mysqldump -uroot -p123456 --databases test > /tmp/test.sql

    scp -r /tmp/test.sql root@10.0.18.136:/tmp/

    然后到slave 10.0.18.136还原数据库

    mysql -uroot -p < /tmp/test.sql

    回到 master 10.0.18.132操作

    use test;

    create table mytest(username varchar(12),password varchar(12));

    show master status;

     记住 File  Position 的参数 Slave需要用到

    此时换到 slave 10.0.18.136操作

    对my.cnf添加以下

    [mysqld]

    ...

    server_id=2
    #log-bin=mysql-bin
    binlog-do-db=test
    log-slave-updates
    #slave-skip-errors=all
    slave-net-timeout=60

    ...

    千万不要在my.cnf添加master端口 ip 等信息 因为在mysql 5.6后已经不支持这种形式

    同时修改下数据库的数据存放目录中的auto.cnf 因为如果是从主数据库拷贝的 需要修改uuid 随便改个数字 保证和主数据库uuid不同就行

    此时可以重启数据库

    /etc/init.d/mysqld restart

    进入数据库

    mysql -uroot -p

    change master to master_host="10.0.18.136", master_user="ljc", master_passeord="123456", master_log_file="mysql-bin.000002", master_log_pos=808;

    start slave;

    show slave status G

    Slave_SQL_Running: Yes

    Slave_IO_Running:Yes

    表示主从双机热备搭建完成 接着是测试

    master 10.0.18.132

    对mytest表插入数据

     insert into mytest(username, password) values('cc', 123);

    slave 10.0.18.136

    use test

    select * from mytest;

    数据一致 表示完成~ 

    读写分离和数据库优化下个随笔见~

  • 相关阅读:
    C#验证类(使用正则表达式)
    SQL数据库还原语句
    JS键盘或鼠标事件
    列表针对列宽度自动调整显示内容,超长以...缩写结尾
    SQL按照日、周、月、年统计数据 (转自BLEACH的blog)
    SQL利用Case When Then多条件判断
    调用Web服务:请求因HTTP状态401失败:Unauthorized
    IFrame自动适应宽高,去掉空白
    Asp调用WebService事例
    Timer不执行Elapsed事件的解决办法
  • 原文地址:https://www.cnblogs.com/Liang-jc/p/9408464.html
Copyright © 2011-2022 走看看