===============================================

2018/7/1_第1次修改                       ccb_warlock

===============================================

mysql作为常用的关系型数据库和项目的关系非常紧密。由于经常需要搭建临时的mysql服务,而临时搭建时大多只是为了临时查点数据,而正常yum或apt-get的方式安装需要下载大量的时间,且还需要从虚拟机快照的角度进行回滚清理环境。故最近尝试了使用docker快速部署,感觉对于非压力负载环境通过docker方式非常轻便,且清理干净。

由于技术能力和公司业务所限,没有尝试过容器mysql的负载能力,按照一些反馈的说法自己搭建mysql容器的性能远远不如云服务器厂商提供的mysql服务(这里我的理解是个人仅仅是搭了mysql容器但是没有做各方面的优化,性能远远无法满足生产环境的要求),所以容器部署mysql仅仅只是研发内部使用,没有足够的能力做优化还是不要急着上生产环境。

mysql默认是关闭远程访问,最近没时间试验部署直接开机远程访问,目前的教程还需要连到mysql容器内部去进行配置,后期有空我会将缺失的内容补上。


 一、前提条件


 二、部署mysql容器(5.6)

 2.1 创建映射目录 

mkdir -p /usr/docker-vol/mysql/data

 2.2 配置mysql-stack.yml

# 编辑mysql-stack.yml

vi /root/mysql-stack.yml

# 添加下面的内容到mysq-stack.yml中,wq保存

version: '3.6'
services: mysql:
image: mysql:5.6.40
environment:
# 设置时区为Asia/Shanghai
- TZ=Asia/Shanghai
- MYSQL_ROOT_PASSWORD=123456
volumes:
- /usr/docker-vol/mysql/data:/var/lib/mysql
deploy:
replicas: 1
restart_policy:
condition: any
resources:
limits:
cpus: "0.2"
memory: 512M
update_config:
parallelism: 1 # 每次更新1个副本
delay: 5s # 每次更新间隔
monitor: 10s # 单次更新多长时间后没有结束则判定更新失败
max_failure_ratio: 0.1 # 更新时能容忍的最大失败率
order: start-first # 更新顺序为新任务启动优先
ports:
- 3306:3306
networks:
- myswarm-net networks:
myswarm-net:
external: true

 2.3 部署服务栈

1)命令方式

cd
docker stack deploy -c mysql-stack.yml mysql-stack

2)portainer界面方式(推荐)

登录portainer(如果是根据上面的教程部署的portainer,浏览器访问http://宿主机IP:9000,在stack中增加mysql-stack.yml文件中的内容)


 三、配置mysql允许远程IP访问

官方提供的镜像和安装在linux的配置一样,初始只允许本地服务访问mysql,需要调整mysql的配置之后才能达到远程连接的目的。(正如前面讲的,目前的方案并不是很合理,将来需要优化这个方式)

# 获取容器id

docker ps

找到mysql-stack_mysql.*******************的CONTAINER ID(我这里的是0d66abc8ce32)

# 进入容器

docker exec -it 0d66abc8ce32 /bin/bash

# 登录mysql

mysql -uroot -p

输入初始化的root密码123456登录。

# 进入mysql库

mysql> use mysql;

# 设置允许root用户用于通过任意IP访问mysql

mysql> grant all privileges  on *.* to root@'%' identified by "";

# 使配置立即生效

mysql> flush privileges;

# 退出mysql

mysql> exit

# 退出容器

exit

接着用navicat连接192.168.12.11:3306,用户名/密码:root/123456,提示连接成功,说明mysql容器已经可以使用了。

docker stack 部署 mysql 5.6的更多相关文章

  1. 在Centos上安装docker,部署mysql数据库

    何为docker? Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化. 本机环境 24小时不关机的Centos ...

  2. 利用Docker快速部署Mysql

    写在前面 我又来更新了~~~,今天内容较少,主要是利用Docker快速部署Mysql和初始化数据 利用Docker下载Mysql 简洁明了,在命令提示符中输入 docker pull mysql:8. ...

  3. docker stack 部署 mssql

    =============================================== 2019/12/8_第1次修改                       ccb_warlock == ...

  4. docker stack 部署容器监控方案(cAdvisor、Prometheus、Grafana)

    =============================================== 2018/7/8_第1次修改                       ccb_warlock === ...

  5. docker stack 部署 filebeat

    =============================================== 2018/7/21_第3次修改                       ccb_warlock 更新 ...

  6. docker stack 部署 redis

    =============================================== 2019/4/16_第2次修改                       ccb_warlock 更新 ...

  7. docker stack 部署 seafile(http)

    =============================================== 2018/5/13_第1次修改                       ccb_warlock == ...

  8. docker stack 部署 rabbitmq 容器

    =============================================== 2018/5/13_第1次修改                       ccb_warlock == ...

  9. docker环境部署mysql

    参考文档 docker官方:https://hub.docker.com/_/mysql/?tab=description 部署步骤 1. 拉取镜像 这里我拉取了tag为5.7的镜像 docker p ...

随机推荐

  1. 【刷题】BZOJ 4998 星球联盟

    Description 在遥远的S星系中一共有N个星球,编号为1-N.其中的一些星球决定组成联盟,以方便相互间的交流.但是,组成联盟的首要条件就是交通条件.初始时,在这N个星球间有M条太空隧道.每条太 ...

  2. 关于dismissViewControllerAnimated值得注意的一点(deinit)

    在使用dismissViewControllerAnimated退出当前视图的时候,理论上,该视图对象就会被清除了, 也就是说会进去当前类的析构函数deinit里面.但是有时候会发现,dismiss之 ...

  3. 【BZOJ1499】【NOI2005】瑰丽华尔兹(动态规划)

    [BZOJ1499]瑰丽华尔兹(动态规划) 题面 BZOJ 题解 先写部分分 设\(f[t][i][j]\)表示当前在\(t\)时刻,位置在\(i,j\)时走的最多的步数 这样子每一步要么停要么走 时 ...

  4. 51nod 1295 XOR key | 可持久化Trie树

    51nod 1295 XOR key 这也是很久以前就想做的一道板子题了--学了一点可持久化之后我终于会做这道题了! 给出一个长度为N的正整数数组A,再给出Q个查询,每个查询包括3个数,L, R, X ...

  5. BZOJ2142 礼物 【扩展Lucas】

    题目 一年一度的圣诞节快要来到了.每年的圣诞节小E都会收到许多礼物,当然他也会送出许多礼物.不同的人物在小E 心目中的重要性不同,在小E心中分量越重的人,收到的礼物会越多.小E从商店中购买了n件礼物, ...

  6. HDU 6249

    Alice’s Stamps Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)To ...

  7. R语言:R2OpenBUGS

    R语言:R2OpenBUGS 用这个包调用BUGS model,分别用表格和图形概述inference和convergence,保存估计的结果 as.bugs.array 转换成bugs object ...

  8. Java基础-IO流对象之序列化(ObjectOutputStream)与反序列化(ObjectInputStream)

    Java基础-IO流对象之序列化(ObjectOutputStream)与反序列化(ObjectInputStream) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.对象的序 ...

  9. C# list.ForEach用法

    list.ForEach(delegate(T model) { ... });

  10. vue中import xxx from 和 import {xxx} from的区别

    1.import xxx from import FunName from ‘../xxx’ 对应js中的引用: export defualt function FunName() { return ...