MySQL8主从复制之一主一从实战
文章目录
实战环境,Windows Server 2008R2+MySQL8.0.27
操作系统 | MySQL版本 | 主/从库 | IP | 同步用户 | 同步用户密码 |
---|---|---|---|---|---|
Windows Server 2008R2+ | mysql-8.0.27-winx64.zip | master | 192.168.3.246 | synchadmin | synchadmin |
Windows Server 2008R2+ | mysql-8.0.27-winx64.zip | slave | 192.168.3.247 | – | – |
1. 下载与环境变量配置
截至到2021-11-29最新版本为Mysql-8.0.27
- 官网下载:https://dev.mysql.com/downloads/
- 安装文件:mysql-8.0.27-winx64.zip
- 解压到D下:如:D:\MySqlServer\mysql-8.0.27-winx64
- 环境变量配置
- 在系统变量中新增下面配置
变量名:MYSQL_HOME
变量值:D:\MySqlServer\mysql-8.0.27-winx64
- 在系统变量的path变量值后面新增下面代码
xxxx;%MYSQL_HOME%\bin
2. 主库安装与配置
- 在D:\MySqlServer\mysql-8.0.27-winx64下新建my.ini,内容如下
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
[mysqld]
# 设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=D:\\MySqlServer\\mysql-8.0.27-winx64
# 设置 mysql数据库的数据的存放目录,MySQL 8+ 不需要以下配置,系统自己生成即可,否则有可能报错
# datadir=D:\\MySqlServer\\mysql-8.0.27-winx64 #8.0以下版本需要配置数据目录
# 允许最大连接数
max_connections=20
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证解决客户端无法连接的问题
default_authentication_plugin=mysql_native_password
#主从-主库配置
#1.主服务器id唯一【必须】
server-id=1
#2.启用二进制日志【必须】
log-bin=mysql-bin
#3.主从,都可读可写
#read-only=0
#4.设置不要复制的数据库【可选】
binlog-ignore-db=mysql
#5.设置需要复制的数据库【可选】
#binlog-do-db=要复制的数据库名字
- 进入D:\MySqlServer\mysql-8.0.27-winx64\bin目录下,以管理员身份打开cmd窗口,执行下面命令,产生root密码,牢记此密码
mysqld --initialize --console
cmd窗口中的内容如下
Microsoft Windows [版本 6.1.7601]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。
D:\MySqlServer\mysql-8.0.27-winx64\bin>mysqld --initialize --console
2021-11-29T07:09:43.953126Z 0 [Warning] [MY-010918] [Server] 'default_authentica
tion_plugin' is deprecated and will be removed in a future release. Please use a
uthentication_policy instead.
2021-11-29T07:09:43.953128Z 0 [System] [MY-013169] [Server] D:\MySqlServer\mysql
-8.0.27-winx64\bin\mysqld.exe (mysqld 8.0.27) initializing of server in progress
as process 2056
2021-11-29T07:09:44.218752Z 1 [System] [MY-013576] [InnoDB] InnoDB initializatio
n has started.
2021-11-29T07:09:53.125000Z 1 [System] [MY-013577] [InnoDB] InnoDB initializatio
n has ended.
2021-11-29T07:09:59.234376Z 0 [Warning] [MY-013746] [Server] A deprecated TLS ve
rsion TLSv1 is enabled for channel mysql_main
2021-11-29T07:09:59.234377Z 0 [Warning] [MY-013746] [Server] A deprecated TLS ve
rsion TLSv1.1 is enabled for channel mysql_main
2021-11-29T07:09:59.359379Z 6 [Note] [MY-010454] [Server] A tempo