mysql系列----主从的设置

一、mysql主从同步(为后面实现读写分离,MMM高可用集群做基础)

主库配置:主库的IP地址:192.168.4.111

1、首先给用户授权,用来实现同步时,从库连接主库的用户名:

grant replication slave on *.* to tongbu@"%"  identified  by  "123456";

//授权tongbu这个用户在所有的从库上都有复制权限,并设置密码

2、启用binlog日志:vim /etc/my.cnf

   server_id=111   //指定编号

   log-bin=master111  //指定日志文件名,启用binlog日志

   binlog-format="mixed" //日志类型

3、重启数据库服务:

4、查看正在使用binlog日志文件:show master status\G;

从库配置:从库的IP地址:192.168.4.112

1、查看自己是否是主从数据库

show master status;   show slave status;

2、测试主数据库的授权用户是否有效,看能否登陆

3、在配置文件里面添加server_id=112,并重启服务

4、在mysql命令行下,更改配置,配置主库相关信息

   change master to

-> master_host='192.168.4.111',  //主库的地址

-> master_user='tongbu',    //连接的用户名

-> master_password='123456', //密码

-> master_log_file='111-bin.000001', //日志文件名称

-> master_log_pos=154; //偏移量

5、启动从服务:start slave;

6、show slave status\G //查看从的状态,确认下面的两行都是yes

   Slave_IO_Running: Yes

   Slave_SQL_Running: Yes

7、测试同步效果:

在主服务器上,创建库,表,插入记录,查看从服务器上是否数据一样。

二、关于日志文件的一些信息

1、几个常见的日志文件

112-relay-bin.000006 //中继日志文件

112-relay-bin.index //中继日志文件索引

relay-log.info //中继日志

master.info //主库信息

2、如何把从库恢复成独立的服务器:

stop slave;      reset slave all;

3、关于线程和程序的一些信息

IO线程:把master库的binlog日志内容记录到本机的relay-binlog日志里

sql线程:把relay-binlog日志里的sql命令写到本机的库

show processlist; Binlog Dump //查看主上运行的程序,然后可以看到binlog dump程序

show processlist; Connect //可以查看从库上运行的程序

三、主从同步常用参数(/etc/my.cnf)

1、主库:binlog_do_db=数据库名 //只允许同步的库

            binlog_ignore_db=数据库名   //不同步的库

2、从库:开启级联复制(log_slave_updates)主从从结构的第一台从库上配置

        同步个别的数据库(replicate_do_db=数据库名)

        不同步的库(replicate_ignore_db=数据库名)

猜你喜欢

转载自blog.51cto.com/14421632/2415071