MySQL主从同步

1.准备 两台虚拟机 A 192.168.174.132 【主】 B 192.168.174.133 【从】

2.MySQL版本>5.0

3.常用命令

  show master status;

  show slave status;

  show procudesslist G; 可以查看当前有多少客户端链接到本库

4.配置

4.1.确保/etc/my.cnf属于当前MySQL,可以把自动生成的复制到/etc/my.cnf

  cp /usr/shara/mysql/my-medium.cnf /etc/my.cnf

4.2.主库配置my.cnf

  server-id=10101

  log-bin=mysql-bin

  binlog-ignore-db=mysql,test

  innodb_flush_log_at_trx_commit=1

  sync_binlog=1

  log_slave-updates

  show master status 查看当前主库状态

为从库添加一个用户

  GRANT REPLICATION SLAVE ON *.* TO 'repl'@'2.2.2.%' IDENTIFIED BY 'testpass';

重启MySQL

4.3从库配置 my.cnf

  server-id=20101

  replicate-do-db=demo //要同步的数据块

  replicate-do-table=user //要同步的表【可以添加多条】

  master-info-file=master.info

  relay-log=relay-relay-bin

  relay-log-index=relay-relay-bin.index

  relay-log-info=relay-relay-log.info

  重启MySQL

  进入MySQL 设置主库信息 有可能需要先关闭slave [stop slave]

  change master to master_host='1.1.1.1', //主库ip

  master_user='repl', //刚才在主库分配的用户名

  master_password='testpass', // 分配的密码

  master_log_file='mysql-bin.000003', //主库show master status 中的文件

  master_log_pos=107; //主库show master status 中

  开启slave 【start slave】 重启MySQL 查看从库信息 show slave

   确保中间的

    Slave_IO_Running=Yes

    Slave_SQL_Running=Yes

  出错可以通过查看MySQL的错误日志定位

  查看MySQL错误日志位置 show variables like 'log_error';

  如果同步失败,可以通过show slave status; 查看错误的执行的sql语句,然后需要 start slave 因为出错就会自动停止slave

原文地址:https://www.cnblogs.com/hanyouchun/p/4718488.html