Mysql 主从复制
尽量使用zip。
解压到两个目录
新建my.ini文件
主 my.ini
[mysqld]
server-id=8001
#设置3306端口
port=8001
#设置mysql的安装目录
basedir=D:\JAVA\MySql80
#设置mysql数据库的数据的存放目录
datadir=D:\JAVA\MySql80\data
#允许最大连接数
max_connections=200
#允许连接失败的次数。
max_connect_errors=10
#服务端使用的字符集默认为UTF8
character-set-server=utf8
#创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
#默认使用“mysql_native_password”插件认证
#mysql_native_password
default_authentication_plugin=caching_sha2_password
#从库会基于此log-bin来做复制
log-bin=mysql-bin
#不用于读写分离的具体数据库
binlog_ignore_db=mysql
#和binlog-do-db一样,可以设置多个
binlog_ignore_db=information_schema
#和binlog-do-db一样,可以设置多个
binlog_ignore_db=sys
#和binlog-do-db一样,可以设置多个
binlog_ignore_db=preformance_schema
#选择row模式
binlog-format=ROW
[mysql]
#设置mysql客户端默认字符集
default-character-set=utf8
[client]
#设置mysql客户端连接服务端时默认使用的端口
port=8001
default-character-set=utf8
从my.ini
上图画红线位置替换
安装mysql服务
cd mysql/bin
初始化数据库---复制下来 初始密码
mysqld --initialize --console
一、安装服务
mysqld --install "MySql50" --defaults-file="D:/JAVA/\MySql50/my.ini"
Mysql50 服务名称顺便填 ,出现下图样式,代表成功,在服务里能看到此服务
二、启动服务
net start MySql50
出现服务启动成功ok , 可以用navicat连接,打开数据库会自动弹出修改密码
配置主从
一、主
1.1 创建用户
create user '名字'@'%' identified WITH caching_sha2_password by '密码';
1.2 创建用户权限
grant replication slave on *.* to '名字'@'%';
1.3刷新权限
flush privileges;
1.4查看节点
show master status;
二、从
2.1设置主节点参数
CHANGE MASTER TO
MASTER_HOST='localhost',
MASTER_USER='slave.979',
MASTER_PASSWORD='root',
MASTER_PORT=8001,
MASTER_LOG_FILE='mysql-bin.000003',
MASTER_LOG_POS=3089,
get_master_public_key=1;
指定端口,可能不是默认3306., 指定加密方式 get_****_key = 1
2.2查看主从同步状态
show slave status\G;
2.3启动主从复制
start slave;
2.4查看主从同步状态
show slave status\G;
出现红线处, 双yes 代表主从同步成功。
2.5特殊处理
同步失败
停止主从
stop slave;
重复2.1
三、删除mysq服务
sc delete MySql80