centos+mariadb 读写分离实现---mysql主从备份

centos+mariadb 读写分离实现—mysql主从备份

主从备份:将一个数据库当作主数据库,另一个数据库作为从数据库,在主数据库中进行操作,从数据库进行记录,保证两个数据库数据一致

读写分离:和主从备份原理一致,主数据库负责写入(数据保存),从数据库负责读操作(数据展示),可以一主一从,也可以一主多从,从而降低数据库同时处理读写的压力。

1.两台服务器地址

  [root@localhost hys]# ifconfig
  • master(主):192.168.0.105
  • slave(从):192.168.0.104

2.安装mariadb数据库

     mariadb是免费的mysql,操作一致,两台服务器都需要安装mariadb

  • 下载命令
    [root@localhost hys]# yum install mariadb-server -y
  • 启动mariadb服务
    [root@localhost hys]# systemctl start mariadb
  • mariadb现在处于调试模式,不需要密码也能登录,所以要把两台服务器的mariadb设置成工作模式
    [root@localhost hys]# mysql_secure_installation
  1. 设置密码
    在这里插入图片描述
  2. 移除匿名用户
    在这里插入图片描述
  3. 不允许root用户远程登录
    在这里插入图片描述
  4. 确定删除test数据库
    在这里插入图片描述
  5. 确认重载授权表
    在这里插入图片描述

3.master端进行授权操作

  • 进行授权
	grant replication slave on *.* to "root"@"%" identified by "123" with grant option;

在这里插入图片描述

  • 刷新授权表
	flush privileges;

在这里插入图片描述

  • 创建要备份的数据库和表
    在这里插入图片描述
  • 导出数据库
	mysqldump -h localhost -u root -p123456 demo > demo.sql

在这里插入图片描述

  • 通过scp命令将demo.sql发送到slave服务器上
	scp demo.sql [email protected]:/opt/

在这里插入图片描述

4.slave端操作

  • 创建要备份的demo库
    在这里插入图片描述
  • 导入master传过来的数据库
    在这里插入图片描述
  • 查看
    在这里插入图片描述

5.开始备份(重点来了)

  • 关闭两台服务器的防火墙和selinux
	systemctl stop firewalld
	setenforce 0 

在这里插入图片描述

  • 修改master端配置文件
    在这里插入图片描述
    在这里插入图片描述
  • 保存退出 重启mariadb服务
    在这里插入图片描述
  • slave端修改配置文件(修改后同master一样重启服务)
    在这里插入图片描述
  • 查看master端状态
    在这里插入图片描述
  • 在slave端进行编写备份命令
	change master to master_host="192.168.0.105",master_user="root",master_password="123",master_log_file="mysql-bin?.000002",master_log_pos=245;

在这里插入图片描述

  • 开始备份(slave端)
    在这里插入图片描述
  • 查看备份状态
    在这里插入图片描述
    注意:如果这里出现no或者connecting 多半是slave备份命令出了错 ,或者停止slave ,再启动slave

6.测试备份

  • slave端查看表中数据
    在这里插入图片描述

  • 在master中插入数据
    在这里插入图片描述

  • 在slave端查询
    在这里插入图片描述

大功告成 mariadb读写分离配置完成

发布了1 篇原创文章 · 获赞 9 · 访问量 80

猜你喜欢

转载自blog.csdn.net/ChenHuang1998/article/details/104050168