当前位置: 首页 > news >正文

mysql8.4.3配置主从复制

先把数据库导出sql,导入从库,列表库必须存在,并且初始值一样,然后就可以按照下面的日志同步了

1、主库

# 主库复制必备设置
server-id=1                    # 主库ID必须为1
log-bin=mysql-bin              # 启用二进制日志
#binlog-do-db=*                 # 可选:指定需要复制的数据库,*表示所有库
# 设置不要复制的数据库(可设置多个)
binlog-ignore-db=sys
binlog-ignore-db=mysql
binlog-ignore-db=information_schema
binlog-ignore-db=performance_schema
binlog_format=ROW              # 推荐使用ROW格式
log-slave-updates=1            # 允许从库将复制事件写入自己的binlog
expire-logs-days=90            # 二进制日志保留天数

2、从库

server-id=2
log-bin=mysql-bin
relay-log=mysql-relay-bin
log-slave-updates=1
read-only=1
# 完全只读模式,仅复制线程可写,
# super_read_only=1 
binlog_format=ROW
# 跳过"Can't find record"错误,这个开启,就是操作主库,从库没有的数据,报错,导致从库停止,开启后,不会停止,出现这一种情况,就是全量同步没做好,全量好,不会有这一种问题,如果需要就开启,操作到从客户没有的数据不报错
# slave_skip_errors = 1032  
# 跳过 "Operation DROP USER failed" 错误,跳过创建用户错误,删除了原同步账号,在创建
slave_skip_errors = 1396  

3、主库执行命令

--SHOW BINARY LOGS;
SHOW BINARY LOG STATUS

需要这两个值
在这里插入图片描述
主库创建复制账号,密码

CREATE USER 'repl_user'@'%' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'repl_user'@'%';
FLUSH PRIVILEGES;

4、从库执行命令

-- 步骤1: 停止复制IO线程
STOP REPLICA IO_THREAD;
-- 停止所有
STOP REPLICA;-- SOURCE_LOG_FILE='主库SHOW BINARY LOG STATUS输出的File值',
-- SOURCE_LOG_POS=主库SHOW BINARY LOG STATUS输出的Position值;
CHANGE REPLICATION SOURCE TOSOURCE_HOST='IP地址',SOURCE_USER='repl_user',SOURCE_PASSWORD='password',SOURCE_PORT=40010,SOURCE_LOG_FILE='binlog.000015',SOURCE_LOG_POS=1351,SOURCE_AUTO_POSITION=0;-- 步骤3: 启动复制IO线程
START REPLICA IO_THREAD;
#启动复制,在从服务器(node节点上面)
START replica;-- 步骤4: 验证复制状态
SHOW REPLICA STATUS;

完整配置

[client]
default-character-set=utf8mb4[mysql]
default-character-set=utf8mb4
no-auto-rehash[mysqld]
port=3306
datadir = /usr/local/mysql/data
init_connect='SET NAMES utf8mb4'
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
max_connections=2000
default-storage-engine=INNODB
innodb_lock_wait_timeout = 120innodb_use_native_aio = 0default_storage_engine = InnoDB
performance_schema_max_table_instances = 400
table_definition_cache = 400
skip-external-locking
key_buffer_size = 30M
max_allowed_packet = 100M
table_open_cache = 4096
sort_buffer_size = 20M
net_buffer_length = 40K
read_buffer_size = 20M
read_rnd_buffer_size = 556K
myisam_sort_buffer_size = 40M
thread_cache_size = 512
tmp_table_size = 50M
explicit_defaults_for_timestamp = true
#skip-name-resolve
open_files_limit = 65535
binlog_expire_logs_seconds = 600000
slow_query_log=1
long_query_time=3
#log_queries_not_using_indexes=on
early-plugin-load = ""
innodb_data_file_path = ibdata1:10M:autoextend
innodb_buffer_pool_size = 200M
innodb_log_file_size = 20M
innodb_log_buffer_size = 20M
innodb_flush_log_at_trx_commit = 2
innodb_max_dirty_pages_pct = 90
innodb_read_io_threads = 56
innodb_write_io_threads = 56sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION[mysqldump]
quick
max_allowed_packet = 100M[myisamchk]
key_buffer_size = 100M
sort_buffer_size = 16M
read_buffer = 2M
write_buffer = 2M[mysqlhotcopy]
interactive-timeout# 主库复制必备设置
server-id=1                    # 主库ID必须为1
log-bin=mysql-bin              # 启用二进制日志
#binlog-do-db=*                 # 可选:指定需要复制的数据库,*表示所有库
# 设置不要复制的数据库(可设置多个)
binlog-ignore-db=sys
binlog-ignore-db=mysql
binlog-ignore-db=information_schema
binlog-ignore-db=performance_schema
binlog_format=ROW              # 推荐使用ROW格式
log-slave-updates=1            # 允许从库将复制事件写入自己的binlog
expire-logs-days=7             # 二进制日志保留天数

[mysqld]
port=33306
basedir=E:\mysql8.4.3\mysql-8.4.3-winx64
datadir=E:\mysql8.4.3\mysql-8.4.3-winx64\data
max_connections=2000server-id=2
log-bin=mysql-bin
relay-log=mysql-relay-bin
log-slave-updates=1
read-only=1
# 完全只读模式,仅复制线程可写
# super_read_only=1 
binlog_format=ROW
# 跳过"Can't find record"错误,这个开启,就是操作主库,从库没有的数据,报错,导致从库停止,开启后,不会停止,出现这一种情况,就是全量同步没做好,全量好,不会有这一种问题,如果需要就开启,操作到从客户没有的数据不报错
# slave_skip_errors = 1032 
# 跳过 "Operation DROP USER failed" 错误,跳过创建用户错误,删除了原同步账号,在创建
slave_skip_errors = 1396  

相关文章:

  • 双均线量化交易策略指南
  • 嵌入式学习Day27
  • 八股碎碎念02——Synchronized
  • “可观、可测、可调、可控“,四可功能如何让光伏电站变身电网“优等生“?
  • 2025年中级社会工作者备考精选练习题
  • 看海回测系统回测过程
  • 手写一个简单的线程池
  • 2025版CansCodeAPI管理系统:免费下载,全新升级!
  • Navicat 是只能通过查看数据的方式知晓是否执行吗?是否有日志作为提示?
  • C语言数据结构-单向链表
  • yolov5 安卓运行
  • 未授权访问漏洞利用链实战总结
  • 【LLM】使用 Ollama 和 RAGFlow 进行本地模型搭建知识库问答
  • 零代码构建 RAG 私有知识问答服务
  • 写起来比较复杂的深搜题目
  • 探索微观世界的“度量衡”:显微测量仪器解析
  • 7.6/Q1,GBD数据库最新文章解读
  • 【计网】五六章习题测试
  • 《牛客》数组中出现次数超过一半的数字
  • 班迪录屏--解决视频剪辑时声音和画面不同步的问题
  • 重庆北京网站建设/抖音seo教程
  • 京东商城网站建设目的/安徽网络推广
  • 做类似起点的网站/微信小程序免费制作平台
  • 网站关闭多久排名会下降/友情链接查询结果
  • 专门做海报的网站/百度网站首页网址
  • 网站推销策划方案/拉新平台哪个好佣金高