一、主从数据数据库概念
概念:建一个和主数据库一摸一样的数据库,称为从数据库,主数据库一般用来更新实时业务数据,从数据库一般用来数据的读取、备份、调试等。
优点:
(1)主数据库出现故障,从数据库可代替继续工作,不影响业务流程
(2)当线上项目出现bug,无法及时调试的时候,可连接从数据库进行调试。
(3)业务量比较大,采取读写分离,主数据库进行写,从数据库进行读取操作。
(4)进行读写分离后,可以将数据库分布在不同服务器上,提高效能。
二、linux上的复制配置
注意:操作前主数据库开启/远程连接*
环境:centons7,mysql5.6
准备两台服务器:
192.168.88.203 3306 主
192.168.88.202 3306 从
(1)先关闭两台数据库
systemctl restart|start|stop mysqld.service 重启|启动|关闭
(2)主从数据库配置
linux文件路径: vi /etc/my.cnf 文件
主:配置参数:
log_bin=mysql-bin #不必须,启动mysql二进制日志系统
server_id = 1 # 必须,设置服务器的Id,为1表示主,规范为服务器IP的后段
binlog-do-db=zhihuicloud # 需要同步的数据库,如有多个数据库,可重复每个数据库一行
binlog-ignore-db=mysql #不需要同步mysql系统数据库
从:配置参数:
log_bin=mysql-bin #不必须,启动mysql二进制日志系统
server_id = 2 # 必须,设置服务器的Id,为2表示从服务器,规范为服务器IP的后段
binlog-do-db=zhihuicloud # 需要同步的数据库,如有多个数据库,可重复每个数据库一行
binlog-ignore-db=mysql #不需要同步mysql系统数据库
配置完成后启动
systemctl restart|start|stop mysqld.service 重启|启动|关闭
(3)配置启动:主:执行sql
show master status;
结果如图
(4)配置启动:从:执行sql
注意!!!:File,Position,这两个参数,上图查询出来得到值
stop slave ;
CHANGE MASTER TO master_host = '192.168.88.203', -- 需要同步的主服务器
master_user = 'root',-- root账户
master_password = 'i48POqptf0', -- 密码
master_log_file = 'mysql-bin.000010', -- 上图查询的值
master_log_pos = 8425204; -- 上图查询的值
start slave ; -- 启动
show slave status; -- 查询
结果如图
当现实Yes,Yes时,已经配置成功。主等加一个操作,在从自动增加。
从MySQL数据库只是随主MySQL而实时改变,
但是从MySQL数据库的操作对主MySQL没有任何影响!
完毕!!!
面向开发过程,记录学习之路。