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日志文件查看密码
##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;
##查看log-bin是否打开
##查看server-id 和 从库的要不一致
SHOW VARIABLES LIKE 'server_id';
##查看server-uuid 和 从库的要不一致
SHOW VARIABLES LIKE '%server_uuid%';
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表插入一条数据查看同步的表是否有新增一条数据