Docker系列之MySQL安装教程

有了前面的基础教程Docker系列之常用命令操作手册之后,本博客记录一篇mysql的安装教程

mysql镜像查询命令

docker search mysql

几个关键参数解释一下:

  • INDEX docker.io就是docker官网
  • NAME 镜像的名称
  • DESCRIPTION 镜像描述
  • STARS 关注数目
  • OFFICIAL 是否官方
  • AUTOMATED 是否自动的

INDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATED

docker.io docker.io/mysql MySQL is a widely used, open-source relati... 8930 [OK]

docker.io docker.io/mariadb MariaDB is a community-developed fork of M... 3140 [OK]

docker.io docker.io/mysql/mysql-server Optimized MySQL Server Docker images. Crea... 659 [OK]

docker.io docker.io/percona Percona Server is a fork of the MySQL rela... 462 [OK]

docker.io docker.io/centos/mysql-57-centos7 MySQL 5.7 SQL database server 66

docker.io docker.io/centurylink/mysql Image containing mysql. Optimized to be li... 61 [OK]

docker.io docker.io/mysql/mysql-cluster Experimental MySQL Cluster Docker images. ... 59

docker.io docker.io/deitch/mysql-backup REPLACED! Please use http://hub.docker.com... 41 [OK]

docker.io docker.io/bitnami/mysql Bitnami MySQL Docker Image 35 [OK]

docker.io docker.io/tutum/mysql Base docker image to run a MySQL database ... 34

