• 查看需要安装的镜像版本
    dockerHub官网地址
  1. 搜索mysql

    2.点击标签

    3.点击Tags,查看想要的版本号
  • 在安装好docker的linux中执行命令
    拉取mysql最新版本
docker pull mysql

拉取mysql指定版本

docker pull mysql:5.7

拉取结束后,查看本地是否存在

 docker images


运行mysql

docker run -d -p 3306:3306 --name mysql -v /mysqldata/mysql/log:/var/log/mysql  -v /mysqldata/mysql/data:/var/lib/mysql  -v /mysqldata/mysql/conf:/etc/mysql -e MYSQL_ROOT_PASSWORD=root   mysql:5.7

上述命令的含义:
docker run:在docker中启动一个容器实例
-d:该容器在后台运行
-p 3306:3306:容器与主机映射端口为, 3306(主机端口,即外部连接mysql使用的端口号): 3306(容器端口)
--name mysql:容器运行后的名称
-v /mysqldata/mysql/log:/var/log/mysql:将容器/var/log/mysql目录下的数据,备份到主机的 /mysqldata/mysql/log目录下
-v /mysqldata/mysql/data:/var/lib/mysql:将容器/var/lib/mysql目录下的数据,备份到主机的 /mysqldata/mysql/data目录下
-v /mysqldata/mysql/conf:/etc/mysql:将容器/etc/mysql目录下的数据,备份到主机的 mysqldata/mysql/conf目录下
-e MYSQL_ROOT_PASSWORD=root:设置当前mysql实例的密码为root
mysql:5.7:需要运行的容器名称以及版本号

通过此处-v 命令备份后,就算当前mysql容器实例被删除,那么再次重启mysql容器后,数据将会自动重主机加载到容器当中

切换到上述命令配置的主机/mysqldata/mysql/conf目录下

 cd /mysqldata/mysql/conf

创建 my.cnf文件

 touch my.cnf

使用vim命令对 my.cnf文件添加如下内容,在docker中安装的mysql默认字符集是latin1,需要改成utf8

[client]
default_character_set=utf8
[mysqld]
collation_server = utf8_general_ci
character_set_server = utf8

按esc,输入:wq!,保存退出

过程如下:

重启mysql容器实例,让刚才的配置文件生效

docker restart  mysql

查看是否启动成功

docker ps


自此安装结束

使用navicat连接mysql

连接成功,新建数据库,表

  • 补充
    如果需要实现在运行容器实例时就执行SQL脚本,可以在上速命令的基础之上添加如下内容:

1.创建如下目录

mkdir /mysqldata/mysql/init

2.在目录/mysqldata/mysql/init下创建名为init.sql的初始文件,该文件存放数据库需要初始化的内容

init.sql

