主从备份:数据安全来考虑 备份数据(数据库的配置)
读写分离:为了提升数据库的效率 降低数据库服务的压力(代码中)
准备两个服务
主master 10.10.101.244
从 slave 10.10.101.23
1.主服务的配置master
1.关闭防火墙和安全模式
systemctl stop firewalld
setenforce 0
2.安装数据库
yum install mariadb-server -y
安装完成后启动服务
systemctl start mariadb
3.将mariadb配置生产环境
Mysql_secure_installation
4.建库建表
5.在主机配置权限 授权一个账户可以连接主机
grant replication slave on *.* to 'root'@'%' identified by '123456' with grant option;
刷新授权 如果不刷新权限上面的授权不生效
flush privileges
6.修改主机的配置文件
/etc/my.cnf
在第三行添加
server-id=1 # 设置服务器id 1代表主服务器
log_bin=mysql-bin? # 启动二进制日志
binlog-do-db=数据库名字 # 需要同步的数据库名字
binlog-ignore-db=mysql # 不同步系统库
保存并退出 重启服务
7.查看状态
a)进入数据库查看主机的日志信息
b)Show master status
对从进行操作:
1.配置生产环境
Mysql_secure_installation
2.建库建表
库和表的结构和属性必须和主库保持一致
将master中的库备份出来在
在master主库 中执行 mysqldump –uroot -p demo>/opt/demo.sql
传给slave导入备份文件
scp /opt/demo.sql root@10.10.101.23:/opt
在从库slave 将demo.sql 导入到数据库中
退出数据库 执行导入
3.修从机配置文件
Server-id=2 # 设置服务器id 1代表主服务器
log_bin=mysql-bin? # 启动二进制日志
Binlog-do-db=数据库名字 # 需要同步的数据库名字
Binlog-ignore-db=mysql # 不同步系统库
4.保存退出重启服务
5.进入数据库
执行
Change master to master_host=’主机ip’,master_user=’主机授权的用户名root’,master_password=’授权后的用户密码’,
Master_log_file=’主机信息里的file,mysql-bin?’,master_log_pos=主机position的值;
6.slave执行开始备份:
slave start 开始备份
slave stop 停止备份
show slave status\G;
测试:
向主机中插入数据,查看从机中有没有被备份过去