docker.io docker.io/schickling/mysql-backup-s3 Backup MySQL to S3 (supports periodic back... 28 [OK]

docker.io docker.io/prom/mysqld-exporter 23 [OK]

docker.io docker.io/linuxserver/mysql A Mysql container, brought to you by Linux... 22

docker.io docker.io/centos/mysql-56-centos7 MySQL 5.6 SQL database server 17

docker.io docker.io/circleci/mysql MySQL is a widely used, open-source relati... 16

docker.io docker.io/mysql/mysql-router MySQL Router provides transparent routing ... 14

docker.io docker.io/arey/mysql-client Run a MySQL client from a docker container 13 [OK]

docker.io docker.io/openshift/mysql-55-centos7 DEPRECATED: A Centos7 based MySQL v5.5 ima... 6

docker.io docker.io/fradelg/mysql-cron-backup MySQL/MariaDB database backup using cron t... 4 [OK]

docker.io docker.io/genschsa/mysql-employees MySQL Employee Sample Database 3 [OK]

docker.io docker.io/ansibleplaybookbundle/mysql-apb An APB which deploys RHSCL MySQL 2 [OK]

docker.io docker.io/devilbox/mysql Retagged MySQL, MariaDB and PerconaDB offi... 2

docker.io docker.io/jelastic/mysql An image of the MySQL database server main... 1

docker.io docker.io/monasca/mysql-init A minimal decoupled init container for mysql 0

docker.io docker.io/widdpim/mysql-client Dockerized MySQL Client (5.7) including Cu... 0 [OK]

[root@localhost ~]#

mysql镜像pull

# 不指定版本,默认latest版本
docker pull mysql

查看本地仓库镜像列表

docker images



运行mysql容器

docker run --name mysql01 -d mysql

查看运行的容器

docker ps

发现并没有mysql容器运行



查看所有的容器

docker ps -a

发现mysql容器并没有启动成功



查看对应容器的日志

docker logs c1a7aceff20b

发现如下报错,意思是要指定MYSQL_ROOT_PASSWORD, MYSQL_ALLOW_EMPTY_PASSWORD and MYSQL_RANDOM_ROOT_PASSWORD其中之一,意思就是要设置密码,允许空密码,或者随机生成密码



删除容器

docker rm c1a7aceff20b

查看所有容器

docker ps -a

再次启动容器并指定端口映射3306

docker run -p 3306:3306 --name mysql02 -e MYSQL_ROOT_PASSWORD=11 -d mysql

查看,容器启动成功,如果出现name重复的情况,可以指定另外的name



看官方文档也找到了指定编码的启动方法

docker run -p 3306:3306 --name mysql02 -e MYSQL_ROOT_PASSWORD=11 -d mysql --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci

因为是最新版本,客户端登录时候会提示错误:

Error No.2058 Plugin caching_sha2_password could not be loaded

解决方法是,修改加密方式,进入mysql容器

docker exec -it mysql02 bash

mysql root登录

mysql -u root -p

修改加密规则

#修改加密规则
ALTER USER 'root'@'%' IDENTIFIED BY '11' PASSWORD EXPIRE NEVER;

对于学习可以指定'root'@'%',表示所有ip都能访问,对于生产安全性考虑,可以指定指定ip

#更新一下用户的密码
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '11';

需要刷新权限,才起效

 #刷新权限
FLUSH PRIVILEGES;

重启一下密码,也可以不管

# 重置密码
alter user 'root'@'%' identified by '11';

再次登录测试成功



其它操作:

# 把主机的/conf/mysql文件夹挂载到 mysqldocker容器的/etc/mysql/conf.d文件夹里面,改mysql的配置文件就只需要把mysql配置文件放在/conf/mysql既可
docker run ‐‐name mysql03 ‐v /conf/mysql:/etc/mysql/conf.d ‐e MYSQL_ROOT_PASSWORD=my‐secret‐pw
‐d mysql:tag

详细操作,建议参考Docker官方手册,入门及其它docker教程可以参考我的Docker博客专栏

Docker系列之MySQL安装教程的更多相关文章

  1. CentOS下Mysql安装教程

    CentOS下Mysql安装教程 本人学习Linux时使用的是CentOs5.5版本,在该环境中,Mysql的安装方法有很多种,下面我只讲我这次成功了的方法,作为一个记录,供大家参考,同时给自己做一个 ...

  2. Windows之MySQL安装教程

    MySQL安装说明 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品.MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,My ...

  3. 《⑨也懂系列:MinGW-w64安装教程》著名C/C++编译器GCC的Windows版本(MinGW-w64在安装的时候可以选择版本,有图,一步一步)

    发布日期 2016年10月31日 分类 教程 标签 编程.软件 前言<⑨也懂系列:MinGW-w64安装教程>这篇文章由 rsreland (http://rsreland.net)于 2 ...

  4. windowns环境下mysql 安装教程

    windowns环境下mysql 安装教程 一:这里以绿色版安装为例(解压就可以使用) 下载地址: 下载页面:https://dev.mysql.com/downloads/mysql/  2:点击 ...

  5. Docker的介绍与安装教程

    基于Windows系统下docker的介绍与安装教程以及更换docker镜像源教程 目录 基于Windows系统下docker的介绍与安装教程以及更换docker镜像源教程 Docker的核心概念 D ...

  6. 2021 MySQL安装教程(最新教程)- 含网盘下载

    大家好,我是 我玩亚索我会C.最近电脑重装系统了,然后就想着装个MySQL,由于很久没装过了,于是上网搜索了教程,但是发现现在MySQL安装和之前的不一样了,网上都是旧版的安装教程,所以我就做一篇新版 ...

  7. mySql 安装教程

    看了好久别人的文章,今天就开始自己写第一篇.希望给别人能提供帮助,也可以方便自己查阅. 前两天自己安装了mysql,感觉是比oracle好装多了. mysql安装有两种方式,一种是安装包安装方式,一种 ...

  8. Ubuntu server 安装及jdk+mysql安装教程

    Ubuntu server 安装教程 1.查找及下载Ubuntu镜像文件 可以在以下页面下载想要的版本,我这里选择19.04 server版的iso镜像文件: http://mirrors.163.c ...

  9. MySQL-配置环境变量及修改密码(附-mysql安装教程)

    MySQL-配置环境变量和修改密码 mysql的安装教程:链接:https://pan.baidu.com/s/1rrPT2X0yRF58kN8jZZx-Mg 密码:55dh 一. 闪退问题 1.1. ...

随机推荐

  1. 前端Leader你应该知道的NPM包管理机制

    npm install 命令 首先总结下npm 安装一个模块包的常用命令. /* 模块依赖会写入 dependencies 节点 */ npm install moduleName npm insta ...

  2. .NET Core 3.0 单元测试与 Asp.Net Core 3.0 集成测试

    单元测试与集成测试 测试必要性说明 相信大家在看到单元测试与集成测试这个标题时,会有很多感慨,我们无数次的在实践中提到要做单元测试.集成测试,但是大多数项目都没有做或者仅建了项目文件.这里有客观原因, ...

  3. 力扣(LeetCode)学生出勤记录I 个人题解

    给定一个字符串来代表一个学生的出勤记录,这个记录仅包含以下三个字符: 'A' : Absent,缺勤 'L' : Late,迟到 'P' : Present,到场 如果一个学生的出勤记录中不超过一个' ...

  4. bash:裁剪字符串 ${var:3:2}

    1)按照index和长度裁剪变量字符串var=foobar echo ${var:3} -------bar echo ${var:3:2} -------ba 从index为3开始,取两个echo ...

  5. java基础开发环境安装(全)

    一.jdk安装(可以根据自己习惯选择合适安装路径) 1.jdk1.8下载地址:https://pan.baidu.com/s/1O9JQlFJ9cpkGCQL35cm_7g 提取码:pe2g 2.jd ...

  6. HTTP,HTTPS,HTTP2笔记

    HTTP 网络协议分层 应用层 -> HTTP FTP 为应用软件提供了很多服务 构建于TCP协议之上 屏蔽网络传输的相关细节 传输层 -> TCP UDP 向用户提供可靠的端对端的服务( ...

  7. drf组件之jwt认证

    drf组件之jwt认证模块 一.认证规则 全称:json web token 解释:加密字符串的原始数据是json,后台产生,通过web传输给前台存储 格式:三段式 - 头.载荷.签名 - 头和载荷才 ...

  8. Centos下安装PHP ldap扩展

    Centos下安装PHP ldap扩展,有两种方法,仅供参考. 一.在线安装 执行下面命令: 1 yum install PHP-ldap 可能出现的问题: Error: php70w-common- ...

  9. (四十)golang--单元测试

    传统的测试: package main import ( "fmt" ) func addUpper(n int) int { res := ; i <= n; i++ { ...

  10. labview连接mysql数据库

    前期准备:安装MySQL 并设置可远程连接 第一步 安装 mysql connector odbc https://www.cr173.com/soft/50794.html 第二步:创建数据源 本机 ...