MariaDB实现主从配置及读写分离(一)
一、主从复制方案
1. 在两台CentOS7虚拟机上分别部署MariaDB, 主数据库服务器IP为192.168.17.235, 从服务器IP为192.168.17.238. 从服务器通过调取主服务器上binlog日志, 在本地重建库、表, 实现与主服务器的AB复制.
二、步骤
1. 对两台虚拟机上现有的MariaDB 数据库初始化.
为了在启用binlog日志及数据库同步之前保持主、从库的一致性, 最好对主、从服务器初始化(备份主服务器上现有的库, 手工导入到从服务器上). 当现有库、表引擎都是MyISAM时, 执行离线备份、恢复, 能极大的提高效率. 其它情况可以通过musqldump等工具来实现库的导出、导入.
(1)在主服务器192.168.17.235 上如下操作:
mysql -u root -p //登入MariaDB
MariaDB>reset master; //重置binlog日志
MariaDB>quit; mysqldump -u root -p --all-databases > /root/mysql.sql //备份主服务器库
scp /root/mysql.sql root@192.168.17.238:/root/ //将备份文件拷贝到从服务器




(2)在从服务器192.168.17.238上如下操作:
mysql -u root -p < /root/mysql.sql //将备份数据库导入从服务器MariaDB

2. 配置主服务器
vim /etc/my.cnf
[mysql]
log_bin=c235-bin //启用binlog日志, 并指定文件名前缀
server_id=68 //指定服务器ID号 systemctl restart mariadb

MariaDB>grant replication slave on *.* to 'replicater'@'192.168.17.%' identified by '123'; //新建备份用户,授予复制权限“replication slave", 允许从slave服务器访问
MariaDB>show master status; //查看主服务器状态, 记录当前日志文件名和偏移位置

3. 配置从服务器
vim /etc/my/cnf
[mysql]
log_bin=c238-bin //启用binlog日志, 并指定文件名前缀
server_id=69 //指定服务器ID号, 不能与master的ID相同
slave-net-timeout=60 //指定当主、从服务器网络中断时,重试超时时间 systemctl restart mariadb //重启MariaDB

MariaDB>change master to master_host='192.168.17.235', //通过change master语句指定master的IP、同步用户名和密码、起始日志文件、偏移位置
master_user='replicater',
master_password='123',
master_log_file='user.000004',
master_log_pos=401 MariaDB>start slave; //启动slave
MariaDB>show slave status\G; //查看slave服务器状态


4. 设置从服务器为只读
从服务器作为主服务器的备份, 避免写入冲突, 在采用主、从复制结构时, 为保持主、从数据库的一致性, 用户不能在从服务器上执行数据库写入操作.
可以通过my.cnf将从服务器配置为只读模式. 在只读模式下, 只有super权限的用户和slave同步线程才能写入.
vim /etc/my.cnf
[mysql]
...
read-only=1 //设置从服务器为只读模式
... systemctl restart mariadb

