首页 > 数据库 >mysql的主从复制docker

mysql的主从复制docker

时间:2023-07-04 09:55:48浏览次数:50  
标签:主从复制 slave log buffer ## mysql docker size

master
docker run -id \
-p 3307:3306 \
--name=mysql57-master \
--privileged=true \
-v /mysql-master/conf:/etc/mysql \
-v /mysql-master/log:/var/log/mysql \
-v /mysql-master/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql:5.7.26

[mysqld]
## 设置server_id,同一局域网中需要唯一
server_id=1

## 开启二进制日志功能
log-bin=mysql-bin
## 设置使用的二进制日志格式(mixed,statement,row)
binlog_format=mixed

## 二进制日志过期清理时间。默认值为0,表示不自动清理。
expire_logs_days = 10

## 跳过主从复制中遇到的所有错误或指定类型的错误,避免slave端复制中断。
## 如:1062错误是指一些主键重复,1032错误是因为主从数据库数据不一致
slave_skip_errors=1062

character-set-server=utf8
collation-server=utf8_general_ci

default_storage_engine = InnoDB
performance_schema_max_table_instances = 400
table_definition_cache = 400
skip-external-locking
key_buffer_size = 32M
max_allowed_packet = 100G
table_open_cache = 128
sort_buffer_size = 768K
net_buffer_length = 4K
read_buffer_size = 768K
read_rnd_buffer_size = 256K
myisam_sort_buffer_size = 8M
thread_cache_size = 16
query_cache_size = 16M
tmp_table_size = 32M
sql-mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

explicit_defaults_for_timestamp = true
#skip-name-resolve
max_connections = 500
max_connect_errors = 100
open_files_limit = 65535

#slow_query_log=1
#slow-query-log-file=/www/server/data/mysql-slow.log
#long_query_time=3
#log_queries_not_using_indexes=on
early-plugin-load = ""

#innodb_data_home_dir = /www/server/data
#innodb_data_file_path = ibdata1:10M:autoextend
#innodb_log_group_home_dir = /www/server/data
innodb_buffer_pool_size = 128M
innodb_log_file_size = 64M
innodb_log_buffer_size = 16M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50
innodb_max_dirty_pages_pct = 90
innodb_read_io_threads = 1
innodb_write_io_threads = 1

[mysqldump]
quick
max_allowed_packet = 500M

[mysql]
no-auto-rehash

[myisamchk]
key_buffer_size = 32M
sort_buffer_size = 768K
read_buffer = 2M
write_buffer = 2M

[mysqlhotcopy]
interactive-timeout


·master容器实例内创建数据同步用户
CREATE USER 'slave'@'%' IDENTIFIED BY '123456';
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'slave'@'%';
flush privileges;
show master status;
获取File,Position

slave
docker run -id \
-p 3308:3306 \
--name=mysql57-slave \
--privileged=true \
-v /mysql-slave/conf:/etc/mysql/ \
-v /mysql-slave/log:/var/log/mysql \
-v /mysql-slave/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
mysql:5.7.26

#[client]
#password = your_password
#port = 3306
#socket = /tmp/mysql.sock

[mysqld]
#port = 3306
#socket = /tmp/mysql.sock
#datadir = /www/server/data
## 设置server_id,同一局域网中需要唯一
server_id=2

## 指定不需要同步的数据库名称
binlog-ignore-db=mysql  

## 开启二进制日志功能,以备Slave作为其它数据库实例的Master时使用
log-bin=mysql-slave-bin

## 设置使用的二进制日志格式(mixed,statement,row)
binlog_format=mixed
## 二进制日志过期清理时间。默认值为0,表示不自动清理。
expire_logs_days = 10
## 跳过主从复制中遇到的所有错误或指定类型的错误,避免slave端复制中断。
## 如:1062错误是指一些主键重复,1032错误是因为主从数据库数据不一致
slave_skip_errors=1062  

## relay_log配置中继日志
relay_log=mysql-relay-bin

## log_slave_updates表示slave将复制事件写进自己的二进制日志
log_slave_updates=1  

## slave设置为只读(具有super权限的用户除外)
read_only=1 

default_storage_engine = InnoDB
performance_schema_max_table_instances = 400
table_definition_cache = 400
skip-external-locking
key_buffer_size = 32M
max_allowed_packet = 100G
table_open_cache = 128
sort_buffer_size = 768K
net_buffer_length = 4K
read_buffer_size = 768K
read_rnd_buffer_size = 256K
myisam_sort_buffer_size = 8M
thread_cache_size = 16
query_cache_size = 16M
tmp_table_size = 32M
sql-mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

explicit_defaults_for_timestamp = true
#skip-name-resolve
max_connections = 500
max_connect_errors = 100
open_files_limit = 65535

#slow_query_log=1
#slow-query-log-file=/www/server/data/mysql-slow.log
#long_query_time=3
#log_queries_not_using_indexes=on
early-plugin-load = ""

