mysql 从服务器_Mysql 配置主从服务器的详细步骤(图文说明)

b57d98fa36f4ff544d55d805b9b5838e.png

目测没有问题,里边的File、Position以及Binlog_Do_DB都是要用到的。 现在先不管。

slave 从mysql配置(win7系统上)

我们进入mysql的安装目录:C:\Program Files\MySQL\MySQL Server 5.7

发现这个目录下根本没有my.ini文件,好吧,我们自己去创建一个:

[mysql]

# 设置mysql客户端默认字符集

default-character-set=utf8

[mysqld]

#Mysql服务的唯一编号 每个mysql服务Id需唯一

server-id = 3

#设置3306端口

port = 3306

# 设置mysql的安装目录

basedir=C:\Program Files\MySQL\MySQL Server 5.7

# 设置mysql数据库的数据的存放目录

datadir=C:\Program Files\MySQL\MySQL Server 5.7\data

# 允许最大连接数

max_connections=200

# 服务端使用的字符集默认为8比特编码的latin1字符集

character-set-server=utf8

# 创建新表时将使用的默认存储引擎

default-storage-engine=INNODB

#开启查询缓存

explicit_defaults_for_timestamp=true

skip-grant-tables

然后重启mysql服务。

增加mysql用户:

主mysql增加远程访问用户,也就是相当于slave服务可以通过远程访问master,通过该用户读取二进制文件,实现数据的同步。

create user repl;

GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.1.3' IDENTIFIED BY 'repl123';

9161a88811cfadc308b7d7b7d88b1c1a.png

好了,我们去测试一下,看能否链接上。

在win7 mysql从服务上进行测试:

5249e95b0bec1e7889590ecd69163558.png

经过测试,没有问题。

mysql 从服务slave配置链接master的方法:

先退出之前的连接,重新开启一个cmd窗口吧,然后连接master服务

change master to master_host='192.168.1.2',

master_port=3306,

master_user='repl',

master_password='repl123',

master_log_file='mysql-bin.000003',

master_log_pos=0;

8506c776fc2e7c1b4688e4f43c7a0b37.png

启动同步:

start slave;

d2ece18184d7596c56f6e383d2c66561.png

检测主从同步,如果你看到Slave_IO_Running和Slave_SQL_Running均为yes,则主从复制链接正常:

1636c2f20799653d53357b2eec7a61a2.png

这里呢,我们的Slave_SQL_Running为no,那么肯定是同步故障的。

我们来看主服务的 show master status;

179267eb1cb6660caf82f4704da30801.png

好吧,我们先停掉从服务slave,

stop slave;

change master to master_host='192.168.1.2',

master_port=3306,

master_user='repl',

master_password='repl123',

master_log_file='mysql-bin.000003',

master_log_pos=797;

start slave;

73ba56f0b3b344f9e49fd3f4ff5eb5ec.png

再来看一下:

6f5e8908c195ae12474ec73a7d321f92.png

没有问题了。

下边进行测试:

先从master上创建一个数据库,命名为d_sunjs_test

create database d_sunjs_test;

如下图所示:

8ccf603542c1444a7779904cd1f498c8.png

然后我们来看一下win7 上的从服务是否也创建了呢?

da82c26d0392e7c77e81e4acb70effd8.png

测试在master服务中创建一张条,加入一条数据。

CREATE TABLE `d_sunjs_test`.`t_users`  (

`id` int(11) NOT NULL AUTO_INCREMENT,

`name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,

PRIMARY KEY (`id`) USING BTREE

) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

然后insert一条数据

insert into t_users(id,name) values(1,'技术客');

如下图所示:

63b0c02fcaa96ea3bc9cecac0bfd5d8d.png

然后我们来看一下从服务器slave上是否已经同步过来了

77ad086de8367fc3ca934c69c288ead9.png

截至到目前,mysql的主从配置已经基本完成,至于如何进行参数优化,剩下的就考自己了。

本实例演示的是单向主从同步,如果想双向的话,同理

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值