【摸鱼】Docker配置主从mysql数据库环境

embedded/2024/12/3 2:26:27/
  1. docker pull mysql拉取docker镜像,国内现在访问不了docker hub,可以去阿里云上镜像加速器地址https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
  2. 启动主库docker run -p 3306:3306 --name master-mysql --privileged=true -v /app/docker/data/master-mysql/log:/var/log/mysql -v /app/docker/data/master-mysql/data/:/var/lib/mysql -v /app/docker/data/master-mysql/conf/:/etc/mysql -v /etc/localtime:/etc/localtime:ro -v /app/docker/data/master-mysql/mysql-files/:/var/lib/mysql-files -e MYSQL_ALLOW_EMPTY_PASSWORD=yes -d mysql
    -v后面是卷映射,privileged是获取root权限,MYSQL_ALLOW_EMPTY_PASSWORD=yes是允许数据root无密码登录避免一些奇怪的错误
  3. docker exec -it master-mysql bash进入主库容器内
  4. mysql -uroot登录数据库
  5. use mysql切换到mysql数据库
  6. ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456' PASSWORD EXPIRE NEVER;更改密码,123456可以替换为你自己要设定的密码
  7. udpate user set Host='%' where User='root'打开访问地址限制
  8. 启动从库docker run -p 3308:3306 --name slave-mysql --privileged=true -v /app/docker/data/slave-mysql/log:/var/log/mysql -v /app/docker/data/slave-mysql/data/:/var/lib/mysql -v /app/docker/data/slave-mysql/conf/:/etc/mysql -v /etc/localtime:/etc/localtime:ro -v /app/docker/data/slave-mysql/mysql-files/:/var/lib/mysql-files -e MYSQL_ALLOW_EMPTY_PASSWORD=yes -d mysql
  9. docker exec -it slave-mysql bash进入从库容器内
  10. mysql -uroot登录数据库
  11. use mysql切换到mysql数据库
  12. ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456' PASSWORD EXPIRE NEVER;更改密码,123456可以替换为你自己要设定的密码
  13. udpate user set Host='%' where User='root'打开访问地址限制
  14. 在映射卷地址/app/docker/data/master-mysql/conf/中创建文件my.cnf,内容如下
[musqld]
server_id=1
  1. 重启主容器docker restart master-mysql
  2. docker exec -it master-mysql bash进入主库容器
  3. mysql -uroot -p
  4. CREATE USER 'replication_user'@'%' IDENTIFIED WITH mysql_native_password BY 'root';配置主库账号
  5. GRANT REPLICATION SLAVE ON *.* TO 'replication_user'@'%';
  6. FLUSH PRIVILEGES;
  7. SHOW MASTER STATUS;查看主服务器状态在这里插入图片描述
  8. 退出容器,查看主服务器ip地址docker inspect master-mysql | grep IPAddress
  9. 在映射卷地址/app/docker/data/slave-mysql/conf/中创建文件my.cnf,内容如下
[musqld]
server_id=2
  1. 重启从库容器docker restart slave-mysql
  2. docker exec -it slave-mysql bash
  3. mysql -u root -p
  4. CHANGE REPLICATION SOURCE TO SOURCE_HOST='172.17.0.2', SOURCE_USER='replication_user', SOURCE_PASSWORD='root', SOURCE_LOG_FILE='binlog.000005', SOURCE_LOG_POS=4566;配置从库服务器,SOURCE_HOST为主服务器Ip 地址,SOURCE_LOG_FILE为主服务器 binlog 文件,SOURCE_LOG_POS为 position,通过在主节点SHOW MASTER STATUS可以获取
  5. 启动从服务器复制进程START REPLICA;
  6. 查看从服务器状态SHOW REPLICA STATUS;
  7. 若要重新搭建STOP REPLICA;RESET REPLICA;

http://www.ppmy.cn/embedded/142476.html

相关文章

鸿蒙启航日志:探索华为科技之旅的第一天

鸿蒙学习之旅启航:首日深度探索华为的科技世界 今天,我正式踏上了学习鸿蒙系统的征途,心中充满了对未知的好奇与期待。作为一名具备一定计算机基础的学习者,我深知这次学习之旅不仅是一次技术的挑战,更是一次深入了解…

windows 应用 UI 自动化实战

UI 自动化技术架构选型 UI 自动化是软件测试过程中的重要一环,网络上也有很多 UI 自动化相关的知识或资料,具体到 windows 端的 UI 自动化,我们需要从以下几个方面考虑: 开发语言 毋庸置疑,在 UI 自动化测试领域&am…

vi/vim文件管理命令练习

一.练习要求 文件管理命令练习: (1)在/opt目录下创建一个临时目录tmp; (2)在临时目录下创建一个文件,文件名为a.txt;vi/vim练习: (1) 应用vi命令在/tmp文件夹下创建文…

jmeter学习(7)命令行控制

jmeter -n -t E:\IOT\test2.jmx -l E:\IOT\output\output.jtl -j E:\IOT\output\jmeter.log -e -o E:\IOT\output\report IOT下创建output 文件夹,jmx文件名避免中文,再次执行output.jtl不能有数据要删除

【攻防世界】WEB-inget

首先找到该关卡 启动靶场环境 访问靶场 构造一个id参数,尝试访问,无内容回显 使用sqlmap工具,先获取数据库,输入命令sqlmap -u http://61.147.171.105:58893/?id1 --dbs 发现第一个即为所需数据库,接下来进行获取…

【微服务】Nacos配置管理

一、统一配置管理 1、配置统一管理 2、微服务获取配置 ①引入Nacos的配置管理客户端依赖(usersevice下) <!--nacos的配置管理依赖--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-confi…

Linux下的三种 IO 复用

目录 一、Select 1、函数 API 2、使用限制 3、使用 Demo 二、Poll 三、epoll 0、 实现原理 1、函数 API 2、简单代码模板 3、LT/ET 使用过程 &#xff08;1&#xff09;LT 水平触发 &#xff08;2&#xff09;ET边沿触发 4、使用 Demo 四、参考链接 一、Select 在…

Oracle 11gR2 Data Guard 搭建 (一主一从)

一、环境规划 项目主库 Primary备库 Standby操作系统CentOS Linux 7.9.2009CentOS Linux 7.9.2009数据库版本11.2.0.411.2.0.4IP地址192.168.10.101192.168.10.102db_nameorclorclinstance_nameorclorcldb_unique_nameorcl_priorcl_sbytnsnameorcl_priorcl_sbyservice_names(服…