准备初始环境
    # 三台虚拟机
    10.0.0.51 db01
    10.0.0.52 db02
    10.0.0.53 db03
    防火墙关闭
    #清理环境:
    pkill mysqld
    rm -rf /data/3306/mkdir -p /data/3306/data /data/3306/binlog
    chown -R mysql.mysql /data/

    # 准备配置文件
    主库db01:
    mv /etc/my.cnf /tmp
    cat > /etc/my.cnf <[mysqld]
    basedir=/usr/local/mysql
    datadir=/data/3306/data
    socket=/tmp/mysql.sock
    server_id=51
    port=3306
    secure-file-priv=/tmp
    log_bin=/data/3306/binlog/mysql-bin
    binlog_format=row
    gtid-mode=off
    [mysql]
    prompt=db01 [\d]>
    EOF
    slave1(db02):
    mv /etc/my.cnf /tmp
    cat > /etc/my.cnf <[mysqld]
    basedir=/usr/local/mysql
    datadir=/data/3306/data
    socket=/tmp/mysql.sock
    server_id=52
    port=3306
    secure-file-priv=/tmp
    log_bin=/data/3306/binlog/mysql-bin
    binlog_format=row
    gtid-mode=off
    [mysql]
    prompt=db02 [\d]>
    EOF
    slave2(db03):
    mv /etc/my.cnf /tmp
    cat > /etc/my.cnf <[mysqld]
    basedir=/usr/local/mysql
    datadir=/data/3306/data
    socket=/tmp/mysql.sock
    server_id=53
    port=3306
    secure-file-priv=/tmp
    log_bin=/data/3306/binlog/mysql-bin
    binlog_format=row
    gtid-mode=off
    [mysql]
    prompt=db03 [\d]>
    EOF
    初始化数据
    mysqld —initialize-insecure —user=mysql —basedir=/usr/local/mysql —
    datadir=/data/3306/data
    启动数据库
    /etc/init.d/mysqld start
    主库(51)创建复制用户和远程管理用户
    mysql -e “create user repl@’10.0.0.%’ identified with mysql_native_password by
    ‘123’;grant replication slave on . to repl@’10.0.0.%’;”
    mysql -e “create user root@’10.0.0.%’ identified with mysql_native_password by
    ‘123’;grant all on . to root@’10.0.0.%’;”
    [root@db01 app]# mysql -e “select user,host,plugin from mysql.user;”
    +—————————+—————-+———————————-+
    | user | host | plugin |
    +—————————+—————-+———————————-+
    | repl | 10.0.0.% | mysql_native_password |
    | root | 10.0.0.% | mysql_native_password |
    | mysql.infoschema | localhost | caching_sha2_password |
    | mysql.session | localhost | caching_sha2_password |
    | mysql.sys | localhost | caching_sha2_password |
    | root | localhost | caching_sha2_password |
    [root@db02 data]# mysqldump -uroot -p123 -h 10.0.0.51 -P 3306 -A —master-data=2
    —single-transaction -R -E —triggers >/tmp/full.sql
    db02 [mysql]>source /tmp/full.sql
    课后练习:
    通过pxb方式构建主从
    启动主从复制
    [root@db02 data]# grep “--\ CHANGE MASTER” /tmp/full.sql
    — CHANGE MASTER TO MASTER_LOG_FILE=’mysql-bin.000002’, MASTER_LOG_POS=1187; ## 指定主库所使用的binlog日志文件以及pos号必须要指定
    [root@db02 data]# mysql -e \
    “CHANGE MASTER TO \
    MASTER_HOST=’10.0.0.51’,\
    MASTER_USER=’repl’, \
    MASTER_PASSWORD=’123’, \
    MASTER_PORT=3306, \
    MASTER_LOG_FILE=’mysql-bin.000002’, \ ##指定主库的binlog日志文件
    MASTER_LOG_POS=1187, \ ##指定主库的pos号
    3.2 新姿势-通过Clone-plugin搭建传统和GTID主从
    a. 主库操作
    b. 从库操作
    c. 启动主从复制
    MASTER_CONNECT_RETRY=10;”
    [root@db02 data]# mysql -e “start slave;”
    [root@db02 data]# mysql -e “show slave status \G”|grep “Running:”
    Slave_IO_Running: Yes
    Slave_SQL_Running: Yes