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

减肥单页网站辅导班

减肥单页网站,辅导班,重庆建设工程交易中心,网站制作 推荐新鸿儒目录 1 实验介绍 2 实验准备 2.1 创建目录为MySQL挂载使用 2.2 编写 docker-compose.yml 文件 2.3 启动容器 3 主从复制操作 3.1 MASTER 操作指令 3.2 SLAVE1 操作指令 3.3 SLAVE2 操作指令 4 验证是否实现主从 4.1 导入sql脚本查看是否正常主从复制 4.2 检验从库是否看见复制…

目录

1 实验介绍

2 实验准备

2.1 创建目录为MySQL挂载使用

2.2 编写 docker-compose.yml 文件

2.3 启动容器

3 主从复制操作

3.1 MASTER 操作指令

3.2 SLAVE1 操作指令

3.3 SLAVE2 操作指令

4 验证是否实现主从

4.1 导入sql脚本查看是否正常主从复制

4.2 检验从库是否看见复制是否成功


1 实验介绍

本次实验 使用 docker 镜像,开启三个容器,实现一主两从。

容器主机IP地址映射主机端口
mysql-master192.168.1.23306
mysql-slave1192.168.1.33307
mysql-slave2192.168.1.43308

2 实验准备

2.1 创建目录为MySQL挂载使用

使用 docker 做MySQL这一种有状态的,需要很好的保持数据的可靠性,所以得使用宿主机挂载到容器内

 [root@chucong mysql_zhucong]# tree /data/ -L 3/data/├── master              # master的目录│   ├── conf            # 配置文件存放目录│   │   └── my.cnf      # 配置文件│   └── master-data     # 存放数据的地方├── slave1│   ├── conf│   │   └── my.cnf│   └── slave1-data└── slave2├── conf│   └── my.cnf└── slave2-data​# MySQL 配置文件[root@chucong mysql_zhucong]# cat /data/master/conf/my.cnf [mysqld]datadir=/var/lib/mysqlsocket=/var/lib/mysql/mysql.socksymbolic-links=0log_bin=mysql-bin  # 开启bin-log日志,注意只有主配置文件需开启server_id=10#gtid_mode=ON    # 开启GTID#enforce-gtid-consistency=ON    # 保证GTID的强一致性​​[root@chucong mysql_zhucong]# cat /data/slave1/conf/my.cnf [mysqld]datadir=/var/lib/mysqlsocket=/var/lib/mysql/mysql.socksymbolic-links=0server_id=20#super_read_only=on  #只读#gtid_mode=ON    # 开启GTID#enforce-gtid-consistency=ON    # 保证GTID的强一致性​​[root@chucong mysql_zhucong]# cat /data/slave2/conf/my.cnf [mysqld]datadir=/var/lib/mysqlsocket=/var/lib/mysql/mysql.socksymbolic-links=0server_id=30#super_read_only=on  #只读#gtid_mode=ON    # 开启GTID#enforce-gtid-consistency=ON    # 保证GTID的强一致性

2.2 编写 docker-compose.yml 文件

[root@chucong mysql_zhucong]# docker pull mysql:9.1.0
[root@chucong mysql_zhucong]# vim docker-compose.yml version: '2.27.1'services:mysql-master:image: mysql:9.1.0container_name: mysql-masterenvironment:            # 定义系统值MYSQL_ROOT_PASSWORD: root     # root密码MYSQL_USER: repl      # 创建复制用户MYSQL_PASSWORD: root  # 设置密码ports:- 3306:3306volumes:- /data/master/master-data:/var/lib/mysql # 挂载宿主机目录到容器- /data/master/conf/my.cnf:/etc/my.cnfrestart: alwaysnetworks:mynet1:ipv4_address: 192.168.1.2​mysql-slave1:image: mysql:9.1.0container_name: mysql-slave1environment:MYSQL_ROOT_PASSWORD: rootMYSQL_USER: replMYSQL_PASSWORD: rootports:- 3307:3306volumes:- /data/slave1/slave1-data:/var/lib/mysql # 挂载宿主机目录到容器- /data/slave1/conf/my.cnf:/etc/my.cnfrestart: alwaysnetworks:mynet1:ipv4_address: 192.168.1.3​mysql-slave2:image: mysql:9.1.0container_name: mysql-slave2environment:MYSQL_ROOT_PASSWORD: rootMYSQL_USER: replMYSQL_PASSWORD: rootports:- 3308:3306volumes:- /data/slave2/slave2-data:/var/lib/mysql # 挂载宿主机目录到容器- /data/slave2/conf/my.cnf:/etc/my.cnfrestart: alwaysnetworks:mynet1:ipv4_address: 192.168.1.4​networks:mynet1:                       # 使用自定义桥接模式driver: bridgeipam:config:- subnet: 192.168.1.0/24  # 定义网段gateway: 192.168.1.1    # 定义网关

