Mysql数据库主从配置
一、为什么要使用数据库主从架构
一个网站损耗资源最厉害的就是数据库,最易崩溃的也是数据库,而数据库崩溃带来的后果是非常严重的。数据库分为读和写操作,在实际的应用中,读操作的损耗远比写操作多太多,因此读操作是引起数据库崩溃的主因,所以我们把数据分为主从库,主库负责写操作,从库负责读操作。
二、数据库主从配置-主机
- 复制数据表至从库,保证两个数据库之间的数据表完全一致。
- 编辑配置文件my.cnf
#在mysld下面加入如下行
server-id= #一般根据IP最后一位
log-bin=mysql-bin #主机必须打开,从库就是根据bin的二进制文件来读取主库操作记录
binlog-do-db=test #需要备份的数据库名,如果需要备份多个数据库,重复设置这个选项即可
binlog-ignore-db=mysql #不需要备份的数据库名,如果需要备份多个数据库,重复设置这个选项即可
log-slave-updates #这个参数一定要加上,否则不会给更新的记录到二进制文件里
slave-skip-errors #是跳过错误,继续执行复制操作- 重启数据库 service mysqld restart
- 显示主库信息 show master status
6.建立用户
grant replication slave on *.* to slave@'192.168.1.%' identified by '123456';
可在从机上做连接测试 mysql -h 主库IP -u root -p
7.锁主库表(可省略,主要防止在写从库配置时,主表被改动)
flush tables with read lock;
三、数据库主从配置-从机
1.编辑配置文件my.cnf
#在mysld下面加入如下行
server-id= #一般根据IP最后一位
log-bin=mysql-bin
master-host=192.168.1.106 #主机IP
master-user=slave #连接用户
master-password= #密码
master-port= #端口
replicate-do-db=test #需要备份的数据库
replicate-ignore-db=mysql #忽略的数据库
master-connect-retry= #如果从服务器发现主服务器断掉,重新连接的时间差
log-slave-updates #这个参数一定要加上,否则不会给更新的记录到二进制文件里
slave-skip-errors #是跳过错误,继续执行复制操作
2.重启数据库service mysqld restart
3.查看slave状态 show slave status (注:slave_IO_Running 以及 slave_SQL_Running 两列的值都是Yes,表明slave的IO以及sq线程都在运行)
4.解锁主库表(若之前没有锁主库表,可忽略,在主机完成)
unlock tables
至此,主从库搭建完成,可在主库插入数据进行测试
常见错误:
如果发现slave_IO_Running以及slave_SQL_Running的值为No,在从机上执行如下操作
slave stop #关闭从库
reset slave #重设从库
change master to master_host='主机IP',master_user='slave',master_password='',master_port='',master_log_file='mysql-bin.000012',master_log_pos='';
slave start;
show slave status;
ps:在主服务器中,主要是以写数据为主,建议使用InnoDB数据引擎 ,在从服务器中,建议使用MyISAM数据引擎。
Mysql数据库主从配置的更多相关文章
- [转帖]mysql数据库主从配置
mysql数据库主从配置 https://www.toutiao.com/i6680489302947791371/ 多做实验 其实挺简单的 很多东西 要提高自信 去折腾. 架构与我 2019-04- ...
- Linux下MySQL数据库主从同步配置
说明: 操作系统:CentOS 5.x 64位 MySQL数据库版本:mysql-5.5.35 MySQL主服务器:192.168.21.128 MySQL从服务器:192.168.21.129 准备 ...
- mysql数据库主从同步
环境: Mater: CentOS7.1 5.5.52-MariaDB 192.168.108.133 Slave: CentOS7.1 5.5.52-MariaDB 192.168. ...
- Spring AOP实现Mysql数据库主从切换(一主多从)
设置数据库主从切换的原因:数据库中经常发生的是“读多写少”,这样读操作对数据库压力比较大,通过采用数据库集群方案, 一个数据库是主库,负责写:其他为从库,负责读,从而实现读写分离增大数据库的容错率. ...
- mysql数据库主从同步读写分离(一)主从同步
1.mysql数据库主从同步读写分离 1.1.主要解决的生产问题 1.2.原理 a.为什么需要读写分离? 一台服务器满足不了访问需要.数据的访问基本都是2-8原则. b.怎么做? 不往从服务器去写了 ...
- (转)Mysql数据库主从心得整理
Mysql数据库主从心得整理 原文:http://blog.sae.sina.com.cn/archives/4666 管理mysql主从有2年多了,管理过200多组mysql主从,几乎涉及到各个版本 ...
- MySQL数据库主从同步延迟分析及解决方案
一.MySQL的数据库主从复制原理 MySQL主从复制实际上基于二进制日志,原理可以用一张图来表示: 分为四步走: 1. 主库对所有DDL和DML产生的日志写进binlog: 2. 主库生成一个 lo ...
- MySQL数据库主从同步实战过程
Linux系统MySQL数据库主从同步实战过程 安装环境说明 系统环境: [root@~]# cat /etc/redhat-release CentOS release 6.5 (Final) ...
- 在Eclipse中使用JDBC访问MySQL数据库的配置方法
在Eclipse中使用JDBC访问MySQL数据库的配置方法 分类: DATABASE 数据结构与算法2009-10-10 16:37 5313人阅读 评论(10) 收藏 举报 jdbcmysql数据 ...
随机推荐
- Jersey+mybatis实现web项目第一篇
---恢复内容开始--- Jesery第一篇:实现Jesery前后台页面交互,Form表单提交,后台控制页面跳转 该项目中有实现的功能: Mybatis实现后台数据持久化 Jersey页面数据提交 后 ...
- NOIP2017 总结
联赛结束,但是我并没有得到预期的结果,特写此文分析原因,希望我不会就此退役. 回顾一年,我做了什么? 2016年联赛,我水了两天,抱着挂掉的心态拿到了1=. 2016-2017寒假,参加集训,三天考试 ...
- Asp.Net MVC 文件管理Demo(文件展示,上传,下载,压缩,文件重命名等)
之前 ,有想做一个文件管理页面. 参考了 许多资料,终于完成了一个基于Asp.net MVC 的文件管理Demo.界面如下. 一,实现功能及相关技术 文件管理Demo基于Asp.NET MVC , ...
- Cucumber 相关资源
Cucumber support: https://cucumber.io/support yan1234abcd的专栏:http://blog.csdn.net/yan1234abcd/articl ...
- PAT 输出华氏-摄氏温度转换表
输入2个正整数lower和upper(lower≤upper≤100),请输出一张取值范围为[lower,upper].且每次增加2华氏度的华氏-摄氏温度转换表. 温度转换的计算公式:C=5×(F−3 ...
- 挂载U盘和移动硬盘
1, 挂载U盘和USB接口的移动硬盘一样对linux系统而言U盘也是当作SCSI设备对待的.使用方法和移动硬盘完全一样.插入U盘之前[root at pldyrouter root]# fdisk - ...
- python 一篇就能理解函数基础
一,函数是什么? 函数一词来源于数学,但编程中的「函数」概念,与数学中的函数是有很大不同的,具体区别,我们后面会讲,编程中的函数在英文中也有很多不同的叫法.在BASIC中叫做subroutine(子过 ...
- 【Flask】 flask-socketio实现WebSocket
[flask-socektio] 之前不知道在哪个场合下提到过如何从web后台向前台推送消息.听闻了反向ajax技术这种模式之后,大呼神奇,试了一下之后发现也确实可以用.不过,反向ajax的代价也很明 ...
- 【Python】 压缩文件处理 zipfile & tarfile
[zipfile] 虽然叫zipfile,但是除了zip之外,rar,war,jar这些压缩(或者打包)文件格式也都可以处理. zipfile模块常用的一些操作和方法: is_zipfile(file ...
- Java ORM Hibernate 入门笔记
一.下载 官网地址:http://hibernate.org/ Hibernate下有ORM(关系型数据库).OGM(NoSQL数据库).Search(对象全文检索).Validator的工具. OR ...