关于windows10:windows10本地两个mysql8服务配置主从热备

48次阅读

共计 2148 个字符,预计需要花费 6 分钟才能阅读完成。

1. 后期筹备

1、两份 mysql 源码(不要用下载器装置,防止下载器读取已装置 msyql 服务而不新增装置选项)

2、新增主从的配置文件 my.ini

主数据库配置内容 (留神 basedir 前面的 双斜线,是为了避免装置的时候冒号 + 斜线将 server 的第一个字母 s 给疏忽调):

[mysqld]
port=3306
basedir=D:\\server\mysql
datadir=D:\\server\mysql\data
max_connections=200
max_connect_errors=10
character-set-server=utf8mb4
default-storage-engine=INNODB
# 主库设置
server_id=1
log_bin=master-bin
log_bin-index=master-bin.index
[mysql]
# 设置 mysql 客户端默认字符集
default-character-set=utf8mb4
[client]
# 设置 mysql 客户端连贯服务端时默认应用的端口
port=3306
default-character-set=utf8mb4

从库配置:

[mysqld]
port=3307
basedir=D:\\server\mysql_follow
datadir=D:\\server\mysql_follow\data
max_connections=200
max_connect_errors=10
character-set-server=utf8mb4
default-storage-engine=INNODB
#从库配置
server_id=2
relay-log-index=slave-relay-bin.index
relay-log=slave-relay-bin
# 须要同步的数据库名
replicate-do-db=test
# 如果只同步某表
# replicate-wild-do-table=test.user
[mysql]
# 设置 mysql 客户端默认字符集
default-character-set=utf8mb4
[client]
# 设置 mysql 客户端连贯服务端时默认应用的端口
port=3307
default-character-set=utf8mb4

2. 正式装置

1 装置

1、主库
cmd 进入装置目录的 bin 目录,运行命令初始化装置 mysqld --initialize -- console

能够看到主动生成了明码

装置为服务 mysqld --install mysql
启动服务 net start mysql
登入 mysql -uroot -p 回车输出刚刚生成的明码
批改明码alter user 'root'@'localhost' identified with mysql_native_password by 'root'

2、从库装置,与主库基本一致,不过注册服务需更换名字
cmd 进入装置目录的 bin 目录,运行命令初始化装置 mysqld --initialize -- console
装置为服务 mysqld --install mysql_follow
启动服务 net start mysql_follow
登入 mysql -uroot -p 回车输出刚刚生成的明码
批改明码alter user 'root'@'localhost' identified with mysql_native_password by 'root_follow'

2 配置调试

1、主库
新增用于同步的 mysql 用户
新增用户 “
更改明码 “

查看主库状态show master status

2、从库

配置主库信息(file 和 pos 依照主库的信息配置)

mysql> change master to master_host='127.0.0.1',
    -> master_port=3306,
    -> master_user='follow',
    -> master_password='master_follow',
    -> master_log_file='master-bin.000004',
    -> master_log_pos=545;

开启从库热备start slave

查看从库状态show slave status \G(G 的作用是不便浏览)

3、至此再次关上数据库,就能看到数据是否曾经同步了。也能够在主库批改一个字段,再到从库去看看用了多长时间(测试屡次,最长的一次大略有 2 秒的提早)

错误处理

1、配置主库时报错:ERROR 3021 (HY000): This operation cannot be performed with a running slave io thread; run STOP SLAVE IO_THREAD FOR CHANNEL ''first.

解决办法:STOP SLAVE IO_THREAD FOR CHANNEL ''

2、从库状态:Slave_SQL_Running: No

解决办法:

stop slave;
set global SQL_SLAVE_SKIP_COUNTER=1;
start slave;

追究了一番文档,SQL_SLAVE_SKIP_COUNTER的作用是跳过 event

尾语

最初的最初,来一波硬件鄙视(应用 mac 者与家庭宅客请绕道,谢谢合作)
first blood

double kill

不服气的各位老爷,评论区请贴图~

正文完
 0