CentOS7-MySQL-主从
1.定时任务 crontab
- 创建规则
crontab -e
- 复制一个文件到home下
* * * * * cp /etc/profile /home/profile.bak
语法: minute hour day month week 定时规则做的事
* :代表任何可能
2-6:代表2,3,4,5,6
crontab -r 删除规则
crontab -l 查看规则
1. 普通文件的同步
- NFS 网络文件共享可同步存储数据
- windows 的 samba
- Linux 定时任务
- ftp 数据同步
- ssh+scp 服务器远程同步
2. 文件系统的同步
- drbd(基于文件系统同步),几乎同步任何业务数据
3. 数据库的同步
- MySQL 主从复制
- Oracle DataGuard(甲骨文推出的一种高可用性数据库方案)
4. MySQL 主从复制介绍
- MySQL 支持单向、双向、链式级联、实时、异步复制,在复制过程中,一台服务 器充当主服务器(master),一个或多个其他服务器充当从服务器(slave)
- 复制可以是单向:M——>S,也可以是双向:M<——>M
5. 主从复制的应用场景
- 主从服务器互为备份,加强数据库架构的健壮性
- 主从服务器读写分离,分担网站压力,从服务器只处理用户的查询请求
- 将从服务器,按照业务拆分,分担压力
6. 主从复制的原理
- SQLyog 也有 mysql 的日志信息
- Master 将改变记录到二进制日志(binary log)中
- Slave 将 Master 的二进制日志事件(binary log events)拷贝到它的中继日志(relay log)
- Slave 重做中继日志(Relay Log)中的事件,将 Master 上的改变反映到它自己的数据 库中
- 这些是由从库在做,所以是异步的数据同步
7. CentOS7 搭建 MySQL 主从复制
- grant all privileges on 库名.表名 to '用户名'@'IP 地址' identified by '密码' with grant option;
搭建过程
(1)启动两台节点(都有mysql),node01和node02
(2)master(主节点)中复制配置文件
cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
(3)重启mysql服务,使配置和生效
(4)可以查看是否修改成功
(5)slave同样的方法,配置server_id为2,重启服务
vi /etc/my.cnf 进入之后改为2
(6)master节点,查看master状态
show master status;
(7)slave节点,设置配置,logfile和logpos是上图查出来的
master_host设置为master的号
(8)启动从服务
(9)查看启动状态
(10)mysql远程授权问题 master中写
grant all privileges on 库名.表名 to ‘用户名’@’IP地址’ identified by ‘密码’ with grant option;
授权并生效
(11)此时,master写入数据,slave会自动拉取数据
MySQL双主
(1)slave节点查看日志文件位置
(2)master节点设置
(3)查看状态
(4)slave节点开启远程访问
(5)开启从服务