MySQL主从同步配置
    1.编辑MySQL主上的/etc/my.cnf,

    1. log-bin=imooc_mysql
    2. server-id=1
    • log-bin :MySQL的bin-log的名字
    • server-id : MySQL实例中全局唯一,并且大于0。

    2.编辑MySQL从上的/etc/my.cnf,

    1. server-id=2
    • server-id : MySQL实例中全局唯一,并且大于0。与主上的 server-id 区分开。

    3.在MySQL主上创建用于备份账号

    1. mysql> CREATE USER 'repl'@'%' IDENTIFIED BY 'password';
    2. mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';

    4.MySQL主上加锁,阻止所有的写入操作

    1. mysql> FLUSH TABLES WITH READ LOCK;

    5.MySQL主上,查看bin-log的文件名和位置

    1. mysql > SHOW MASTER STATUS;

    6.MySQL主上dump所有数据,

    1. mysqldump --all-databases --master-data > dbdump.db -uroot -p

    7.MySQL主进行解锁,解锁后,主上可以写入数据

    1. mysql> UNLOCK TABLES;

    8.MySQL从上导入之前dump的数据

    1. mysql < aa.db -uroot -p

    9.MySQL从上配置主从连接信息

    1. mysql> CHANGE MASTER TO
    2. -> MASTER_HOST='master_host_name',
    3. -> MASTER_PORT=port_num
    4. -> MASTER_USER='replication_user_name',
    5. -> MASTER_PASSWORD='replication_password',
    6. -> MASTER_LOG_FILE='recorded_log_file_name',
    7. -> MASTER_LOG_POS=recorded_log_position;
    • master_host_name : MySQL主的地址
    • port_num : MySQL主的端口(数字型)
    • replication_user_name : 备份账户的用户名
    • replication_password : 备份账户的密码
    • recorded_log_file_name :bin-log的文件名
    • recorded_log_position : bin-log的位置(数字型)
    • bin-log的文件名和位置 是 步骤5中的show master status 得到的。

    10.MySQL从上开启同步

    1. mysql> START SLAVE;

    查看MySQL从的状态

    1. show slave status;