mysql主从同步读写分离配置

#mysql主库配置添加:

#缓存用户表及索引数据的最主要缓存空间,一般建议50%~80%,但应该以mysql服务器实际情况来定,如果跑着其他

#的应用服务或者有MyISAM表,则需要先减去系统+应用+MyISAM引擎需要的内存,再得出innodb_buffer_pool_size的

#实际值,具体情况具体分析。

innodb_buffer_pool_size = 4096M

#打开bin-log日志,以供slave机器读取同步日志。

log-bin=/mnt/mysql/log/mysql-bin.log

#用于标识该语句最初是从哪个server写入的,可以用局域网ip最后一段来标识。

server-id=174

#二进制日志自动删除日志过期的天数,默认值为0表示不删除。

expire_logs_day=3

#当每进行n次事务提交之后,MySQL将进行一次fsync之类的磁盘同步指令来将binlog_cache中的数据强制写入磁盘。

#等于0时,当事务提交之后,MySQL不做fsync之类的磁盘同步指令刷新binlog_cache中的信息到磁盘,而让Filesystem

#自行决定什么时候来做同步,或者cache满了之后才同步到磁盘。

sync_binlog = 30

# STATEMENT  ROW  MIXED

binlog_format = MIXED

#打开慢查询日志

slow_query_log = ON

#指定慢查询日志文件路径与文件名称

slow_query_log_file = /mnt/mysql/lib/mysql/db01-slow.log

#sql执行时间超过多少秒会记录到慢查询日志中

long_query_time = 1

#指定数据库字符集

character-set-server=utf8

#指定客户端字符集

character-set-client=utf8

collation-server=utf8_unicode_ci

#最大连接数

max_connections=1000

#打开半同步复制插件该插件安装指令为:在登陆数据库管理员账号后执行:

#INSTALL PLUGIN rpl_semi_sync_master SONAME ‘semisync_master.dll‘;

#innodb的主从同步默认是异步的,使用半同步插件,主库执行完一个事务后会等待,只要有一个同步库

#返回成功就会提交事务,如果等待超过设置的时限,就会变为异步,提交事务。

rpl_semi_sync_master_enabled=1

#毫秒单位,多少时间后主服务器不在等待slave确认,变为异步执行。

rpl_semi_sync_master_timeout=1000

#接收的最大数据包

max_allowed_packet = 8M

#mysql从库配置添加:

#用于标识该语句最初是从哪个server写入的,可以用局域网ip最后一段来标识。

server-id=41

#该参数就是为了让从库从主库复制数据时可以写入到binlog日志

log-slave-updates = on

#二进制日志自动删除日志过期的天数,默认值为0表示不删除。

expire_logs_days = 2

#当每进行n次事务提交之后,MySQL将进行一次fsync之类的磁盘同步指令来将binlog_cache中的数据强制写入磁盘。

#等于0时,当事务提交之后,MySQL不做fsync之类的磁盘同步指令刷新binlog_cache中的信息到磁盘,而让Filesystem

#自行决定什么时候来做同步,或者cache满了之后才同步到磁盘。

sync_binlog = 30

# STATEMENT  ROW  MIXED

binlog_format = mixed

#指定数据库字符集

character-set-server=utf8

#指定客户端字符集

character-set-client=utf8

collation-server=utf8_unicode_ci

#最大连接数

max_connections=1000

#打开独立表空间,不打开时所有表都在一个表空间中。

innodb_file_per_table

innodb_buffer_pool_size = 4096M

innodb_additional_mem_pool_size = 20M

innodb_log_file_size = 512M

innodb_log_buffer_size = 16M

slow_query_log = ON

slow_query_log_file = /mnt/mysql/bin-log/db02-slow.log

long_query_time = 1

rpl_semi_sync_slave_enabled=1

max_allowed_packet = 8M

innodb_flush_log_at_trx_commit = 2

时间: 2024-10-13 11:19:32

mysql主从同步读写分离配置的相关文章

MySQL主从同步读写分离的集群配置