#innodb_data_home_dir = /www/server/data
#innodb_data_file_path = ibdata1:10M:autoextend
#innodb_log_group_home_dir = /www/server/data
innodb_buffer_pool_size = 128M
innodb_log_file_size = 64M
innodb_log_buffer_size = 16M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50
innodb_max_dirty_pages_pct = 90
innodb_read_io_threads = 1
innodb_write_io_threads = 1

[mysqldump]
quick
max_allowed_packet = 500M

[mysql]
no-auto-rehash

[myisamchk]
key_buffer_size = 32M
sort_buffer_size = 768K
read_buffer = 2M
write_buffer = 2M

[mysqlhotcopy]
interactive-timeout

进入数据库:
change master to master_host='192.168.1.11', master_user='slave', master_password='123456', master_port=3307, master_log_file='mysql-bin.000002', master_log_pos=769, master_connect_retry=30;

·在从数据库中查看主从同步状态
·show slave status \G
start slave;

Slave_IO_Running: Yes
Slave_SQL_Running: Yes

 

标签:主从复制,slave,log,buffer,##,mysql,docker,size
From: https://www.cnblogs.com/cm920/p/17524851.html

相关文章

  • docker 运行jar包
    https://juejin.cn/post/68449041679209758861.2拉取Java镜像dockerpullopenjdk:8u2522.运行Jar文件Jar文件的存放路径为/project/file-server 执行命令生成容器启动Jardockerrun-d-p9000:9000-v/project/file-server:/project/file-server--namefile-server......
  • MySQL基础篇:逻辑架构图解和InnoDB存储引擎详解
    一、MySQL逻辑架构1、逻辑架构图基于下面的逻辑架构图,可以大致熟悉MySQL各个架构组件之间的协同工作关系。 很经典的C/S架构风格,即客户端/服务端模式。2、分层描述客户端连接通常会进行连接池管理,连接用户权限认证,安全管理等操作。可以通过如下命令查看连接配置信息:S......
  • mysql windows安装
    1.首先下载mysqlhttps://www.mysql.com/downloads/ 2.解压到D盘。在解压后的文件夹里创建一个data文件夹和一个my.ini文件my.ini文件夹内容路径根据自己存放解压位置修改一下,数据库存放目录自己建一个[mysql]#设置mysql客户端默认字符集default-character-set=utf8m......
  • MySQL自动安装脚本分享
    这里分享一个我写的MySQL自动安装脚本mysql_auto_install.sh,它的功能非常简单,就是自动化安装MySQL单实例,让DBA的工作更简单、轻松一些,不用去手工安装MySQL实例。从简单重复的工作中释放出来。下面是关于mysql_auto_install.sh脚本的一些说明:1:这个脚本运行在mysql用户下(注意,root......
  • mysql迁移到pqsql笔记
    在将MySQL迁移到PostgreSQL的过程中,遇到了一些问题,下面是一些简单的解决方案。使用命令,初始化数据库,并设置postgres的密码bin\initdb-EUTF-8-Amd5-Upostgres-W-Ddata--如果只使用bin\pg_ctl-Ddatainit则不会设置postgres的密码命令启动pqsql:bin\pg_ctl-Dda......
  • 软测笔记7-【mysql实操题】
    实操题1建表准备#建学生信息表studentcreatetablestudent(snovarchar(20)notnullprimarykey,snamevarchar(20)notnull,ssexvarchar(20)notnull,sbirthdaydatetime,classvarchar(20));#建立教师表createtableteacher(tnovarchar(20)notnullprima......
  • MySQL数据库索引
    1.索引索引是对数据库表中一列或多列的值进行排序的一种特殊的数据结构,使用索引可以快速定位到特定的数据行,而不必扫描整个表。这可以极大地提高查询性能。在MySQL中,索引可以基于一个或多个列创建。它们可以是唯一的或非唯一的。创建索引可以使用CREATEINDEX语句或在创建表......
  • 软测笔记6-【Mysql面试题】
    1.请列出几款典型的关系型和非关系型数据库关系型数据库:mysql、sql-server、oracle非关系型:redis、mongodb2.请列出mysql数据库的特点特点有:可移植性好、支持多操作系统、支持多语言、开源社区版本免费、支持多线程等3.Mysql中常用的数据类型有哪些?字符串型、数值型、......
  • 【mysql】一、mysql的学习---索引
    mysql的学习资料来源 https://www.bilibili.com/video/BV1CZ4y1M7MQ?from=search&seid=3518646188262100291一、索引:【mysql】一、mysql的学习---索引二、视图:【mysql】二、mysql的学习---视图三、存储过程和函数:【mysql】三、mysql的学习---存储过程和函数四、触发器:【mysq......
  • linux系统中彻底删除MySql
    一、使用以下命令查看当前安装mysql情况,查找以前是否装有mysql1rpm-qa|grep-imysql可以看到如下图的所示:   显示之前安装了:MySQL-client-5.5.25a-1.rhel5MySQL-server-5.5.25a-1.rhel5二、停止mysql服务、删除之前安装的mysql......