zoukankan      html  css  js  c++  java
  • MySQL主从介绍 准备工作 配置主 配置从 测试主从同步

    配置主:
    • 安装mysql
    • 修改my.cnf,增加server-id=130和log_bin=xiaobo1
    • 添加环境变量
    Vim /root/.bash_profile
    PATH=$PATH:/usr/local/mysql/bin/
    生效source !$
    • 修改完配置文件后,启动或者重启mysqld服务
    • /etc/init.d/mysqld restart
    • 把mysql库备份并恢复成xiaobo库,作为测试数据
    • mysqldump -uroot -pxiaobo mysql > /tmp/mysql.sql
    • mysql -uroot -pxiaobo -e “create database xiaobo”
    • mysql -uroot -pxiaobo xiaobo < /tmp/mysql.sql
    • 创建用作同步数据的用户
    《参考修改mysql密码mysqladmin -uroot password 'xiaobo'
    进入mysql   mysql -uroot   -pxiaobo
    • grant replication slave on *.* to 'repl'@10.211.55.52 identified by 'xiaobo';
    • flush tables with read lock; (暂时锁住表)
    • show master status;
    • 退出 quit
    配置从
    • 安装mysql
    • 查看my.cnf,配置server-id=132,要求和主不一样
    • 修改完配置文件后,启动或者重启mysqld服务
    /etc/init.d/mysqld restart
    • 把主上xiaobo库同步到从上
    [root@CentOS7_two mysql]# scp 10.211.55.51:/tmp/*sql /tmp/
    • 可以先创建xiaobo库,然后把主上的/tmp/mysql.sql拷贝到从上,然后导入xiaobo库
    • scp 10.211.55.51:/tmp/*sql /tmp/
    • mysql -uroot -pxiaobo
    • create database xiaobo;
    • 恢复数据:将mysql.sql数据导入xiaobo数据库 
    • [root@CentOS7_two mysql]# mysql -uroot -pxiaobo xiaobo < /tmp/mysql.sql
    • mysql -uroot -pxiaobo 执行stop slave;
    • 主数据服务器 记住master_log_file='xiaobo1.000001',master_log_pos=653311

    mysql> change master to master_host='10.211.55.51', master_user='repl', master_password='xiaobo', master_log_file='xiaobo1.000001', master_log_pos=653311;
    • 注意:关闭selinux :
    setenfource 0
    关闭firewalld
    systemctl stop firewalld
    
    • 开启从机:start slave;
    • 查看当前的状态 show slave status,有俩个yes就对!
    mysql> show slave statusG
    *************************** 1. row ***************************
                   Slave_IO_State: Waiting for master to send event
                      Master_Host: 10.211.55.51
                      Master_User: repl
                      Master_Port: 3306
                    Connect_Retry: 60
                  Master_Log_File: xiaobo1.000002
              Read_Master_Log_Pos: 653371
                   Relay_Log_File: CentOS7_two-relay-bin.000002
                    Relay_Log_Pos: 281
            Relay_Master_Log_File: xiaobo1.000002
                 Slave_IO_Running: Yes
                Slave_SQL_Running: Yes
    
    • 还要到主上执行 unlock tables
    回顾
    从上执行mysql -uroot
    show slave stautsG
    看是否有
    Slave_IO_Running: Yes
    Slave_SQL_Running: Yes
    还需关注
    Seconds_Behind_Master: 0  //为主从延迟的时间
    Last_IO_Errno: 0
    Last_IO_Error:
    Last_SQL_Errno: 0
    Last_SQL_Error:
    主服务器上
    binlog-do-db=      //仅同步指定的库
    binlog-ignore-db= //忽略指定库
    从服务器上
    replicate_do_db=
    replicate_ignore_db=
    replicate_do_table=
    replicate_ignore_table=
    replicate_wild_do_table=   //如aming.%, 支持通配符% 
    replicate_wild_ignore_table=
    测试主从
    
    主上 mysql -uroot -pxiaobo
    使用xiaobo数据库:
    use xiaobo;
    select count(*) from user;
    truncate table user;
    到从上 mysql -uroot -pxiaobo
    select count(*) from user;
    主上继续drop table user;
    从上查看user表
  • 相关阅读:
    freemarker ,DEFAULT_INCOMPATIBLE_IMPROVEMENTS 找不到
    git clone的时候filename too long解决办法
    什么是CPU密集型、IO密集型?
    Mysql中联合索引的最左匹配原则(百度)
    linux利用grep查看打印匹配的下几行或前后几行的命令
    手机号码验证的正则表达式
    Http、Socket、WebSocket之间联系与区别
    thrift 是rpc协议
    面试小结之Elasticsearch篇
    maven 左边空了
  • 原文地址:https://www.cnblogs.com/zhaocundang/p/8783602.html
Copyright © 2011-2022 走看看