2.3 启动容器

 [root@chucong zhucong]# docker compose up -d  # 查看容器是否运行[root@chucong zhucong]# docker ps CONTAINER ID   IMAGE         COMMAND                   CREATED          STATUS          PORTS                                                  NAMESe5776a980697   mysql:9.1.0   "docker-entrypoint.s…"   59 minutes ago   Up 43 minutes   33060/tcp, 0.0.0.0:3307->3306/tcp, :::3307->3306/tcp   mysql-slave10bb3a700077c   mysql:9.1.0   "docker-entrypoint.s…"   59 minutes ago   Up 43 minutes   33060/tcp, 0.0.0.0:3308->3306/tcp, :::3308->3306/tcp   mysql-slave2af2f63aa00e8   mysql:9.1.0   "docker-entrypoint.s…"   59 minutes ago   Up 4 seconds    0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp   mysql-master

3 主从复制操作

3.1 MASTER 操作指令

[root@chucong mysql_zhucong]# docker exec -it mysql-master bash
bash-5.1# mysql -uroot -proot​​# 假如说没有设置变量自动创建可以手动创建,设置了可以省略以下命令mysql> CREATE USER 'repl'@'%' IDENTIFIED BY 'root';​# 赋予所有库所有表 repl 用户 REPLICATION SLAVE 的权限mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';mysql> FLUSH PRIVILEGES;​mysql> SHOW BINARY LOG STATUS\G         # 与过往版本不一样了,以前为 SHOW MASTER status\G*************************** 1. row ***************************File: mysql-bin.000034         # 注意此处的Position: 198                      # 还有此出处,这两行在从库操作的时候有至关重要的作用Binlog_Do_DB: Binlog_Ignore_DB: Executed_Gtid_Set: d83de5a7-b723-11ef-a65b-0242c0a80104:1-21 row in set (0.00 sec)

3.2 SLAVE1 操作指令

 [root@chucong mysql_zhucong]# docker exec -it mysql-slave1 bashbash-5.1# mysql -uroot -proot​# 假如说没有设置变量自动创建可以手动创建,设置了可以省略以下命令mysql> CREATE USER 'repl'@'%' IDENTIFIED BY 'root';​# 以下这整条命令也是发生了巨大的改变,并且不需要指定端口了mysql> CHANGE REPLICATION SOURCE TOSOURCE_HOST='192.168.1.2',          # MASTER 的 IPSOURCE_USER='repl',                 # 创建的用户SOURCE_PASSWORD='root',             # 密码SOURCE_LOG_FILE='mysql-bin.000034', # 为主库使用 SHOW BINARY LOG STATUS\G 中的File值GET_SOURCE_PUBLIC_KEY=1,            # 此处注意 自动获取主服务器的公钥(适用于caching_sha2_password)SOURCE_LOG_POS=198;                 # 为主库使用 SHOW BINARY LOG STATUS\G 中的Position值​# 旧版本的命令如下,可指定端口# mysql> CHANGE MASTER TO #    -> MASTER_HOST='192.168.1.2',#    -> MASTER_PORT=3306,#    -> MASTER_USER='repl',#    -> MASTER_PASSWORD='root',#    -> MASTER_LOG_FILE='mysql-bin.000034',#    -> MASTER_LOG_POS=198;​​​mysql> START REPLICA;       # 启动复制  9.1.0 变化的命令 以前版本为 START SLAVE;mysql> SHOW REPLICA STATUS; # 启动复制  9.1.0 变化的命令 以前版本为 SHOW SLAVE STATUS;​mysql> SHOW REPLICA STATUS\G*************************** 1. row ***************************Replica_IO_State: Waiting for source to send eventSource_Host: 192.168.1.2Source_User: replSource_Port: 3306Connect_Retry: 60Source_Log_File: mysql-bin.000034Read_Source_Log_Pos: 7061047Relay_Log_File: e5776a980697-relay-bin.000002Relay_Log_Pos: 7061177Relay_Source_Log_File: mysql-bin.000034Replica_IO_Running: Yes      # IO 线程YES表示已经连接成功,如果不是会显示no或者connectReplica_SQL_Running: Yes      

