Docker(三):Docker安装MySQL
查找MySQL镜像
镜像仓库
https://hub.docker.com/
下拉镜像
docker pull mysql:5.7
查看镜像
docker images
创建MySQL容器
命令式启动MySQL容器
docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7
参数说明
-p 3306:3306: 将容器的3306端口映射到宿主机的3306端口
--name mysql:将容器名字设置为mysql
-v /mydata/mysql/log:/var/log/mysql:将日志文件夹挂载到宿主机
-v /mydata/mysql/data:/var/lib/mysql:将数据文件夹挂载到宿主机
-v /mydata/mysql/conf:/etc/mysql:将配置文件夹挂载到宿主机
-e MYSQL_ROOT_PASSWORD=root:初始化root用户的密码
-d mysql:5.7:后台运行容器,并返回容器ID
docker-compose启动
version: '2'
services:
mysql:
container_name: mysql
image: mysql:5.7
ports:
- "3306:3306"
volumes:
- /mydata/mysql/log:/var/log/mysql
- /mydata/mysql/data:/var/lib/mysql
- /mydata/mysql/conf:/etc/mysql
restart: always
environment:
- MYSQL_ROOT_PASSWORD=root
- COMPOSE_PROJECT_NAME=mysql-server
使用docker-compose方式启动可以很方便的查看容器的启动参数,命令启动方式可能会忘记启动参数。
查看容器
docker ps -a
进入容器
docker exec -it mysql /bin/bash
容器中文件
root@3873b46ee9b0:/# ls
bin boot dev docker-entrypoint-initdb.d entrypoint.sh etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
# 退出容器
root@3873b46ee9b0:/# exit;
就是一个linux系统。
配置MySQL
进入挂载数据卷
[root@k8s-master01 ~]# cd /mydata/mysql/
[root@k8s-master01 mysql]# ls
conf data log
[root@k8s-master01 mysql]# cd conf/
[root@k8s-master01 conf]# pwd
/mydata/mysql/conf
创建MySQL配置文件
cat > my.cnf <<-EOF
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve
EOF
注意:解决mysql连接慢问题,skip-name-resolve:跳过域名解析
重启MySQL容器
docker restart mysql
进入容器确认配置
[root@k8s-master01 conf]# docker exec -it mysql /bin/bash
root@3873b46ee9b0:/# cd /etc/mysql/
root@3873b46ee9b0:/etc/mysql# ls
my.cnf
root@3873b46ee9b0:/etc/mysql# cat my.cnf
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve
测试连接
Docker启动容器自启
docker update mysql --restart=always
Docker(三):Docker安装MySQL的更多相关文章
- Docker(三)安装Mysql
1.安装Mysql,以及常见的错误解决方法 https://blog.csdn.net/qq_19348391/article/details/82998391 2.使用SQLyog或者Navicat ...
- docker学习4-docker安装mysql环境
前言 docker安装mysql环境非常方便,简单的几步操作就可以了 拉取mysql镜像 先拉取mysql的镜像,可以在docker的镜像仓库找到不同TAG标签的版本https://hub.docke ...
- docker - 容器里安装mysql
在docker中安装mysql ubuntu官方镜像是精简的ubuntu系统,很多软件和库没有安装,所以直接安装mysql的话依赖较多,建议直接从源码编译安装mysql 通过命令行安装 先启动一个容器 ...
- Docker容器手动安装mysql(国内镜像)
Docker手动安装mysql 1.创建centos镜像的容器 [root@localhost Tools]# docker run -i -d -h zabbix --name zabbix -p ...
- Docker学习之安装mysql
1.从Docker检索mysql镜像 指令: docker search mysql 2.镜像下载 指令: docker pull mysql:5.7.19 3.查看本地镜像列表 指令: docker ...
- 部署WEB项目到服务器(三)安装mysql到linux服务器(Ubuntu)详解
突发奇想,想在自己电脑上部署一个web网站. 1,首先是下载一个适合自己已安装服务器版本的mysql数据库. 这里使用网上的链接http://dev.mysql.com/downloads/mysql ...
- Docker通过挂载安装mysql
一.安装 mkdir -p ./docker/mysql cd docker/ cd mysql/ mkdir conf mkdir data mkdir logs mkdir mysql-file ...
- Docker(三)-Docker中Image、Container与Volume的迁移
Image 镜像的迁移,适用于离线环境. 一般离线环境,都会自建Docker Registry. 无论 官方的 ,还是最近流行的 Harbor ,都是不错的选择. 但是,这个世界上就是有些环境,或者说 ...
- 使用docker安装mysql服务
使用docker官方镜像安装mysql服务 1 拉取mysql镜像,采用网易加速地址 docker pull hub.c.163.com/library/mysql:5.7 2 重命名镜像名 dock ...
- docker 静默安装mysql
debconf-set-selections命令 1.功能作用 在debconf database中插入默认值 2.位置 /usr/bin/debconf-set-selections 3.格式用法 ...
随机推荐
- 在linux系统中通过fw_printenv查看和设置u-boot中的环境变量
uboot下可以通过命令访问(printenv)和修改环境变量(setenv),但是如果需要在Linux系统下访问这些数据该怎么办呢?其实uboot早就帮我们想好了. 1.编译fw_printenv ...
- 使用pdfFactory为PDF文件设定查看选项
一般情况下,大部分PDF文件都会按照默认的查看设置,以100%的尺寸显示第一页的内容.但在一些特殊情况下,PDF文件的创建者会设定其他的文件查看尺寸,或设定打开页为第N页,来达到引起阅读者关注的目的. ...
- JPA使用之@Query的常用写法
准备 实体 @Data @Table(name = "task_apply") @Entity public class TaskApply { @Id @GeneratedVal ...
- Codeforces Round #674 (Div. 3)
A 除一下就完了. 时间复杂度 \(O\left(t\right)\). B 分在对称线上的矩阵和不在对称线上的矩阵讨论. 时间复杂度 \(O\left(tn^2\right)\). C 肯定是先增加 ...
- http 文件上传
参考https://www.cnblogs.com/yuwei0911/p/8601542.html
- NameServer 与zk
1.nameServer 之间互不通信,故不存在强一致性,即不同的producer看到的视图可能时不一样的,(如何保证最终一致的?) 2.nameServer维护的boker信息 发生变化时,不会像z ...
- 在HTML中调用打开摄像头
1 <img src="imgs/qr.png" alt=""> 2 <video src=""></vide ...
- Robot Framework接口自动化案例分享⑦——Jenkins持续集成
一.RobotFramework插件安装 1.Jenkins首页->系统管理->插件管理->可选插件-> 2.搜索robot,点击直接安装 二.任务参数配置 1.新建任务 Je ...
- 20200311_解决Could not resolve host: mirrorlist.centos.org
[root@localhost ~]# yum -y install wget 已加载插件:fastestmirror Determining fastest mirrors Could not re ...
- 手写koa-static源码,深入理解静态服务器原理
这篇文章继续前面的Koa源码系列,这个系列已经有两篇文章了: 第一篇讲解了Koa的核心架构和源码:手写Koa.js源码 第二篇讲解了@koa/router的架构和源码:手写@koa/router源码 ...