window mysql5.7 搭建主从同步环境

window 搭建mysql5.7数据库 主从同步

主节点 配置文件my3308.cnf

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4

[mysqld]
server-id=8
#server-uuid=bc701be9-ac71-11ee-9e35-b06ebf511956
log-bin=D:\mysql_5.7.19\mysql-5.7.19-winx64\mysql-bin
binlog-format=Row
#设置需要同步的数据库名
binlog-do-db=yymdb
#屏蔽数据库同步
binlog-ignore-db=mysql
binlog-ignore-db=performance_schema
binlog-ignore-db=information_schema
binlog-ignore-db=sys
# 设置3308端口
port=3308
# 设置mysql的安装目录
basedir=D:\mysql_5.7.19\mysql-5.7.19-winx64\mysql-5.7.19-winx64
# 设置 mysql数据库的数据的存放目录,MySQL 8+ 不需要以下配置,系统自己生成即可,否则有可能报错
datadir=D:\mysql_5.7.19\mysql-5.7.19-winx64\data3308
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
explicit_defaults_for_timestamp=true
log-error=D:\mysql_5.7.19\mysql-5.7.19-winx64\mysql3308.err
pid-file=D:\mysql_5.7.19\mysql-5.7.19-winx64\mysqld3308.pid
socket=D:\mysql_5.7.19\mysql-5.7.19-winx64\mysql3308.sock

从节点 配置文件my3309.cnf

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
[mysqld]
server-id=9
log-bin=D:\mysql_5.7.19\mysql-5.7.19-winx64\slave-bin
binlog-format=Row
# 设置3309端口
port=3309
# 设置mysql的安装目录
basedir=D:\mysql_5.7.19\mysql-5.7.19-winx64\mysql-5.7.19-winx64
# 设置 mysql数据库的数据的存放目录,MySQL 8+ 不需要以下配置,系统自己生成即可,否则有可能报错
datadir=D:\mysql_5.7.19\mysql-5.7.19-winx64\data3309
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
explicit_defaults_for_timestamp=true
log-error=D:\mysql_5.7.19\mysql-5.7.19-winx64\mysql3309.err
pid-file=D:\mysql_5.7.19\mysql-5.7.19-winx64\mysqld3309.pid
socket=D:\mysql_5.7.19\mysql-5.7.19-winx64\mysql3309.sock

##启动主节点服务

##初始化主节点

mysqld --defaults-file=D:\mysql_5.7.19\mysql-5.7.19-winx64\my3308.cnf --initialize --basedir=D:\mysql_5.7.19\mysql-5.7.19-winx64\mysql-5.7.19-winx64 --datadir=D:\mysql_5.7.19\mysql-5.7.19-winx64\data3308

##注册主节点服务mysql5.7

mysqld --install mysql5.7 --defaults-file=D:\mysql_5.7.19\mysql-5.7.19-winx64\my3308.cnf

##启动mysql5.7服务

net start mysql5.7

##控制台或者mysql3308.err日志文件查看密码

window mysql5.7 搭建主从同步环境_第1张图片

##root登录

mysql --port=3308 --host=localhost --user=root --password=sEik5uXGUl_K

##修改root密码

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

##修改root远程访问权限

update mysql.user set host='%' where user='root';

FLUSH PRIVILEGES;

##创建数据库

##数据库

DROP DATABASE yymdb;

CREATE DATABASE yymdb;

##创建用户

CREATE USER 'yym'@'%' IDENTIFIED BY '123456';

GRANT ALL PRIVILEGES ON yymdb.* TO 'yym'@'%' IDENTIFIED BY '123456';

FLUSH PRIVILEGES;

##创建同步账号

CREATE USER 'slave'@'%' IDENTIFIED BY '123456';

GRANT REPLICATION SLAVE ON *.* TO 'slave'@'%';

FLUSH PRIVILEGES;

##创建同步表

USE `yymdb`;


DROP TABLE IF EXISTS `t_test`;

CREATE TABLE `t_test` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(64) DEFAULT NULL,
  `address` varchar(256) DEFAULT NULL,
  KEY `id` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8mb4;

##查看同步账号权限

SHOW GRANTS FOR 'slave'@'%';

##查看mysql主节点状态

SHOW MASTER STATUS;

window mysql5.7 搭建主从同步环境_第2张图片

##查看log-bin是否打开

window mysql5.7 搭建主从同步环境_第3张图片

##查看server-id 和 从库的要不一致

SHOW VARIABLES LIKE 'server_id';

window mysql5.7 搭建主从同步环境_第4张图片

##查看server-uuid 和 从库的要不一致

SHOW VARIABLES LIKE '%server_uuid%';

window mysql5.7 搭建主从同步环境_第5张图片

server_uuid修改在D:\mysql_5.7.19\mysql-5.7.19-winx64\data3308数据目录底下auto.cnf文件里面。

##启动从节点服务

##拷贝主节点数据文件到从节点数据目录

xcopy D:\mysql_5.7.19\mysql-5.7.19-winx64\data3308 D:\mysql_5.7.19\mysql-5.7.19-winx64\data3309 /e

##初始化从节点

mysqld --defaults-file=D:\mysql_5.7.19\mysql-5.7.19-winx64\my3309.cnf --initialize --basedir=D:\mysql_5.7.19\mysql-5.7.19-winx64\mysql-5.7.19-winx64 --datadir=D:\mysql_5.7.19\mysql-5.7.19-winx64\data3309

##注册从节点服务mysql5.7.1

mysqld --install mysql5.7.1 --defaults-file=D:\mysql_5.7.19\mysql-5.7.19-winx64\my3309.cnf

##启动从节点mysql5.7.1服务

net start mysql5.7.1

##控制台或者mysql3309.err日志查看密码

mysql --port=3309 --host=localhost --user=root --password=;%hsXepJ:1rr

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

update mysql.user set host='%' where user='root';

FLUSH PRIVILEGES;

##从节点执行同步信息 主节点SHOW MASTER STATUS;命令查出来信息进行配置

CHANGE MASTER TO MASTER_HOST='192.168.3.188',MASTER_PORT=3308,MASTER_USER='slave',MASTER_PASSWORD='123456',MASTER_LOG_FILE='mysql-bin.000003',MASTER_LOG_POS=973;

##从节点开启同步

START SLAVE;

##最后主库t_test表插入一条数据查看同步的表是否有新增一条数据

你可能感兴趣的:(mysql,数据库)