Mysql 主从复制-配置篇

Mysql 主从复制的原理已经在Mysql 主从复制-原理篇大体介绍了下,这篇主要介绍如何搭建一套Mysql主从复制体系。

Mysql主从复制分为主配置和从配置两部分:

Master 配置:

1.修改/etc/my.cnf

[mysqld]

#开启mysql binlog模式

log-bin=mysql-bin

#设置server-id,要与slave的server-id不一样

server-id=1

2.重启mysql

 /etc/init.d/mysql restart

3.登录mysql,检查server_id

mysql -uroot -proot

mysql> show variables like "%server_id%"

4.建立replication账户和权限

mysql> GRANT REPLICATION SLAVE ON *.* TO 'sync'@'172.16.25.51' IDENTIFIED BY 'sync';

5.记录Masterbinlog的位置

mysql> show master status;



如果Master已经有很多表了,而slave没有,则Master首先要将自己的表结构复制到slave上,如果是两个新数据库,则可以跳过步骤6

6.将Master数据库备份

mysqldump -uroot -proot --all-databases > dump.sql

将dump.sql copy到slave机器上


Slave 配置:

1.修改/etc/my.cnf

[mysqld]

#开启mysql binlog模式

log-bin=mysql-bin

#设置server-id,要与Master的server-id不一样

server-id=56

2.重启mysql

 /etc/init.d/mysql restart

3.如果做了Master的步骤5,那么现在执行slave的步骤3,否则跳过步骤3

mysql> mysql -uroot -proot < dump.sql

4.登录mysql,检查server_id

mysql -uroot -proot

mysql> show variables like "%server_id%"

5.如果server_id与my.cnf中相同则跳过,否则强行改变server_id

mysql> set global server_id=56;

6.slave上配置master信息 与 master 步骤5的log_file 以及 log_pos 相同

mysql> change master to master_host='172.16.25.51',master_user='sync',master_password='sync',master_log_file='mysql-bin.000002',master_log_pos=179423165;

7.开启slave

mysql> start slave;

8.检查slave状态

mysql> show slave status\G

Slave_IO_Running: Yes
Slave_SQL_Running: Yes
上述两个线程状态为Yes,则配置完毕










  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值