##创建一个user用户,密码为123456
CREATE USER 'user'@'%' IDENTIFIED BY '123456';
##给user用户赋予数据库的所有权限
GRANT ALL PRIVILEGES ON *.* TO 'user'@'%';
##刷新用户
flush privileges;
##创建数据库
create database test;
##建表
CREATE TABLE `userinfo`  (`uid` int(11) NOT NULL AUTO_INCREMENT COMMENT 'uid',`userid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '用户id',`nickname` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '昵称',`usign` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,`uimg` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '/pic/userdefaultimg.jpg' COMMENT '用户头像',PRIMARY KEY (`uid`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;##插入数据INSERT INTO `userinfo` VALUES (1, '1571476959767947441', '小A', '无冥冥之志者,无昭昭之明;无惛惛之事者,无赫赫之功。', '/pic/xa.jpg');
INSERT INTO `userinfo` VALUES (2, '1571476959767947449', '小B', '与我捻熄灯,同我书半生。问我粥可温,同我立黄昏。', '/pic/xb.jpg');
INSERT INTO `userinfo` VALUES (3, '1571476959767947427', '小C', '人生得意须尽欢,莫使金樽空对月。天生我材必有用,千金散尽还复来。', '/pic/xc.jpeg');
INSERT INTO `userinfo` VALUES (4, '1575254996716916627', '小D', '心之所向,素履以往,生如逆旅,一苇以航。', '/pic/xd.jpeg');

3.编写启动命令
在原有命令的基础上新增如下内容:

-v /mysqldata/mysql/init:/docker-entrypoint-initdb.d/

完整命令:

docker run -d -p 3306:3306 --name mysql -v /mysqldata/mysql/log:/var/log/mysql  -v /mysqldata/mysql/data:/var/lib/mysql  -v /mysqldata/mysql/conf:/etc/mysql -v /mysqldata/mysql/init:/docker-entrypoint-initdb.d/ -e MYSQL_ROOT_PASSWORD=root   mysql:5.7

释意:
docker中mysql可以在启动时在/docker-entrypoint-initdb.d/目录运行初始化的sql文件,此处通过volume映射到主机的目录/mysqldata/mysql/init下,运行init.sql文件,达到初始化效果

Docker下安装mysql超详细步骤相关推荐

  1. anaconda下安装pytorch超详细步骤(有问题可以在评论区提问会及时解答)

    anaconda下安装pytorch 1:以管理员身份打开Anaconda Prompt 2:输入命令conda create -n pytorch python=3.6创建pytorch的环境. 3 ...

  2. centos安装mysql步骤,CentOS安装mysql超详细步骤

    MySQL5.7下载地址: https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.28-el7-x86_64.tar.gz 1. 删除系统自带 ...

  3. Windows下安装mysql的操作步骤

    Windows下安装mysql的操作步骤 免安装版的Mysql MySQL关是一种关系数据库管理系统,所使用的 SQL 语言是用于访问数据库的最常用的 标准化语言,其特点为体积小.速度快.总体拥有成本 ...

  4. 本地安装MySQL数据库详细步骤

    本地安装MySQL数据库详细步骤 一.下载MySQL数据库 1.进入MySQL官网,在导航栏中点击DOWNLOADS 2.点击页面底部的"MySQL Community (GPL) Down ...

  5. linux下安装DB2的详细步骤

    我也是才学习,在网上找了一个在linux下安装DB2 的步骤,共享给大家看看了. linux下安装DB2的详细步骤! 第一步:检查程序包及其版本 在软件包管理中查看下列软件包是否安装,如没有安装,先安 ...

  6. Ubuntu 安装 Mysql【详细步骤】

    文章目录 主要内容 安装并设置 mysql 安装 mysql 设置 mysql 首次登录数据库 配置远程访问 修改配置文件 mysql 授予权限 重启 mysql 测试远程访问 建立访问连接 work ...

  7. 在Linux下安装MySQL(详细)

    在Linux下安装MySQL数据库 ①下载并上传到/opt/soft(目录是自己创建的) ②解压: 输入: tar -xvf mysql-5.7.27-1.el7.x86_64.rpm-bundle. ...

  8. window环境下安装mysql(超级详细--婷姐教的)

    window环境下安装mysql 一.卸载 1.软件的卸载 ①通过控制面板 ②通过电脑管家等软件卸载 ③通过安装包中提供的卸载功能卸载 2.清理残余文件 ①清除安装残余文件 ②清除数据残余文件 ③清理 ...

  9. docker下安装mysql数据库

    因为用了.net core 所以想学习下使用docker: 项目中刚好要用到mysql数据库,所用用docker来安装一次,我使用的是5.6版本: 1.拉取官方镜像 docker pull mysql ...

最新文章

  1. JUC包中的分而治之策略-为提高性能而生
  2. php 错误关闭_五种方法教你如何关闭php错误回显信息
  3. Git学习笔记05--git stash
  4. linux查域名对应的ip 系统调用,DDNS 的工作原理及其在 Linux 上的实现
  5. 网页全文搜索字符和全局搜索文件名【Edge和谷歌浏览器均适用】
  6. IBM System p5 服务器 HACMP 安装指南
  7. BZOJ 3038: 上帝造题的七分钟2【线段树区间开方问题】
  8. 深度学习笔记(29) 1×1 卷积
  9. Maven学习总结(19)——深入理解Maven相关配置
  10. Redis PPT abstract
  11. oracle零碎要点---oracle em的web访问地址忘了
  12. MySQL→数据库、启动连接数据库、SQL→DDL数据定义语言及数据类型、DML数据操作语言、DQL数据查询语言、数据库约束→主键、唯一、非空、默认、外键、SQL、三大范式及一多关系、视图、内外连接
  13. iphone 相机拍摄比例_在iPhone上拍摄:Apple如何解决Deepfakes和其他媒体操纵问题
  14. drool-6.5的自学demo
  15. 飞图FLYTOUAV垂起固定翼无人机采用交叉环绕飞行搭载单镜头相机做高精度,高效率,长航时,大比例尺地籍测量中应用
  16. 读书笔记:《巴菲特投资成功的七大秘诀》
  17. 计算机远程控制安全吗,远程控制电脑危险吗?向日葵远程控制软件安全吗?
  18. 中位数 POJ3784
  19. windows git bash 设置多个php版本和composer版本
  20. linux内存测试工具memtest,内存检测工具Memtest使用方法(图文教程)

热门文章

  1. 穿越鸿蒙电视剧,7部“爆款”穿越甜宠剧,你若一部都没看过,那是真落伍了!...
  2. C语言求最大公约数(四种)
  3. 使用navicat连接腾讯云mysql数据库
  4. 如何用计算机管理员权限,计算机管理员权限如何获得【图解】
  5. 在网站上增加了一个泛微OA链接打不开,刷新就可以
  6. java实现基因牛的繁殖
  7. 做网站如何制定投放广告价格实现收入最大化
  8. Unity手柄按键映射
  9. 70后将实现永生?!这个研究一出来,全世界都炸了!
  10. DM数据库基本操作命令