zoukankan      html  css  js  c++  java
  • mysql 重置从库

    一、主库备份
    1、备份主数据库数据

    mysqldump -hip -uusername -ppassword --single-transaction --master-data=1 --databases dbname > dbname.sql
    备注:

    --single-transaction 启用一个事务来进行备份操作,备份过程中不会对数据库进行锁操作
    --master-data=1 备份必须加上此参数。当这个参数的值为1的时候,mysqldump出来的文件就会包括CHANGE MASTER TO这个语句,CHANGE MASTER TO后面紧接着就是file和position的记录,在slave上导入数据时就会执行这个语句,salve就会根据指定这个文件位置从master端复制binlog

    二、从库恢复
    1、查看slave状态

    MySQL [table]> show slave status;
    2、停止slave状态,清除从库主从信息

    MySQL [table]> stop slave; (停止从库)
    MySQL [table]> reset slave all; (取消从库和主从的关系)
    3、将从库已同步主库数据库删除

    MySQL [table]> DROP DATABASE DBNAME;
    4、登录从数据库

    MySQL [table]> mysql -hip -uusername -ppasswd -Pport
    5、将备份文件导入到从服务器
    将备份过来的数据导入到从服务器

    MySQL [table] > CREATE DATABASE DBNAME;
    MySQL [table] >source /dbname.sql ;
    导入之后查看数据是否导入成功

    6、查看主服务器备份数据MASTER_LOG_FILE地址及MAST_LOG_POS位置

    cat dbname.sql |grep "MASTER_LOG_FILE"
    -- CHANGEMASTER TO MASTER_LOG_FILE='mysql-bin.000015', MASTER_LOG_POS=7334223423;

    7、执行同步语句,这里填写的binlog日志文件及偏移量位置为第6步中的MASTER_LOG_FILE地址MAST_LOG_POS的值

    CHANGE MASTER TO MASTER_HOST='192.168.1.1',MASTER_USER='rep',MASTER_PASSWORD='slavepass',MASTER_LOG_FILE='mysql-bin.000015',MASTER_LOG_POS=7334223423;
    8、启动slave

    MySQL [table] > start slave;
    9、查看slave状态

    MySQL[table]> show slave status G ;
    查看slave两个线程是否为YES状态

    Slave_IO_Running:Yes
    Slave_SQL_Running:Yes

    查看占用CPU高的SQL,top –H –p <mysql进程id>,然后使用mysql内部的表问题定位sql:

    SELECTa.THREAD_OS_ID,b.user,b.host,b.db,b.command,b.time,b.state,

    FROMperformance_schema.threads a,information_schema.processlist b

    WHEREb.id = a.processlist_id;

    -d, --database=name      仅显示指定数据库的转储内容。

    -o, --offset=#           跳过前N行的日志条目。
    -r, --result-file=name   将输入的文本格式的文件转储到指定的文件。
    -s, --short-form         使用简单格式。
    --set-charset=name       在转储文件的开头增加'SET NAMES character_set'语句。
    --start-datetime=name    转储日志的起始时间。
    --stop-datetime=name     转储日志的截止时间。
    -j, --start-position=#   转储日志的起始位置。
    --stop-position=#        转储日志的截止位置。

     .mysqlbinlog.exe --start-datetime="2021-10-29 13:00:00" --stop-datetime="2021-10-29 14:30:00"   D:dingFilesmysql-5.6.45-winx64mysql-5.6.45-winx64inlog_bin.000170  --result-file=C:UsersxpcDesktop111.txt 

  • 相关阅读:
    结束咯
    在Ubuntu上不能使用PPA下载
    月亮+大环
    piano
    花都论坛,广州花都本地生活
    LLVM的调用协议与内存对齐
    SALVIA 0.5.2优化谈
    LLVM随笔
    OS之争:永不停歇的战争(二,完结)
    OS之争:永不停歇的战争(一)
  • 原文地址:https://www.cnblogs.com/culushitai/p/14107921.html
Copyright © 2011-2022 走看看