mysql日志主从复制

Posted 健身小白

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql日志主从复制相关的知识,希望对你有一定的参考价值。

本人以经安装了mysql 首先将mysql 的data 目录进行物理备份。防止在做主从复制配置时候搞掉。

我这里是之前配置不来的时候搞烂了,启动不起来了,干脆直接保存到时候安装好后替换安装好后的data;

现在开始进行配置:(不要用绿色版)
同时部署两台mysql数据库 mysql-8.0.23-winx64

(一)解压后的分别放入如下目录

分别配置 my.ini 主库

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=D:\\\\tool\\\\mysql\\\\master
# 设置mysql数据库的数据的存放目录
datadir=D:\\\\tool\\\\mysql\\\\master\\\\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
#主库和从库需要不一致
server-id=1
log-bin=mysql-bin
#同步的数据库
binlog-do-db=test
#不需要同步的数据库
binlog-ignore-db=mysql

从库:

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3306端口
port = 3307
# 设置mysql的安装目录
basedir=D:\\\\tool\\\\mysql\\\\slave
# 设置mysql数据库的数据的存放目录
datadir=D:\\\\tool\\\\mysql\\\\slave\\\\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
#主库和从库需要不一致
server-id=2
log-bin=mysql-bin
#同步的数据库
binlog-do-db=test
#不需要同步的数据库
binlog-ignore-db=mysql

(二)分别到数据库安装目录的bin下初始化数据库
mysqld --initialize --user=mysql --console

(三)4.安装MySQL服务,以管理员身份运行cmd到解压后的bin目录下,并输入mysqld install MySQL --defaults-file=“F:\\mysql-8.0.15-winx64\\bin\\my.ini”,其中的路径为你正式的ini文件。

(四)运行cmd,输入net start mysql启动MySQL服务,再输入mysql -u root -p,然后输入临时密码,要想使用mysql 必须重新修改密码mysql8以下的使用set password = password(‘新密码’); mysql8以上的使用 ALTER USER “root”@“localhost” IDENTIFIED BY “你的新密码”;

注意的地方是:

同样配置从数据库:.编写my.ini 配置文件并且放到从数据库解压的目录下注:(端口号,server-id,mysql安装目录,数据存放目录和主数据库不一致)

成功后连接:


(五)配置:
在主库3306:
查看show master status; 这些是可用于从库配置

从库按顺序执行下面

stop slave;

#这些值在主库执行show master status 可以发现
change master to
master_host='127.0.0.1',
master_port=3306,
master_user='root',
master_password='1234',
master_log_file='mysql-bin.000005',
master_log_pos=1072;

show slave status;

start slave;

show slave status;
#slave_io_starte 变为 Waiting for master to send event   配置成功

测试:在之前配置需要同步的数据库下建表,导入数据

CREATE TABLE `t_sys_dic_type` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `code` varchar(32) NOT NULL DEFAULT '',
  `name` varchar(64) NOT NULL DEFAULT '',
  `status` int(4) NOT NULL DEFAULT '1',
  PRIMARY KEY (`id`),
  KEY `code_index` (`code`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;

导入
INSERT INTO t_sys_dic_type VALUES (‘1’, ‘goodCategory’, ‘物品分类’, ‘1’);
INSERT INTO t_sys_dic_type VALUES (‘2’, ‘express’, ‘快递’, ‘1’);

这里出现问题是:
mysql主从设置运行成功,但是丛库没有同步数据过来,哪里出了问题?

以上是关于mysql日志主从复制的主要内容,如果未能解决你的问题,请参考以下文章

逆水行舟 —— MySQL主从复制

mysql主从复制+读写分离 菜鸟入门

Linux——MySQL主从复制读写分离

MySQL:如何实现主从复制?

[mysql] mysql主从复制(基于日志点)

MySQL的主从复制原理以及流程