mysql 主从复制

mysql 开启主从复制
1、配置Master主服务器

(1)在Master MySQL上创建一个用户‘synchro’,并允许其他Slave服务器可以通过远程访问Master,通过该用户读取二进制日志,实现数据同步。

  1 mysql>create user synchro; //创建新用户
  2 //synchro用户必须具有REPLICATION SLAVE权限,除此之外没有必要添加不必要的权限,密码为123456。说明一下192.168.1.111,这个配置是指明synchro用户所在服务器。
  3 mysql> GRANT REPLICATION SLAVE ON *.* TO 'synchro'@'192.168.1.111' IDENTIFIED BY '123456';
(2)找到MySQL安装文件夹修改my.Ini文件 (linux 下 my.cnf)。mysql中有好几种日志方式,这不是今天的重点。我们只要启动二进制日志log-bin就ok。

       在[mysqld]下面增加下面几行代码

  1 server-id=1 //给数据库服务的唯一标识,一般为大家设置服务器Ip的末尾号
  2 log-bin=master-bin
  3 log-bin-index=master-bin.index
(3)查看日志

  mysql> SHOW MASTER STATUS;
  +-------------------+----------+--------------+------------------+
  | File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
  +-------------------+----------+--------------+------------------+
  | master-bin.000001 | 1285 | | |
  +-------------------+----------+--------------+------------------+
  1 row in set (0.00 sec)

重启MySQL服务

2、配置Slave从服务器(windows)

(1)找到MySQL安装文件夹修改my.ini文件(linux 下 my.cnf),在[mysqld]下面增加下面几行代码

  1 [mysqld]
  2 server-id=2
  3 relay-log-index=slave-relay-bin.index
  4 relay-log=slave-relay-bin
重启MySQL服务

(2)连接Master

  change master to master_host='192.168.1.111', //Master 服务器Ip
  master_port=3306,
  master_user='synchro',
  master_password='123456',
  master_log_file='master-bin.000001',//Master服务器产生的日志
  master_log_pos=1258;

(3)启动Slave

start slave;

注意事项:

master_log_pos,master_log_file  这个表示需要同步的起始命令的坐标(如上为第一个文件的 第1258条命令)

这两个信息可以在主库中通过 SHOW MASTER STATUS;查询

当同步卡住报错时,如报错说更新失败,插入失败,找不到表等等时,可以在从库修复相应的数据,然后 stop slave;start slave; 解决

如果找不到原有的数据时,可以修复到当前状态,通过跳过该指令

set global sql_slave_skip_counter=1;   stop slave; start slave;

锁表

flush tables with read lock;

解锁表

unlock tables

 

转载于:https://www.cnblogs.com/qinshuipo/p/9764871.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值