zoukankan      html  css  js  c++  java
  • mysql数据库主从操作记录

    master数据库已投入生产一段时间后,做主从复制的操作记录

    环境:

    master库:172.18.237.13
    slave库:172.18.237.14

    mysql版本说明:

    master:mysql 5.6.33 

    slave:mysql 5.6.35

    已经装了5.6.33版本,找了很久没有找到5.6.33版本的包,勉强找到了5.6.35版本的包,只能硬头皮用着(最终主从搭建成功,暂时未发现其他异常)

    1、确保master、slave服务器时间同步

    yum -y install ntp

    ntpdate  time.pool.aliyun.com #最好使用crontab做为任务定时时间同步

    systemctl start ntpd

    systemctl enable ntpd

    2、修改master库my.cnf文件开启主从配置以及bin-log,加入如下配置参数:

    #开启主从和binlog日志记录
    server-id = 52
    log-bin = mysql-bin
    #binlog日志定期清理,单位天。
    expire_logs_days = 5
    #binlog日志保存路径和文件名,可根据实际目录进行改写
    log-bin = /usr/local/mysql/data/binlogs/mysql-bin
    #使用混合模式复制
    binlog_format = mixed
    #binlog每个日志文件大小
    max_binlog_size = 100M
    #binlog缓存大小
    binlog_cache_size = 4M
    #最大binlog缓存大小
    max_binlog_cache_size = 512M
    3、重启master数据库,使其主从配置生效。
    service mysqld restart

    /usr/local/mysql/data/binlogs/下已经存在bin-log日志表示成功开启bin-log日志记录

    4、master数据库授权slave服务器主从同步帐号
    grant replication slave on *.* to tb@'172.18.237.14' identified by '123456';

    5、锁定主数据库,只允许读不许写入。

    FLUSH TABLES WITH READ LOCK;
    6、再进入master数据库,查看master状态,查看bin-log文件名以及position点,并做记录,slave连接master时会用到
    show master status;
    如:
    File        | Position
    mysql-bin.000001 | 120

    ###这里通过mysqlbinlog工具将不可直接读取的bin-log日志转换为可读格式在进行查看。

    ###mysqlbinlog mysql-bin.000001 >abc.txt

    ##head -n10 abc.txt

    7、备份master数据库至all.sql,可排除数据库系统库(Database|performance_schema|information_schema|mysql|test)|也可以不排除
    mysql -e "show databases;" -uroot -p| grep -Ev "Database|performance_schema|information_schema|mysql|test" | xargs mysqldump -uroot -p --databases > all.sql
    8、将all.sql备份文件scp至slave服务器

    scp all.sql root@172.18.237.14:/root/

    9、进入slave服务器将mysql的data目录中的文件进行备份(内容仅仅是初装的系统库等文件)

    cp  /data/mysql56  /data/mysql56.bak

    10、再用all.sql还原到slave数据库中
    mysql -uroot -p <all.sql

    11、提前将bin-log日志存放目录创建并将其所属用户、用户组改为mysql,后续my.cnf配置将加入日志存放路径

    cd /usr/local/mysql/data/

    mkdir binglogs

    chown -R mysql:mysql binglogs

    13、进入slave服务器,修改slave库my.cnf配置文件,开启主从模式

    #不能与master的值一致
    server-id = 203
    #从数据库通常要求只读(可以限定普通用户进行数据修改的操作,但不会限定具有super权限的用户(如超级管理员root用户)的数据修改操作。)
    read_only=1
    #还可以添加其他参数...

    14、重启slave,使其主从配置生效
    service mysqld restart
    15、连接master数据库,配置master的相关参数并启动slave(position点用上面第6步查到的点)
    change master to master_host='172.18.237.13',master_user='tb',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=120;
    start slave;
    16、查看主从连接状态
    show slave statusG;
    如下所示表示主从创建成功:
    Slave_IO_Running: Yes
    Slave_SQL_Running: Yes

    17、到master数据库解锁表

    UNLOCK TABLES;

    18、观察slave状态中的Read_Master_Log_Pos点是否在不断的变化,若变化表示已经有新数据库同步

    show slave statusG;

    未至精疲力尽,不要怨天尤人。昨日因,今日果。今日为,明日果也!
  • 相关阅读:
    力扣3. 无重复字符的最长子串
    力扣724. 寻找数组的中心索引
    力扣105. 从前序与中序遍历序列构造二叉树
    力扣541. 反转字符串 II
    力扣496. 下一个更大元素 I
    力扣129. 求根到叶子节点数字之和
    力扣628. 三个数的最大乘积
    力扣415. 字符串相加
    力扣409. 最长回文串
    力扣404. 左叶子之和
  • 原文地址:https://www.cnblogs.com/ccit/p/9998599.html
Copyright © 2011-2022 走看看