大型网站为了解决大量的高并发访问问题,除了在网站实现分布式负载均衡,远远不够.到了数据业务层.数据访问层,如果还是传统的数据结构,或者只是单单靠一台服务器支持,如此多的数据库连接操作,服务器性能再好数据库必然会崩溃.数据丢失的话,后果更是不堪设想.这时候,我们会考虑如何减少数据库的连接,一方面采用优秀的代码框架,进行代码的优化,采用优秀的数据缓存技术如:memcached等.如果资金充足的话,必然会想到假设服务器集群,来分担主数据库的压力.或者在硬件设备上,投入大量资金,购买高性能的服务器.出名

使用amoeba配置mysql主从同步读写分离

实验环境:需要三台手工编译安装的mysql,一台主,两台从主: 192.168.88.100从1: 192.168.88.103从2: 192.168.88.104前段服务器: 192.168.88.101 -----在主服务器192.168.88.100上做---------------配置NTP服务器---------- //在主服务器上搭ntp服务,提供时间同步 yum install -y ntp vi /etc/ntp.conf restrict 192.168.88.0 mask 2

基于MYCAT的MYSQL主从与读写分离配置详解与示例

1.不使用Mycat托管MySQL主从服务器,简单使用如下配置:          <dataNodename="dn1" dataHost="localhost1" database="db1"/>          <dataNodename="dn2" dataHost="localhost1" database="db2"/>          <d

mysql主从同步读写分离

https://pan.baidu.com/s/1tm_FQ4C8heQqzx01URr85A //软件连接百度网盘 三台mysql数据库:主数据库服务器:192.168.80.100 从数据库服务器1:192.168.80.101 从数据库服务器2:192.168.80.102 一台amoeba调度器:192.168.80.103 一台mariadb客户端: 192.168.80.104 注:五台虚拟机第一步都写以下两行 systemctl stop firewalld //关闭防火墙 set

MYSQL主从同步+读写分离

环境:CentOs 6.5(最小化安装) 关闭防火墙或添加对应规则,否则slave不能连接master,会导致同步失败 Mysql1:192.168.0.231                 Mysql2:192.168.0.232                    Mysql3:192.168.0.233 在Mysql1新建同步用户和新建一个数据库yfshare,在数据库里面新建表插入数据,以作标记: mysql> select * from mytable; +------+-----

mysql 主从同步-读写分离

一.       实验环境 Master                   centos 7.3              192.168.138.13 Slave                     centos 7.3               192.168.138.14 二.在master操作 安装并配置文件 [[email protected] ~]# yum install mariadb-server -y [[email protected] ~]# cat /etc/m

搭建Mysql-proxy实现主从同步读写分离

代理服务器 Wg61 192.168.0.180 (Mysql-proxy)主服务器 Wg62 192.168.0.142 (负责写入数据)从服务器 Wg63 192.168.0.156 (负责只读数据) 实验思路: 下载Mysql-proxy,在代理服务器Wg61上安装lua语言 Wg61安装proxy,添加/etc/profile的环境变量参数 修改proxy配置文件参数,测试读写分离 搭建主从服务器,创建测试数据库表并授权用户访问权限 启动Mysql-proxy测试读写分离 测试从服务器挂

mysql主从及读写分离

主从同步 1 主配置 把237配置为主数据库服务器 授权用户从42数据库服务器连接自己的时候有拷贝数据的权限 grant   replication    slave  on  *.*    to   [email protected]"172.40.7.42"   identified by "123456"; vim /etc/my.cnf [mysqld] server_id=237 log-bin=master    #必须开启 :wq service  m

docker-compose.yml样例(mysql主从+mycat读写分离)

Docker-compose.yml文件示例 1.mysql主从复制的docker-compose.yml文件 # cat docker-compose.yml version: '2' # 这个version是指dockerfile解析时用的版本,不是给我们自己定义版本号用的. services: m1: # master build: ./master # ./master文件下需要有Dockerfile文件,并且build属性和image属性不能一起使用 container_name: m