Docker下安装mysql超详细步骤
- 查看需要安装的镜像版本
dockerHub官网地址
- 搜索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超详细步骤相关推荐
- anaconda下安装pytorch超详细步骤(有问题可以在评论区提问会及时解答)
anaconda下安装pytorch 1:以管理员身份打开Anaconda Prompt 2:输入命令conda create -n pytorch python=3.6创建pytorch的环境. 3 ...
- 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. 删除系统自带 ...
- Windows下安装mysql的操作步骤
Windows下安装mysql的操作步骤 免安装版的Mysql MySQL关是一种关系数据库管理系统,所使用的 SQL 语言是用于访问数据库的最常用的 标准化语言,其特点为体积小.速度快.总体拥有成本 ...
- 本地安装MySQL数据库详细步骤
本地安装MySQL数据库详细步骤 一.下载MySQL数据库 1.进入MySQL官网,在导航栏中点击DOWNLOADS 2.点击页面底部的"MySQL Community (GPL) Down ...
- linux下安装DB2的详细步骤
我也是才学习,在网上找了一个在linux下安装DB2 的步骤,共享给大家看看了. linux下安装DB2的详细步骤! 第一步:检查程序包及其版本 在软件包管理中查看下列软件包是否安装,如没有安装,先安 ...
- Ubuntu 安装 Mysql【详细步骤】
文章目录 主要内容 安装并设置 mysql 安装 mysql 设置 mysql 首次登录数据库 配置远程访问 修改配置文件 mysql 授予权限 重启 mysql 测试远程访问 建立访问连接 work ...
- 在Linux下安装MySQL(详细)
在Linux下安装MySQL数据库 ①下载并上传到/opt/soft(目录是自己创建的) ②解压: 输入: tar -xvf mysql-5.7.27-1.el7.x86_64.rpm-bundle. ...
- window环境下安装mysql(超级详细--婷姐教的)
window环境下安装mysql 一.卸载 1.软件的卸载 ①通过控制面板 ②通过电脑管家等软件卸载 ③通过安装包中提供的卸载功能卸载 2.清理残余文件 ①清除安装残余文件 ②清除数据残余文件 ③清理 ...
- docker下安装mysql数据库
因为用了.net core 所以想学习下使用docker: 项目中刚好要用到mysql数据库,所用用docker来安装一次,我使用的是5.6版本: 1.拉取官方镜像 docker pull mysql ...
最新文章
- JUC包中的分而治之策略-为提高性能而生
- php 错误关闭_五种方法教你如何关闭php错误回显信息
- Git学习笔记05--git stash
- linux查域名对应的ip 系统调用,DDNS 的工作原理及其在 Linux 上的实现
- 网页全文搜索字符和全局搜索文件名【Edge和谷歌浏览器均适用】
- IBM System p5 服务器 HACMP 安装指南
- BZOJ 3038: 上帝造题的七分钟2【线段树区间开方问题】
- 深度学习笔记(29) 1×1 卷积
- Maven学习总结(19)——深入理解Maven相关配置
- Redis PPT abstract
- oracle零碎要点---oracle em的web访问地址忘了
- MySQL→数据库、启动连接数据库、SQL→DDL数据定义语言及数据类型、DML数据操作语言、DQL数据查询语言、数据库约束→主键、唯一、非空、默认、外键、SQL、三大范式及一多关系、视图、内外连接
- iphone 相机拍摄比例_在iPhone上拍摄:Apple如何解决Deepfakes和其他媒体操纵问题
- drool-6.5的自学demo
- 飞图FLYTOUAV垂起固定翼无人机采用交叉环绕飞行搭载单镜头相机做高精度,高效率,长航时,大比例尺地籍测量中应用
- 读书笔记:《巴菲特投资成功的七大秘诀》
- 计算机远程控制安全吗,远程控制电脑危险吗?向日葵远程控制软件安全吗?
- 中位数 POJ3784
- windows git bash 设置多个php版本和composer版本
- linux内存测试工具memtest,内存检测工具Memtest使用方法(图文教程)