3.3 SLAVE2 操作指令

 
[root@chucong mysql_zhucong]# docker exec -it mysql-slave2 bashbash-5.1# mysql -uroot -proot​# 假如说没有设置变量自动创建可以手动创建,设置了可以省略以下命令mysql> CREATE USER 'repl'@'%' IDENTIFIED BY 'root';​# 以下这整条命令也是发生了巨大的改变,并且不需要指定端口了mysql> CHANGE REPLICATION SOURCE TOSOURCE_HOST='192.168.1.2',          # MASTER 的 IPSOURCE_USER='repl',                 # 创建的用户SOURCE_PASSWORD='root',             # 密码SOURCE_LOG_FILE='mysql-bin.000034', # 为主库使用 SHOW BINARY LOG STATUS\G 中的File值GET_SOURCE_PUBLIC_KEY=1,            # 此处注意 自动获取主服务器的公钥(适用于caching_sha2_password)SOURCE_LOG_POS=198;                 # 为主库使用 SHOW BINARY LOG STATUS\G 中的Position值​# 旧版本的命令如下,可指定端口# mysql> CHANGE MASTER TO #    -> MASTER_HOST='192.168.1.2',#    -> MASTER_PORT=3306,#    -> MASTER_USER='repl',#    -> MASTER_PASSWORD='root',#    -> MASTER_LOG_FILE='mysql-bin.000034',#    -> MASTER_LOG_POS=198;​​​mysql> START REPLICA;       # 启动复制  9.1.0 变化的命令 以前版本为 START SLAVE;mysql> SHOW REPLICA STATUS; # 启动复制  9.1.0 变化的命令 以前版本为 SHOW SLAVE STATUS;​mysql> SHOW REPLICA STATUS\G*************************** 1. row ***************************Replica_IO_State: Waiting for source to send eventSource_Host: 192.168.1.2Source_User: replSource_Port: 3306Connect_Retry: 60Source_Log_File: mysql-bin.000034Read_Source_Log_Pos: 7061047Relay_Log_File: 0bb3a700077c-relay-bin.000002Relay_Log_Pos: 7061177Relay_Source_Log_File: mysql-bin.000034Replica_IO_Running: YesReplica_SQL_Running: Yes

4 验证是否实现主从

4.1 导入sql脚本查看是否正常主从复制

 # MASTER[root@chucong ~]# docker cp smart_work_v3.sql mysql-master:/Successfully copied 6.53MB to mysql-master:/[root@chucong ~]# docker exec -it mysql-master bashbash-5.1# ls afs  boot  docker-entrypoint-initdb.d  home  lib64  mnt  proc  run   smart_work_v3.sql  sys  usrbin  dev   etc                         lib   media  opt  root  sbin  srv                tmp  var​bash-5.1# mysql -uroot -prootmysql> CREATE DATABASE shuyan;  # 创建数据库mysql> USE shuyan   # 切换到数据库Database changed​mysql> SOURCE smart_work_v3.sql # 导入sql脚本​mysql> SHOW TABLES;+----------------------------------------+| Tables_in_shuyan                       |+----------------------------------------+| aaa                                    || abi_http_log                           || act_app_appdef                         || act_app_databasechangelog              || act_app_databasechangeloglock          || act_app_deployment                     || act_app_deployment_resource            || act_cmmn_casedef                       |+----------------------------------------+

4.2 检验从库是否看见复制是否成功

mysql> USE shuyan;Reading table information for completion of table and column namesYou can turn off this feature to get a quicker startup with -A​Database changedmysql> SHOW TABLES;+----------------------------------------+| Tables_in_shuyan                       |+----------------------------------------+| aaa                                    || abi_http_log                           || act_app_appdef                         || act_app_databasechangelog              || act_app_databasechangeloglock          || act_app_deployment                     || act_app_deployment_resource            || act_cmmn_casedef                       || act_cmmn_databasechangelog             || act_cmmn_databasechangeloglock         || act_cmmn_deployment                    |+----------------------------------------+

http://www.ds6.com.cn/news/105958.html

相关文章:

  • 用网站做简历快速网站排名优化
  • 网页源代码提取视频上海seo推广平台
  • linux 做网站用哪个版本网站服务器怎么搭建
  • 做网站预付款 怎么做账百度小说排行榜完本
  • 有没有兼职做网站的seo优化排名价格
  • 高端企业网站建设网络推广员每天的工作是什么
  • 网页制作模板百度云seo诊断的网络问题
  • 理财网站模板免费下载长沙官网seo服务
  • 江苏常州最新疫情百度关键词seo外包
  • 网站设计的留言怎么做什么文案容易上热门
  • 怎么制作网站下载软件宁波网站推广找哪家公司
  • wordpress开启多站点网络营销ppt课件
  • wordpress 图片的设置密码win7优化教程
  • 百度站长平台开绿色收录通道加快网站收录目录搜索引擎有哪些
  • wordpress主题防止破解seo排名优化技术
  • 顺德网站建设效果一键优化大师下载
  • ps做旅游网站网站建设的系统流程图
  • 沈阳思路网站制作宁波seo费用
  • 网站后台是什么实时疫情最新消息数据
  • 贵阳网站建设培训学校论坛推广工具
  • 上海人才网站首页aso优化技巧大aso技巧
  • 为什么做网站要用谷歌浏览器流量大的推广平台有哪些
  • 南充做网站略奥网络手机百度云电脑版入口
  • wordpress修改php.iniseo顾问阿亮
  • 网站备案需要什么资料长春网站seo公司
  • 网站域名解析时间安卓优化大师app下载安装
  • 自己电脑做网站教程网站优化入门
  • 怎么做卖衣服网站绍兴seo排名外包
  • 网站推广咋做的seo教程自学网
  • 哪些网站可以做化妆品广告清理优化大师