CenOS7编译安装nginx

主从复制
打开文件set/my.cnf

每台机器都有一个唯一的ID 所以主从都要设置

server-id=199 (199是机器的ID)

在主服务器添加

binary log

log-bin=mysql-bin 建立二进制日志

statement row mixed 语句 磁盘行 两这结合

binlog-format=mixed

在从服务器添加

server-id=200
relay-log=mysql-relay

主数据库给从权限

创建一个普通用户:grant all on . to user1 identified by ‘123456’;
(all 表示所有的权限(读、写、查询、删除等等操作), . 前面的 * 表示所有的数据库,
后面的 * 表示所有的表,identified by 后面跟密码,用单引号括起来。这里的user1指的
是localhost上的user1)

给一个账号进行授权:grant replication client,replication slave on . to ‘repl’@’10.101.110.%’ identified by ‘repl’
刷新权限 flush privileges;

(可以查看数据库的日志)
cd /var/lib/mysq 里面的000003结尾的就是日志
查看最新的日志用 more mysql-bin.index
也可以看:show master status;数据库中显示的数据中file指的是时间,pos是指位置

用mysql -h ID -uuser从库连接后
grant all on . to user1 identified by ‘123456’;
change master to (master 是固定值)
master_host=’10.101.110.11’,
master_user=’user’,
master_password=”,
master_log_file=’mysql-bin.000002’, (上面查看的数据填在这里)
master_log_pos=698;
(从服务器得到这些数据后可以进入主表日志)

show master status 查看master的状态,尤其是现在的状态
show slave status \G 查看slave的状态
主服务器如果有以前的信息用:reset slave; 重置的意思;
之后启动start slave;(启动之后就开始坚挺)

主服务器的日志格式用那种好?

有statement row mixed

statement 影响所有行的时候推荐使用,像row针对数据库只修改了一行推荐用row mixed是两者的结合

主主复制主键自增的冲突
中心思想其实就是“我读你的二进制日志你读我的二进制日志”
set session auto_increment_increment=2 #每步增长2

set session auto_increment_offset=1 #从1开始增加
set global auto_increment_increment=2

set global auto_increment_offset=1

global 意思是更改全局

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值