MySQl 主从配置实战
目前后台数据库使用了一个实例做数据统计分析,随着数据井喷,单个实例无法做数据分析。故开始了读写分离。
1.主配置
[client]
port = 3306
socket = /tmp/mysql-3306.sock # The MySQL server
[mysqld]
port = 3306
socket = /tmp/mysql-3306.sock
basedir=/opt/mysql
# 使用单独的数据盘
datadir=/data/mysql
# 设置最大连接数,这个值等于连接到此数据库的tomcat实例的所有活跃线程数
max_connections=260
plugin-dir=/opt/mysql/lib/plugin
pid-file=/data/mysql/mysql.pid
skip-external-locking
log-error=/opt/mysql/log/error.log
# 使用独立表空间 alter table tbName engine=innodb;才可以将共享表空间转独立表空间
innodb_file_per_table=1
# 设置 innodb 的 数据目录,适用于 共享表空间
#innodb_data_home_dir=/data/mysql/innodb
#设置innodb 强制恢复 6是只读模式,不支持update insert delete. 0是常规模式
#innodb_force_recovery=6
# MyISAM 主键缓存
key_buffer_size = 16M
# 最大响应包体
max_allowed_packet = 5M
# 最多缓存的表
table_open_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M # 记录慢查询
#log_slow_queries=ON
slow_query_log=ON
slow_query_log_file=/var/log/mysql-3306-slow.log
long_query_time=1 # mysql purge 命令可以清理二进制日志,详情请查阅 ? purge
log-bin=mysql-bin binlog-ignore-db=mysql
binlog-ignore-db=test
# 此处不可以使用单行逗号分割,容易失去日志
binlog-do-db=globaldata
binlog-do-db=metaapp
binlog-do-db=statisticsdata
# 设置 bin_log 过期自动清理的天数
expire_logs_days=3
# 日志格式,官方推荐mixed
binlog_format=mixed # 唯一ID,不能与其他Mysql实例重复
server-id = 1 sync_binlog=1 [mysqldump]
quick
max_allowed_packet = 16M [mysql]
no-auto-rehash
# Remove the next comment character if you are not familiar with SQL
#safe-updates [myisamchk]
key_buffer_size = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M [mysqlhotcopy]
interactive-timeout
2.检查bin-log日志记录
mysqlbinlog --start-datetime='2018-02-27 00:00:00' --stop-datetime='2018-02-28 23:01:01' -d statisticsdata /data/mysql/mysql-bin.
binlog-do-db 会影响到日志记录,这里用mysqlbinlog 检查日志是否拿到。
3.dump导出多个数据库并记录日志位置
mysqldump -B globaldata metaapp statisticsdata --master-data= --add-drop-database --flush-logs > three.sql
-B 多个数据库 --master-data=1 记录日志位置 --flush-logs 整个dump期间锁表,避免日志读取异常。
4.配置从服务器
[client]
#password = your_password
port =
socket = /tmp/mysql-.sock # Here follows entries for some specific programs # The MySQL server
[mysqld]
port =
socket = /tmp/mysql-.sock
basedir=/opt/mysql
# 使用单独的数据盘
datadir=/data/mysql
# 设置最大连接数,这个值等于 数据收集tomcat+数据分析+metaAppService的最大线程数
max_connections=
plugin-dir=/opt/mysql/lib/plugin
pid-file=/data/mysql/isRunning.pid
skip-external-locking
log-error=/data/mysql/log/error.log
# 使用独立表空间 alter table tbName engine=innodb;才可以将共享表空间转独立表空间
innodb_file_per_table=
# 设置 innodb 的 数据目录,适用于 共享表空间
#innodb_data_home_dir=/data/mysql/innodb
#设置innodb 强制恢复 6是只读模式,不支持update insert delete. 0是常规模式
#innodb_force_recovery=
# MyISAM 主键缓存
key_buffer_size = 16M
# 最大响应包体
max_allowed_packet = 5M
# 最多缓存的表
table_open_cache =
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M #log_slow_queries=ON
slow_query_log=ON
slow_query_log_file=/data/mysql/log/mysql--slow.log
long_query_time=
# 主从服务器都要避免使用这个属性
#skip-networking # Replication Master Server (default)
# binary logging is required for replication
# 暂时关闭 log-bin
# mysql purge 命令可以清理二进制日志,详情请查阅 ? purge
#log-bin=mysql-bin #binlog-ignore-db=mysql,information_schema,test
#binlog-do-db=globaldata,metaapp,statisticsdata
# 设置 bin_log 过期自动清理的天数
#expire_logs_days=
# binary logging format - mixed recommended
# 从服务器不需要配置 binlog_format ,会自动识别。
#binlog_format=mixed # required unique id between and ^ -
# defaults to if master-host is not set
# but will not function as a master if omitted
server-id =
relay-log=slave-relay-bin [mysqldump]
quick
max_allowed_packet = 16M [mysql]
no-auto-rehash
# Remove the next comment character if you are not familiar with SQL
#safe-updates [myisamchk]
key_buffer_size = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M [mysqlhotcopy]
interactive-timeout
5.导入dump文件
dump文件已包含 位置点信息
mysql < three.sql
6.开启 slave
start slave;
7.查看slave状态
1. show proccesslist; -- 看 Time
2. show slave status; -- 看 Seconds_Behind_Master(比主服务延迟了多少秒)
MySQl 主从配置实战的更多相关文章
- Mysql主从配置实战
实战mysql主从配置 准备两个docker容器,分别在3306和3307开启两个mysql为主从数据库 可执行以下命令 docker run -p 3306:3306 --name mysql330 ...
- MySQL主从配置实战笔记
其实网上已经有关于MySQL主从复制的很丰富全面的资料了,这里写点东西主要是为了给自己加深印象. 复制原理 MySQL主从复制是内建的非常强大的功能,主要应用于数据备份,负载均衡等方面.因为配置相对比 ...
- mysql主从配置和galera集群
mariadb主从 主从多用于网站架构,因为主从的同步机制是异步的,数据的同步有一定延迟,也就是说有可能会造成数据的丢失,但是性能比较好,因此网站大多数用的是主从架构的数据库,读写分离必须基于主从架构 ...
- mysql主从配置
引言: 双11,阿里云服务器打折,于是我忍不住又买了一台服务器,于是咱也是有两台服务器的爷们了,既然有了两台服务器,那么肯定要好好利用一下吧,那么就来玩玩mysql的主从配置吧. 准备 两台数据库服务 ...
- Mysql主从配置,实现读写分离
大型网站为了软解大量的并发访问,除了在网站实现分布式负载均衡,远远不够.到了数据业务层.数据访问层,如果还是传统的数据结构,或者只是单单靠一台服务器扛,如此多的数据库连接操作,数据库必然会崩溃,数据丢 ...
- CentOS 7下的 Mysql 主从配置
最近在玩mysql主从配置,在此记录一下 一.前言 1.安装两个虚拟机(CentOS 7).iP分别是192.168.47.131 和192.168.47.133.其中192.168.47.133作为 ...
- Mysql主从配置+读写分离
Mysql主从配置+读写分离 MySQL从5.5版本开始,通过./configure进行编译配置方式已经被取消,取而代之的是cmake工具.因此,我们首先要在系统中源码编译安装cmake工具. ...
- mysql主从配置(清晰的思路)
mysql主从配置.鄙人是在如下环境测试的: 主数据库所在的操作系统:win7 主数据库的版本:5.0 主数据库的ip地址:192.168.1.111 从数据库所在的操作系统:linux 从数据的版本 ...
- mysql 主从 配置和同步管理
首先呢,需要有两个mysql服务器.如果做测试的话可以在同一台机器上装两个mysql服务程序,注意要两个运行程序的端口不能一样.我用的是一个是默认的3306,从服务器用的是3307端口. 在主服务创建 ...
随机推荐
- 优雅地记录Python程序日志2:模块组件化日志记录器
本文摘自:https://zhuanlan.zhihu.com/p/32043593 本篇将会涉及: logging的各个模块化组件 构建一个组件化的日志器 logging的模块组件化 在上一篇文章中 ...
- Mongodb 分享(一)
Mongodb使用基础知识: 一.简介 1.mongodb是什么? 1)MongoDB 是一个基于分布式文件存储的数据库.由 )mongodb 客户端:NoSQL Manager for MongoD ...
- English trip V1 - B 2. May I Help You? 它是多少钱? Teacher:Lamb Key:
In this lesson you will learn to ask for things in shops 这节课您将学习如何在商店中寻找东西 课上内容(Lesson) 你通常去哪里购物? W ...
- JS实现悬浮导航的制作(附源码)--web前端
思想:导航在这里只有两种状态,一种是初始状态.一种是固定布局状态.实现悬浮导航其实就是通过Javascript脚本语言控制导航的两种状态,主要是对两种状态成立条件的判断,明确了这些,实现起来就不会太难 ...
- 04 flask 项目整体构建
本文主要的目标是创建flask基本的项目架构,总体架构: 详细的项目目录结构: Flask 项目创建的过程 一.项目(students)创建初始化工作 1. 创建项目的虚拟环境 mkvirtualen ...
- AS(Android Studio)不停的updating indices
有同事问我他as进入后updating iindices个不停 就在此处一直刷一直刷,虽然对他项目没什么影响,但总归很是烦人,解决办法如下: 打开File->Invalidate Caches ...
- Non-UTF-8 code starting with '\xbb' in file
一.错误问题 错误问题:Non-UTF-8 code starting with '\xbb' in file,如图所示: 二.分析问题 原因:程序文件夹中出现中文,运行的时候出现如下错误,导致出错的 ...
- 『MXNet』第八弹_数据处理API_下_Image IO专题
想学习MXNet的同学建议看一看这位博主的博客,受益良多. 在本节中,我们将学习如何在MXNet中预处理和加载图像数据. 在MXNet中加载图像数据有4种方式. 使用 mx.image.imdecod ...
- Wannafly挑战赛23B游戏
https://www.nowcoder.com/acm/contest/161/B 题意:两个人van游戏,n堆石子,每次只能取这堆石子数目的因子个数,没得取的人输,问第一个人的必胜策略有多少种 题 ...
- Python PIL模块笔记
利用python pil 实现给图片上添加文字 图片中添加文字#-*- coding: utf-8 -*- from PIL import Image,ImageDraw,ImageFont ttfo ...