MySQL主从分离读写复制

在高负载的生产环境里,把数据库进行读写分离,能显著提高系统的性能。下面对MySQL的进行读写分离。

试验环境

A机:IP:192.168.0.1 mysql版本:mysql-5.6.4,主数据服务器(只写操作)

B机:IP:192.168.0.2 mysql版本:mysql-5.6.4,从数据服务器(只读操作)

步骤

1.修改主数据库服务器的配置文件,WINDOWS下为my.ini,LINUX下为:my.cnf。我们在配置文件[mysqld] 区域中加入如下两行:

复制代码
server-id = 1  -- 每个mysql实例各不相同,一般为整数,此处写1

log-bin=mysql-bin  --使用mysql二进制方式进行复制,此步为必须配置.

使用命令,创建用于复制数据的用户backup:

复制代码
mysql> GRANT REPLICATION SLAVE ON *.* TO backup@localhost IDENTIFIED BY '111111';

2.重启主MySQL,输入show master status\G;命令, 显示主数据库服务器的状态:

3.在从数据库服务器的配置文件[mysqld]中,加入下面两行:

复制代码
server-id = 2  -- 每个mysql实例各不相同,一般为整数,此处写2

log-bin=mysql-bin  --使用mysql二进制方式进行复制.

4.登录从数据库服务器,输入以下命令:

复制代码
mysql> CHANGE MASTER TO
    -> MASTER_HOST='192.168.0.1',
    -> MASTER_USER='backup',
    -> MASTER_PASSWORD='111111',
    -> MASTER_LOG_FILE='mysql-bin.000003' ---此处对应主服务器状态的FILE
    -> MASTER_LOG_POS=370558;  ---此处对应主服务器状态的Position

5.命令启动从服务器的SLAVE,

复制代码
mysql> start slave;

6.查看从服务器的状态:

复制代码
show slave status\G

注意以下两个状态为YES,表示运行已经正常:

复制代码
Slave_IO_Running: Yes
Slave_SQL_Running: Yes

7.测试,在主数据服务器进行插入、更新、删除数据,查看从服务器的数据。

相关推荐
soft20015254 分钟前
《Rocky Linux 9.6 部署 MySQL 8.0 生产手册(含错误处理)》
linux·mysql·adb
帝吃藕和29 分钟前
MySQL 知识点复习- 6. inner/right/left join
mysql
愚公移码31 分钟前
蓝凌EKP产品:Hibernate 中 SessionFactory、Session 与事务的关系
java·数据库·hibernate·蓝凌
透明的玻璃杯34 分钟前
sqlite数据库连接池
jvm·数据库·sqlite
VX:Fegn089542 分钟前
计算机毕业设计|基于springboot + vue非遗传承文化管理系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
bleach-1 小时前
buuctf系列解题思路祥讲--[极客大挑战 2019]HardSQL1——sql报错注入
数据库·sql·安全·web安全·网络安全
少年攻城狮1 小时前
OceanBase系列---【oracle模式的存在即更新,不存在即新增的merge into用法】
数据库·oracle·oceanbase
你真的可爱呀1 小时前
3.MySQL 数据库集成
mysql·node.js·express
波波仔861 小时前
clickhouse简介
数据库·clickhouse
不穿格子的程序员1 小时前
Redis篇2——Redis深度剖析:从SetNX到Redisson,分布式锁的进化之路
数据库·redis·分布式锁·redisson·setnx·redlock