业务测试

  1. 客户端向主库批量导入数据(例如通过BenchMarkSQL工具向主库批量导入tpcc数据。可参考《BenchMarkSQL 测试指导》)。
  2. 确认所有从库同步完成。

    1
    /usr/local/mysql/bin/mysql -uroot -p123456 -S /data/mysql/run/mysql.sock
    
    1
    show slave status\G;
    

    Slave_SQL_Running_State的状态值是“Slave has read all relay log; waiting for more updates”表示从库同步完成。

  3. 获取主库状态值。

    1. 登录主库。
      1
      /usr/local/mysql/bin/mysql -uroot -p123456 -S /data/mysql/run/mysql.sock
      
    2. 获取主库状态值。
      1
      show master status;
      
      • 传统方式:记录File和Position的状态值。

      • GTID方式:记录Executed_Gtid_Set的状态值。

  4. 获取从库状态值。

    1. 登录从库。
      1
      /usr/local/mysql/bin/mysql -uroot -p123456 -S /data/mysql/run/mysql.sock
      
    2. 获取从库状态值。
      1
      show slave status\G;
      
      • 传统方式:记录Master_Log_File、Read_Master_Log_Pos和Exec_Master_Log_Pos的状态值。

      • GTID方式:记录Retrieved_Gtid_Set和Executed_Gtid_Set的状态值。

  5. 对比前面获取的主库状态值和从库状态值,如果一致则表明从库relay log回放完成。

    • 传统方式:从库Master_Log_File的状态值和主库File的状态值一致,从库Read_Master_Log_Pos、从库Exec_Master_Log_Pos的状态值和主库Position的状态值一致。
    • GTID方式:从库Retrieved_Gtid_Set、Executed_Gtid_Set的状态值和主库Executed_Gtid_Set的状态值一致。