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

mysql+keepalived

文章目录

    • 一、master1
      • 创建目录
      • 写入配置文件
      • 启动master1
      • 创建 `slave` 用户并授权
      • 获取主节点当前 `binary log` 文件名和位置position
    • 二、master2
      • 创建目录
      • 写入配置文件
      • 启动master2
      • 创建 `slave` 用户并授权
      • 获取主节点当前 `binary log` 文件名和位置position
    • 三、配置主主复制
      • Master1
      • Master2
    • 四、建库验证
    • 五、数据库备份
      • master1
      • master2
    • 六、安装keepalived
      • master1的 keepalived 配置文件
        • mysql检测脚本
      • master2的 keepalived 配置文件
        • mysql检测脚本

一、master1

创建目录

mkdir /var/lib/mysql /var/lib/mysql/data

写入配置文件

innodb_buffer_pool_size (建议设置为物理内存的 60%~80%(专用数据库服务器,且只跑 MySQL 时,例如,服务器有 64GB 内存,建议设置为 40~50GB,如果服务器还跑其他服务,要适当减少,避免 OOM)

max_connections=500

innodb_buffer_pool_size=8G

vim /var/lib/mysql/my.cnf
[mysqld]
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
datadir         = /var/lib/mysql
secure-file-priv= NULL
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# 服务端默认utf8编码
character-set-server=utf8mb4
# 默认存储引擎
default-storage-engine=INNODB# 主主配置 
log-bin=binlog
server-id=1 # 另一台写2
gtid-mode=on
enforce-gtid-consistency=on
log-slave-updates=on
expire_logs_days=14
auto_increment_increment=2
auto_increment_offset=1    # 另一台写2
binlog_format=ROW# Compatible with versions before 8.0
default_authentication_plugin=mysql_native_password
skip-host-cache
skip-name-resolve[client]
#设置客户端编码
default-character-set=utf8mb4
[mysql]
# 设置mysql客户端默认编码
default-character-set=utf8mb4# Custom config should go here
!includedir /etc/mysql/conf.d/

启动master1

docker run --name mysql_master1 --restart=always \
-p 3306:3306 \
-v /var/lib/mysql/my.cnf:/etc/mysql/my.cnf \
-v /var/lib/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=qwer1234 \
-d docker.cloud-sea.top/mysql:8.0

创建 slave 用户并授权

# 进入数据库
docker exec -it mysql_master1 bash
mysql -uroot -pqwer1234
# 创建用户授权
CREATE USER 'slave'@'%' IDENTIFIED WITH mysql_native_password BY 'slave';
GRANT REPLICATION SLAVE ON *.* TO 'slave'@'%';
flush privileges;

获取主节点当前 binary log 文件名和位置position

mysql>  SHOW MASTER STATUS;
+---------------+----------+--------------+------------------+------------------------------------------+
| File          | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set                        |
+---------------+----------+--------------+------------------+------------------------------------------+
| binlog.000003 |      868 |              |                  | 1b009ef8-a67f-11ea-8c9a-0242ac110002:1-8 |
+---------------+----------+--------------+------------------+------------------------------------------+
1 row in set (0.00 sec)

二、master2

创建目录

mkdir /var/lib/mysql /var/lib/mysql/data

相关文章:

  • C#中的CLR属性、依赖属性与附加属性
  • 《零基础读懂新能源汽车》—— 新能源汽车充电革命:从逆变器原理到800V超充实战,一篇全掌握!
  • Python训练营打卡Day46(2025.6.6)
  • 【React】React 18 并发特性
  • 我爱学算法之—— 前缀和(中)
  • Spring Cloud 2025.0.0 Gateway迁移全过程详解
  • 文件上传漏洞深度解析:检测与绕过技术矩阵
  • Ubuntu创建修改 Swap 文件分区的步骤——解决嵌入式开发板编译ROS2程序卡死问题
  • 力扣100-移动0
  • 学习STC51单片机29(芯片为STC89C52RCRC)
  • 6.6 day38
  • 2025年6月6日15:48:23
  • 数字孪生:解锁未来的“数字钥匙”
  • 如何在Lyra中创建一个新的Game Feature Plugin和Experience游戏体验
  • c++中的输入输出流(标准IO,文件IO,字符串IO)
  • 从0开始学习R语言--Day18--分类变量关联性检验
  • Kubernetes 节点自动伸缩(Cluster Autoscaler)原理与实践
  • EM储能网关ZWS智慧储能云应用(11) — 一级架构主从架构
  • 关于事务的简介
  • 人机融合智能 | “人智交互”跨学科新领域
  • o2o平台有哪些网站/网站优化策划书
  • 银医网站建设方案/北京seo网站推广
  • javascript作品网站/企业短视频推广
  • 宝塔windows建设网站/推广普通话的内容简短
  • 发票项目网站建设费/seo推广费用
  • 电子商务的网站建设过程/免费发软文的网站