MySQL主从同步配置

1.编辑MySQL主上的/etc/my.cnf

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

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

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

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

mysql> CREATE USER 'repl'@'%' IDENTIFIED BY 'Imooc@123456';
mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';
mysql> flush privileges;

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

mysql> FLUSH TABLES WITH READ LOCK;

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

mysql > SHOW MASTER STATUS;

6.MySQL主上dump所有数据

mysqldump --all-databases --master-data > dbdump.db -uroot -p
        在从服务器复制主服务器dbdump.db文件
                scp root@172.16.119.131:~/dbdump.db .
        MySQL从上导入之前dump的数据
                mysql < dbdump.db -uroot -p

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

mysql> UNLOCK TABLES;

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

mysql < aa.db -uroot -p

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

  mysql> CHANGE MASTER TO
  -> MASTER_HOST='master_host_name',
  -> MASTER_PORT=port_num
  -> MASTER_USER='replication_user_name',
  -> MASTER_PASSWORD='replication_password',
  -> MASTER_LOG_FILE='recorded_log_file_name',
  -> MASTER_LOG_POS=recorded_log_position;
  例子:
    CHANGE MASTER TO
    MASTER_HOST='172.16.119.131',
    MASTER_USER='repl',
    MASTER_PASSWORD='Imooc@123456',
    MASTER_LOG_FILE='imooc_mysql.000001',
    MASTER_LOG_POS=1443;
  说明:
    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从上开启同步

  mysql> START SLAVE;
  查看MySQL从的状态
  show slave status;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值