MariaDB实现主从配置及读写分离(一)的更多相关文章
- mysql主从配置,读写分离
Mysql主从配置,实现读写分离 大型网站为了软解大量的并发访问,除了在网站实现分布式负载均衡,远远不够.到了数据业务层.数据访问层,如果还是传统的数据结构,或者只是单单靠一台服务器扛,如此多的数据库 ...
- Mysql性能优化三:主从配置,读写分离
大型网站为了软解大量的并发访问,除了在网站实现分布式负载均衡,远远不够.到了数据业务层.数据访问层,如果还是传统的数据结构,或者只是单单靠一台服务器扛,如此多的数据库连接操作,数据库必然会崩溃,数据丢 ...
- 面试官你好,我已经掌握了MySQL主从配置和读写分离,你看我还有机会吗?
我是风筝,公众号「古时的风筝」,一个简单的程序员鼓励师. 文章会收录在 JavaNewBee 中,更有 Java 后端知识图谱,从小白到大牛要走的路都在里面. 面试官:我看你简历上写的你们公司数据库是 ...
- mysql主从配置及其读写分离
mysql主从配置意思就是一个主mysql服务器,一个从mysql服务器,一共要用到两台服务器.主服务器新增一个账号专门让从服务器来访问同步工作,主从配置完成后,主服务器主要就是新增和update操作 ...
- MySQL主从同步、读写分离配置步骤、问题解决笔记
MySQL主从同步.读写分离配置步骤.问题解决笔记 根据要求配置MySQL主从备份.读写分离,结合网上的文档,对搭建的步骤和出现的问题以及解决的过程做了如下笔记: 现在使用的两台服务器已经 ...
- Redis系列之(二):Redis主从同步,读写分离
1. Redis主从同步 Redis支持主从同步.数据可以从主服务器向任意数量的从服务器上同步,同步使用的是发布/订阅机制. 2. 配置主从同步 Mater Slave的模式,从Slave向Maste ...
- Redis系列之(二):Redis主从同步,读写分离(转)
1. Redis主从同步 Redis支持主从同步.数据可以从主服务器向任意数量的从服务器上同步,同步使用的是发布/订阅机制. 2. 配置主从同步 Mater Slave的模式,从Slave向Maste ...
- MySQL主从复制技术与读写分离技术amoeba应用
MySQL主从复制技术与读写分离技术amoeba应用 前言:眼下在搭建一个人才站点,估计流量会非常大,须要用到分布式数据库技术,MySQL的主从复制+读写分离技术.读写分离技术有官方的MySQL-pr ...
- MySQL/MariaDB数据库的PROXY实现读写分离
MySQL/MariaDB数据库的PROXY实现读写分离 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.ProxySQL概述 1>.各家互联网公司读写分离的解决方案 m ...
随机推荐
- 【java初探】——格式化字符串
String 类的静态方法format()方法用于创建格式化字符串,format()方法有两种重载形式: format(String fromat,Object...args) 该方法使用指定的格式字 ...
- webpack4 自学笔记一(babel的配置)
所有代码都可以再我的github上查看,每个文件夹下都会有README.md,欢迎star: https://github.com/Jasonwang911/webpackStudyInit/tree ...
- 【转】CSS和SVG中的剪切——clip-path属性和<clipPath>元素
本文由大漠根据SaraSoueidan的<Clipping in CSS and SVG – The clip-path Property and <clipPath> Elemen ...
- c# winform 获取当前程序运行根目录
1 // 获取程序的基目录. 2 System.AppDomain.CurrentDomain.BaseDirectory 3 4 5 // 获取模块的完整路径. 6 System.Diagnosti ...
- [转]SQL Server 2008 如何配置报表管理器
本文转自:https://docs.microsoft.com/zh-cn/previous-versions/sql/sql-server-2008/cc281384%28v%3dsql.100%2 ...
- git 使用 VisualStudio 比较分支更改
有时候需要比较两个分支的不同,这时如果提交到 github ,那么默认就可以看到.但是这时因为没有ide的高亮或者其他的功能,看起来觉得不好 默认的 VisualStudio 比较文件比 github ...
- js 筛选数据
<input type="text" id="filterName"> <div class="scope fr"> ...
- Claim-Based Identity for Windows: Technologies and Scenarios
Claim-Based Identity for Windows: Technologies and Scenarios Active Diretory Federation Services 2.0 ...
- Java并发编程-闭锁
闭锁是一种同步器 ( Synchronizer ),它可以延迟线程的进度直到线程到达终止状态,CountDownLatch是一个灵活的闭锁实现:1)允许一个或多个线程等待一个事件集的发生,闭锁的状态包 ...
- Java基础——TreeSet
TreeSet是SortedSet接口的实现类,Sorted的英文意思是分类的:选择的. TreeSet可以确保集合元素处于排序状态.与HashSet集合相比,TreeSet还提供了如下几个额外方法: ...