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  mysql  restart

show  master  status;

2  查看日志文件,日志偏移量(从服务器上用)

配置从数据库服务器  42

验证是否能够使用授权用户连接主数据库服务器

mysql  -h172.40.7.237    -uslaveuser   -p123456

vim  /etc/my.cnf

[mysqld]

server_id=42

log-bin=slave   #可选项

:wq

service  mysql   restart

使用自己的数据库管理员登录 ,配置自己做237的从数据库     服务器。

change   master   to   master_host="172.40.7.237",master_user="slaveuser",master_password="123456",master_log_file="master.000001",master_log_pos=120;

start   slave;

show  slave status\G;

Slave_IO_Running: YES

Slave_SQL_Running: YES

验证?

主从同步工作过程?

cd   /var/lib/mysql/

master.info       主数据库服务器的信息

relay-log.info   中继日志信息

www-relay-bin.000000    中继binlog日志文件

www-relay-bin.index      记录当前已有的中继binlog日志文件名

Slave_IO_Running: YES

拷贝  master   binlog   sql语句 ->  relaybinlog

错误:1  change  master  to 配置信息错误

2   物理连接不通

Last_IO_Errno: 0

Last_IO_Error: 错误信息

stop  slave;

change   master   to   master_host="172.40.7.237",master_user="slaveuser",master_password="123456",master_log_file="master.000001",master_log_pos=120;

start  slave;

Slave_SQL_Running: YES

执行本机relaybinlog日志里sql语句,把数据写进本                  机数据库里。

错误:执行本机relaybinlog日志里sql语句时,使用的库或表不           存在。

查看错误信息

Last_SQL_Errno: 错误编号

Last_SQL_Error: 错误信息

3 mysql主从同步结构模式?

一主一从

一主多从

主(从)从     vim  /etc/my.cnf

[mysqld]

log-slave-updates

:wq

4  mysql主从同步配置常用参数

vim /etc/my.cnf

主数据库服务器端的配置参数

binlog-do-db=mysql, studb 只允许从数据库服务器同步自己的哪些库

binlog-ignore-db=test, db1      不允许从数据库服务器同步自己的哪些库

----------------------------------------------------------------

从数据库服务器端的配置参数

replicate-do-db=mysql, studb     只同步主数据库服务器上哪些库

replicate-ignore-db=test,db1    不同步主数据库服务器上哪些库

relay-log=dbsvr2-relay-bin   设置relaybinlog日志文件名

log-slave-updates  允许级联复制

十二:配置mysql读写分离功能

1  安装

yum -y install lua

tar -zxvf mysql-proxy-tar.gz

mv mysql-proxy-0.8.3-linux-rhel5-x86-64bit/  /usr/local/mysqlproxy

cd  /usr/local/mysqlproxy/share/doc/mysql-proxy/

chmod  +x rw-splitting.lua

2 启动

启动代理服务

/usr/local/mysqlproxy/bin/mysql-proxy   --help

/usr/local/mysqlproxy/bin/mysql-proxy  -P  172.40.7.77:3306(虚拟vip)   -r  172.40.7.42:3306  -b  172.40.7.237:3306   -s   /usr/local/mysqlproxy/share/doc/mysql-proxy/rw-splitting.lua    &

时间: 2024-10-06 00:07:12

mysql主从及读写分离的相关文章

Mysql主从配置+读写分离(转)

   MySQL从5.5版本开始,通过./configure进行编译配置方式已经被取消,取而代之的是cmake工具.因此,我们首先要在系统中源码编译安装cmake工具. 注:安装前须查看是否已经安装了如下依赖包,如果没有请安装. apt-get -y install gcc g++ libncurses5-dev ncurses-devel openssl 一.主库安装及配置 1.源码安装cmake # tar xf cmake-3.0.0.tar.gz # cd cmake-3.0.0 # .

Mysql主从配置+读写分离

Mysql主从配置+读写分离     MySQL从5.5版本开始,通过./configure进行编译配置方式已经被取消,取而代之的是cmake工具.因此,我们首先要在系统中源码编译安装cmake工具. 注:安装前须查看是否已经安装了如下依赖包,如果没有请安装. apt-get -y install gcc g++ libncurses5-dev ncurses-devel openssl   一.主库安装及配置 1.源码安装cmake # tar xf cmake-3.0.0.tar.gz #

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

mysql-poxy 实现mysql主从架构读写分离

在高并发系统设计中,后端数据库的性能往往会成为系统的瓶颈,这时候就需要进行合理的设计,以分摊后端数据库的压力,比如在数据层前面构建缓存层.数据文件存放在RAID这样的设备.对数据进行分库分表分区存放.合理利用索引.进行数据的读写分离等.mysql-proxy提供了mysql数据库的读写分离能力,mysql-proxy通过Lua脚本能分析得出用户的sql请求,如果发现在是read请求,则会转化到master-slave模型的slave中,如果是write请求,则会转发到master中,以达到读写分

mysql-proxy代理加mysql主从实现读写分离

实验环境搭建: mysql-proxy   192.168.1.163 mysql-master  192.168.1.164 (主) mysql-slave   192.168.1.162 (从) 配置:mysql-proxy   192.168.1.163 #yum install lua -y lua-5.1.4-4.1.el6.x86_64(大部分都是默认安装过的) 下载mysql-proxy最新版:MySQL Proxy 0.8.1 alpha #yum install lrzsz -

Mysql主从+Amoeba读写分离

一.安装环境 centos6.5 192.168.1.100 Amoeba-mysql centos6.5 192.168.1.101 mysql-主 centos6.5 192.168.1.102 mysql-从 二.Mysql 主从配置 在主MySQL192.168.1.101上配置 Vim /usr/local/mysql/etc/my.cnf server-id       = 1                     主库一定要比从库的数字小 binlog-do-db    = ba

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

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

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