mysql主服配置:
开启二进制日志,这是必须的
log-bin=mysql-bin //开启MYSQL二进制日志 server-id=1 //服务器ID不能重复 binlog-do-db=db1 //需要做主从备份的数据库名字,多个库只能定义多个属性,不能定义在一个属性里 binlog-do-db=db2 binlog-do-db=db3
添加一个供从服同步数据的账号
GRANT REPLICATION SLAVE ON *.* TO '帐号'@'从服务器IP' IDENTIFIED BY '密码';
重启主服
重启后,设为只读
FLUSH TABLES WITH READ LOCK;
查看并记录二进制文件和位置
show master status;
解除只读状态
UNLOCK TABLES;
开始配置从服务器
server-id=2 //服务器ID不能重复 master-port=3306 //主库的端口 replicate-do-db=db1 //需要做复制的数据库名,同样,多库要设置多个属性 replicate-ignore-table=db1.pre_common_session //自动跳过的表,session表没必要做复制 slave-skip-errors = 1032,1062,126,1114,1146,1048,1396 //自动跳过的错误代码,以防复制出错被中断
手动将主服上数据同步到从服
重启从服
mysql命令行执行
change master to master_host='主服ip', master_user='主服上同步账号', master_password='同步账号密码', master_log_file='主服二进制文件名', master_log_pos=position的值;
启动从服 start slave;
查看从服状态
show slave status; Slave_IO_Running | Slave_SQL_Running,这两个yes状态就是正常了,否则的话,查看具体error信息
编辑从服配置
master-host=192.168.1.2 //主库A的IP master-user=rep //刚才在主库创建的帐号 master-password=123 //密码
redis主从设置
主服务器不需要做什么调整,直接在从服务器配置文件里,加上
slaveof 192.168.0.2 6379
从属于 主机ip 端口