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

Mysql 搭建主从复制

  • Docker Mysql 镜像启动命令(主库)

docker run --name mysql-master  -ti -d --privileged="true"  -p 3306:3306 alibaba-cloud-linux-3-registry.cn-hangzhou.cr.aliyuncs.com/alinux3/mysql_optimized:20240221-8.0.32-2.3.0 mysql_keentune.sh

 

  • 修改临时密码
    • 如果您要使用mysql的root账户,进入到容器内部,可以通过如下命令查询到临时密码:

         cat /var/log/mysql/mysqld.log | grep password

  • mysql -u root -p   回车输入临时密码
  • ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';    通过这条命令修改密码
  • FLUSH PRIVILEGES;     立刻生效

 

  • 启动mysql从库(这里在命令中去掉了--net=host)

docker run --name mysql-slave  -ti -d --privileged="true"  -p 3308:3306 alibaba-cloud-linux-3-registry.cn-hangzhou.cr.aliyuncs.com/alinux3/mysql_optimized:20240221-8.0.32-2.3.0 mysql_keentune.sh

  • 查看主库的IP地址 docker inspect mysql-master | grep IPAddress

  • 修改主库的my.cnf , 在里面添加server_id=1
    • docker cp mysql-master:/etc/my.cnf.d/mysql-server.cnf ./mysql-server.cnf    将容器中的文件copy到本地路径
    • 添加server_id=1
    • docker cp ./mysql-server.cnf mysql-master:/etc/my.cnf.d/mysql-server.cnf   再将文件copy回容器
    • docker restart mysql-master  重启容器

 

  • 修改主库的my.cnf , 在里面添加server_id=2  (方法同上)
  • 配置主服务器主从同步的用户
    • 进入容器,登陆mysql

CREATE USER 'replication_user'@'%' IDENTIFIED WITH mysql_native_password BY 'root';

GRANT REPLICATION SLAVE ON *.* TO 'replication_user'@'%';

FLUSH PRIVILEGES;

SHOW MASTER STATUS;    查看主节点的状态

  • 配置从服务器(和主服务器关联)
    • 进入容器,登陆mysql

CHANGE REPLICATION SOURCE TO SOURCE_HOST='172.17.0.8', SOURCE_USER='replication_user', SOURCE_PASSWORD='root', SOURCE_LOG_FILE='binlog.000002', SOURCE_LOG_POS=851;

START REPLICA; 启动从服务器复制进程

SHOW REPLICA STATUS\G  查看从服务器状态

  • 到这里主从配置成功啦~~~
  • 测试主从复制
    • 连接主服务器,进入mysql
      • create database mydatabase;
      • use mydatabase;
      • CREATE TABLE `test` (

`id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键' ,

`remark` varchar(255) DEFAULT NULL COMMENT '说明',

PRIMARY KEY (`id`) USING BTREE

)ENGINE=IMNODB DEFAULT CHARSET=utf8 COMMENT='test';

  • insert into mydatabase.test values (22,'test');
  • 连接从服务器,进入mysql
    • 查询从服务器表数据,发现此时数据同步过来了,测试ok!


http://www.kler.cn/a/302442.html

相关文章:

  • 24/11/12 算法笔记<强化学习> Policy Gradient策略梯度
  • Oracle 11g rac 集群节点的修复过程
  • 【学习】【HTML】HTML、XML、XHTML
  • Flink CDC(SQL Client)连接 MySQL 数据库教程
  • 2-UML概念模型测试
  • 计算机的错误计算(一百五十二)
  • 期货赫兹量化-种群优化算法:进化策略,(μ,λ)-ES 和 (μ+λ)-ES
  • 【学习归纳自我总结版】尚硅谷学习第二天
  • FreeBSD兼容模式linux账户指向FreeBSD账户造成的困扰
  • udp聊天室
  • 【50 Pandas+Pyecharts | 暑期档电影票房数据分析可视化】
  • 深入探讨 Flannel 技术:性能、缺陷与优点
  • sql格式化工具
  • MongoDB 原子操作
  • 【计算机网络】UDP 协议详解及其网络编程应用
  • vue3中实现拖拽排序(vue-draggable-next的使用)
  • SVM 监督学习
  • Linux CentOS更换阿里云源解决Could not retrieve mirrorlist http://mirrorlist.centos.org
  • 电脑监控软件系统有哪些?|2024年干货整理,赶紧码住!
  • css父容器溢出隐藏 子容器溢出滚动
  • 使用TLS解决Docker API暴露2375端口的问题
  • C++-----STL简介(了解)
  • 【数据结构】第八节:链式二叉树
  • 为什么学习Python数据分析?学会能干什么?python数据分析有什么用
  • 研1日记10
  • 保证缓存一致性