张颢镡 发表于 2018-10-6 11:46:40

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

  一、mysql主从同步(为后面实现读写分离,MMM高可用集群做基础)
  主库配置:主库的IP地址:192.168.4.111
  1、首先给用户授权,用来实现同步时,从库连接主库的用户名:
  grant replication slave on *.* to tongbu@"%"identifiedby"123456";
  //授权tongbu这个用户在所有的从库上都有复制权限,并设置密码
  2、启用binlog日志:vim /etc/my.cnf
  server_id=111   //指定编号
  log-bin=master111//指定日志文件名,启用binlog日志
  binlog-format="mixed" //日志类型
  3、重启数据库服务:
  4、查看正在使用binlog日志文件:showmaster   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=数据库名)

页: [1]
查看完整版本: mysql系列之7----主从的设置