(全栈学习实践)四、继续搭建集群

栏目: 数据库 · 发布时间: 6年前

内容简介:目前已完成:php7及扩展、redis5的Dockerfile测试版编写,稍许完善后同步上传到github,(记下这里memcached还没有剥离安装)。今天数据库,编程的一个重要原则是不要重复造轮子,php因为需要很多自定义插件、所以单独编译镜像,其实其他包括redis都应该使用官方的,直接pull就行。一、mysql部分

目前已完成:php7及扩展、 redis 5的Dockerfile测试版编写,稍许完善后同步上传到github,(记下这里 memcached 还没有剥离安装)。

今天数据库,编程的一个重要原则是不要重复造轮子,php因为需要很多自定义插件、所以单独编译镜像,其实其他包括redis都应该使用官方的,直接pull就行。

一、 mysql 部分

参考 官方镜像 ,根据官方镜像,准备的mysql、mysql_slave文件树,添加了个数据文件夹。

[]:~/tmp/dk/mysql/mysql_slave# tree ./
./
├── config
│   ├── conf.d
│   │   └── docker.cnf
│   └── my.cnf
└── data

1、创建mysql镜像

[]:~/tmp/dk# docker pull mysql:8.0
[]:~/tmp/dk# docker run --name mq -p 3306:3306 -v /root/tmp/dk/mysql/data:/var/lib/mysql \
    -v /root/tmp/dk/mysql/config:/etc/mysql \
    -v /root/tmp/dk/mysql/mysql-files:/var/lib/mysql-files -e MYSQL_ROOT_PASSWORD=123456  -d mysql:8.0
[]:~/tmp/dk# docker run --name ms -p 3308:3306 -v /root/tmp/dk/mysql_slave/data:/var/lib/mysql \
    -v /root/tmp/dk/mysql_slave/config:/etc/mysql \
    -v /root/tmp/dk/mysql_slave/mysql-files:/var/lib/mysql-files -e MYSQL_ROOT_PASSWORD=123456  -d mysql:8.0

退出后台运行的容器,按 Ctrl+D 进行退出容器,请牢记!

run后运行的容器进入:

a.旧式进入     []:~/tmp/dk# docker attach mq
b.命令进入     []:~/tmp/dk# docker exec -it mq /bin/bash(或/bin/sh)

参考《 Docker容器进入的4种方式

a.普通进入:有一个问题。当多个窗口同时使用该命令进入该容器时,所有的窗口都会同步显示。如果有一个窗口阻塞了,那么其他窗口也无法再进行操作。所以docker attach命令不太适合于生产环境,平时自己开发应用时可以使用该命令。

b.推荐

2、主从同步数据

# 主服务器
mysql> CREATE USER 'repl'@'%' IDENTIFIED WITH mysql_native_password BY 'Ron_master_1';
mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';
mysql> flush privileges;
# 从服务器
# remote_host可以是 192.168.1.102 的相对于容器的公网地址
#重置复制状态参数
mysql> reset slave all;
Query OK, 0 rows affected (0.02 sec)

mysql> change master to master_host='remote_host',master_port=3306,master_user='repl',\
    master_password='Ron_master_1',master_log_file='mysql-bin.000003',master_log_pos=155;
Query OK, 0 rows affected, 2 warnings (0.01 sec)

mysql> start slave;
Query OK, 0 rows affected (0.00 sec)
# 关闭从服务
mysql> STOP SLAVE;

如在配置主从同步前master中已有数据,则需提前进行数据同步操作

登录master,执行锁表操作

# 主服务器容器
mysql> FLUSH TABLES WITH READ LOCK;
Query OK, 0 rows affected (0.01 sec)
# 完成后
mysql> UNLOCK TABLES;
Query OK, 0 rows affected (0.00 sec)
# 从服务器容器
xx@fd8bb25a86fc:/# mysqldump -uroot -p -h remote_host -P3306 test > /tmp/test.dump
Enter password: 
xx@fd8bb25a86fc:/# mysql -uroot -p123456
mysql> create database test;
Query OK, 1 row affected (0.01 sec)

# 或直接use然后source file
mysql> quit
Bye
xx@fd8bb25a86fc:/# mysql -u root -p test < /tmp/test.dump

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

见微知著-WEB用户体验解构

见微知著-WEB用户体验解构

李清 / 机械工业出版社 / 2010-4 / 36.00元

本书用解构分析的方法,系统全面地介绍了Web页面设计的相关知识和要素。 本书从整体到局部地对网站的元素进行解构,包括网站整体布局、整体配色方案,到网站各个功能区域,如登录区、内容区、广告区等,最后到按钮、反馈、验证码、字体、文字语气等多个细节元素。本书通过解构这些元素来讲述如何对用户体验设计进行优化,如何进行搜索引擎优化。 本书适用于网站交互设计师、视觉设计师、产品经理、网站设计人员、......一起来看看 《见微知著-WEB用户体验解构》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具