mysql主从复制实战配置及测试

随着访问量的不断增加,单台MySQL数据库服务器的压力不断地增加,需要对MySQL进行优化和架构改造。
MySQL主从复制集群在中小企业、大型企业中被广泛应用,MySQL主从复制的目的是实现数据库冗余备份,将master数据库数据定时同步到slave库中,一旦master数据库宕机,可以将Web应用数据库配置快速切换至slave数据库,确保Web应用有较高的可用率。

Mysql主从复制原理图

一、系统环境准备

首先要准备两台服务器,这里使用的是两台CentOS虚拟机,推荐使用Xshell链接服务器。
服务器master:192.168.1.135,master服务器作为主服务器。
服务器slave:192.168.1.113,slave服务器作为次服务器。

(1)master服务器配置

首先master端在/etc/my.cnf配置文件的[mysqld]中加入以下代码:

server-id=1
log-bin=mysql-bin

更改配置之后一定要重启mysql服务,执行命令:

systemctl start mysqld

在master数据库服务器命令行中创建tongbu用户及密码并设置权限,执行如下命令,查看bin-log文件及position点:

grant replication slave on *.* to ‘tongbu’@’%’ identified by ‘123456’;

命令中的%指的是允许所有主机地址,这里在设置用户密码时出现了一个错误:
密码长度及安全性错误在这里可以执行命令来查看密码的相关配置:

SHOW VARIABLES LIKE 'validate_password%';

查看密码配置
在这里更改密码等级以及长度,执行命令:

//设置密码安全为低
set global validate_password_policy=LOW;
//设置密码长度为6
set global validate_password_length=6;

在设置之后重新查看密码的配置:
重新查看密码配置
这回我们再试试,重新设置用户及密码就能执行成功了,接着执行命令查看一下状态:

Show master status;

主要查看file和position.
查看状态

(2)slave安装及配置

在slave端安装好Mysql后,同样也是修改/etc/my.cnf配置文件[mysqld]段,加入以下代码,然后重启mysql服务即可。
注意:master与slave端的server-id不能一样,slave端无须开启bin-log功能

Server-id=2

Slave设置mastarIP、用户名、密码、bin-log文件夹(就是之前master查看状态的file,mysql-bin.000002)及position(439)代码如下:

change master to
    master_host='192.168.1.135',
    master_user='tongbu',
    master_password='123456',
    master_log_file='mysql-bin.000002',
	master_log_pos=439;

设置master
在slave中执行命令:

start slave;

执行命令show slave status\G查看MYSQL主从状态:`

show slave status\G

查看slave端I/O线程、SQL线程状态为connecting 和Yes,代表slave已正常连接master实现同步:
查看状态

二、联通测试

master和slave服务器已经接通了,接下来在master端创建mysql_db_test数据库和t0表,测试一下,依次执行命令如下:

create database mysql_db_test charset=utf8;
show databases;
use mysql_db_test;
create table t0 (id varchar(20),name varchar(20));
show tables;

新建测试表
我们在slave服务器查看是否有mysql_db_test数据库和t0表,如果存在就代表slave从master复制数据成功了,在master服务器的t0表中插入两条数据,并在slave查看是否已经同步:

insert into t0 values(“001”,”test1”);
insert into t0 values(“002”,”test2”);
select * from t0;

插入数据
在slave端查看一下是否能够查到对应数据,有数据则为成功!
成功

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值