搭建主从复制

来源:互联网 发布:果戈里大街知乎 编辑:程序博客网 时间:2024/05/25 23:26

一.搭建mysql的master-slave环境 

1)分别在host1(10.20.147.110)和host2(10.20.147.111)上安装mysql(5.0.45),具体安装方法可见官方文档

2)配置master

首先编辑/etc/my.cnf,添加以下配置:

log-bin=mysql-bin #slave会基于此log-bin来做replication
server-id=1 #master的标示
binlog-do-db = amoeba_study #用于master-slave的具体数据库

创建数据库:

Mysql>Create database amoeba_study;

然后添加专门用于replication的用户:

mysql> GRANT REPLICATION SLAVE ON *.* TO repl@10.20.147.111 IDENTIFIED BY '123456';

注:repl是用于连接的用户名,不一定是本机数据库名,密码不一定与本机数据库密码相同

Mysql>flush privileges;

重启mysql,使得配置生效:

#/etc/init.d/mysqld restart 或 #service mysqld restart

最后查看master状态:

 

3)配置slave

首先编辑/etc/my.cnf,添加以下配置:

server-id=2 #slave的标示,若有第二台从机,则server-id=3

配置生效后,配置与master的连接:

mysql> CHANGE MASTER TO MASTER_HOST='192.168.1.150',MASTER_USER='repl',MASTER_PASSWORD='123456',MASTER_LOG_FILE='mysql-bin.000004',MASTER_LOG_POS=583;

其中MASTER_HOST是master机的ip,MASTER_USER和MASTER_PASSWORD就是我们刚才在master上添加的用户,MASTER_LOG_FILE和MASTER_LOG_POS对应与配置master时show master status里的信息

最后启动slave:

mysql> start slave;

4)验证master-slave搭建生效

通过查看slave机的log(/var/log/mysqld.log):

100703 10:51:42 [Note] Slave I/O thread: connected to master 'repl@10.20.147.110:3306',  replication started in log 'mysql-bin.000003' at position 161261

如看到以上信息则证明搭建成功,如果有问题也可通过此log找原因


注:主从复制中 主库的数据会复制到从库,但从库的数据不会复制到主库

0 0
原创粉丝点击