一、背景

由于现在大部分的应用都是运行在云服务器上的,而现在大多数文章都是主要写如何在服务器上使用docker去运行mysql,比较少有介绍云服务器上的。再加上现在k8s比较火爆,而云厂商大多数都提供了k8s 集群服务且master免费,我们只需要使用就行了,更深一级的运维的事情就交给云厂商处理吧。但是建议开发的同学,还是要去手动部署一下k8s集群或只有单节点的也行,做一个基础的了解。这样用云会更加随心应手。

二、简要说明

本篇文章主要介绍如何在docker中安装mysql,并将路径挂载到服务器的目录中,在对其运行有一些 了解后。

再基于腾讯云的集群服务去创建mysql服务,并将实现上面的将路径挂载的功能。

三、具体步骤

1.首先创建相关的目录,用于映射,这里我创建了

/mysql/data 用于映射数据目录

/mysql/config 用于映射配置文件

2.我们先进行一次普通的docker安装

docker pull mysql:lastest

先以普通的方式运行一次mysql不进行映射路径操作,并设置root密码:

docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:latest

进入跑起来的容器

docker exec -it 容器id /bin/bash

运行:mysql --verbose --help|grep -A 1 'Default options' 查看Mysql的配置路径:

从上图可以看出, 服务器首先会读取/etc/my.cnf文件,如果发现该文件不存在,再依次尝试从后面的几个路径进行读取。由于/etc/my.cnf是不存在的因此会读取中间的路径,

因此我这里打算把整个/etc/mysql的路劲都映射出去。

输入cat /etc/mysql/my.cnf 查看配置:如下图

我们可以看到datadir = /var/lib/mysql,因此需要把此路径映射到外面去。

3.由于我本机没有con.f之类的文件,所以我把容器中的文件拷贝出来。

docker cp 容器id:/etc/mysql /mysql/config

如上图所示:

4.关闭容器,并重新以映射路径的方式运行docker命令

docker stop 容器id

docker rm 容器id

docker run --name mysql -p 3306:3306 -v /mysql/data:/var/lib/mysql -v /mysql/config/mysql:/etc/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:latest

docker ps

如上图,docker中的mysql运行成功,并将配置与数据挂载到了服务器的硬盘中。

4.现在我们来试一下如何在腾讯云的集群中配置并挂载到服务器路径中。

首先创建好自己的集群,也可以把之前的服务器加入集群中,

Deployment----》新建,以下则相当于实现了上面的docker run的命令,后再以nodeport输出到服务器的端口实现访问

腾讯云集群服务部署mysql并挂载到服务器的更多相关文章

  1. saltsack自动化配置day03:服务部署mysql部署

    一.MySQL集群需求分享 1.抽象:功能模块 把基础的写成通用 服务部署也要抽象出来模块 redis内存有的多,有的少,可以config set在线更改 redis 安装.配置.启动 mysql 安 ...

  2. kubernetes有状态集群服务部署与管理

    有状态集群服务的两个需求:一个是存储需求,另一个是集群需求.对存储需求,Kubernetes的解决方案是:Volume.Persistent Volume .对PV,除了手动创建PV池外,还可以通过S ...

  3. 高可用rabbitmq集群服务部署步骤

    消息队列是非常基础的关键服务,为保证公司队列服务的高可用及负载均衡,现通过如下方式实现: RabbitMQ Cluster + Queue HA + Haproxy + Keepalived 3台ra ...

  4. Zookeeper集群服务部署

    Zookeeper是一个分布式.开源的分布式应用程序协调服务,是Google的Chubby的开源实现,也是和Hadoop.Hbase相互配合的重要组件,作用就是为分布式应用程序提供一致性服务,包括配置 ...

  5. 使用idea开发工具,nginx服务部署Extjs6,SpringBoot项目到服务器

    编译ExtJs文件 1.输入命令 2.开始编译 3.找到编译后的文件 E:\idea_project\BaiSheng_Model\fin-ui\build\production\Admin 4.将文 ...

  6. MySQL+MGR 单主模式和多主模式的集群环境 - 部署手册 (Centos7.5)

    MySQL Group Replication(简称MGR)是MySQL官方于2016年12月推出的一个全新的高可用与高扩展的解决方案.MGR是MySQL官方在5.7.17版本引进的一个数据库高可用与 ...

  7. k8s云集群混搭模式,可能帮你节省50%以上的服务成本

    现在大部分中小企业或团队都是使用云平台来部署自己的服务,如阿里云,亚马逊云等.一般来说,业务的负载都具备一定的规律,比如每天集中在某几个小时,或呈现时间段周期性波峰.波谷交替的现象,如下图 如果使用E ...

  8. 利用Advanced Installer将asp.netMVC连同IIS服务和mysql数据库一块打包成exe安装包

    因为业务需要,项目中需要把asp.netmvc项目打包成exe安装程序给客户,让客户直接可以点下一步下一步安装部署web程序,并且同时要将IIS服务和mysql一同安装到服务器上,因为客户的电脑可能是 ...

  9. 部署MYSQL高可用集群

                                                  mysql-day08     部署MYSQL高可用集群 u 集群架构                   ...

随机推荐

  1. CF1324D Pair of Topics 题解

    原题链接 简要题意: 有两个数组 \(a_i\),\(b_i\),求有多少组 \(a_i + a_j > b_i + b_j (i \not = j)\). 显然,纯暴力过不了这道题目. 首先, ...

  2. sweep line-The Skyline Problem

    2020-01-10 17:51:05 问题描述: 问题求解: 本题是经典的sweep line问题. 对于sweep line问题我们需要考虑的只有两点: 1. 延水平方向 / 时间方向 :时间队列 ...

  3. 爬虫&Selenium&ChromeDriver

    一.Selenium selenium是什么 Selenium [1] 是一个用于Web应用程序测试的工具.Selenium测试直接运行在浏览器中,就像真正的用户在操作一样.支持的浏览器包括IE(7, ...

  4. 使用charAt()方法查找字符串

    <!DOCTYPE html> <html lang="en"> <head>     <meta charset="UTF-8 ...

  5. coding++:TimeUnit 使用

    TimeUnit是java.util.concurrent包下面的一个类,表示给定单元粒度的时间段 主要作用 时间颗粒度转换 延时 常用的颗粒度 TimeUnit.DAYS //天 TimeUnit. ...

  6. Java中如何调用静态方法

    Java中如何调用静态方法: 1.如果想要调用的静态方法在本类中,可直接使用方法名调用 2.调用其他类的静态方法,可使用类名.方法名调用 关于静态方法能被什么调用 1.实例方法 2.静态发放

  7. Eclipse无法查看第三方jar包源代码解决

    我在csdn写了过了:https://blog.csdn.net/weixin_40404606/article/details/105174820

  8. C#使用反射设置属性值

    最近在Refix一个支持Excel文件导入导出功能时,发现有用到反射的相关技能.故而在网上查了些资料,通过代码调试加深下理解. class Program { static void Main(str ...

  9. CentOS7部署指南

    1.rpm包安装---下载安装文件 wget https://pkg.jenkins.io/redhat/jenkins-2.156-1.1.noarch.rpm rpm -ivh jenkins-2 ...

  10. D - 淡黄的长裙 HDU - 4221(贪心)

    D - 淡黄的长裙 HDU - 4221(贪心) James is almost mad! Currently, he was assigned a lot of works to do, so ma ...