Docker 之mysql从头开始——Docker下mysql安装、启动、配置、进入容器执行(查询)sql

一、Docker 之mysql安装配置

步骤一:拉取镜像

  1. 查看是否包含已安装的mysql。

docker images | grep mysql

  1. 如上图所示,我们有mysql镜像,所以不必对mysql镜像进行拉取,如若没有上图中的惊喜,使用如下命令进行拉取(8.0.20是mysql版本号,根据自己需求填写即可):

docker pullmysql:8.0.20

步骤二:启动镜像

  1. 启动镜像,这里面最后的":latest"是根据步骤一中"1"截图中的版本来的,可根据自己情况输入。启动容器的同时将/data/yueshen5/codeProgram/KG-2.2-C中的文件挂载到容器中的/data目录下

docker run-v /data/yueshen5/codeProgram/KG-2.2-C:/data -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:latest

以下命令是没有挂载操作的命令,如需挂载如上述命令所示

  1. 查看是否启动成功

步骤三:拷贝配置文件

启动成功后,进入容器内部拷贝配置文件到宿主主机。因此,在宿主主机中需要提前创建存储配置文件的文件夹,这里我们使用mysqllatest存储

mkdir mysqllatest

docker cp mysql:/etc/mysql /data/yueshen5/codeProgram/KG-2.2-C/mysqllatest

步骤四:删除mysql容器,重新创建容器

docker stop mysql

docker rm mysql

步骤五:启动mysql ,挂载配置文件,数据持久化到宿主主机

  1. 在系统目录下创建并运行脚本文件mysqllatest.sh,输入命令sh mysqllatest.sh

#!/bin/sh

docker run

-v /data/yueshen5/codeProgram/KG-2.2-C:/data

-p 3306:3306

--name mysql

--privileged=true

--restart unless-stopped

-v /data/yueshen5/codeProgram/KG-2.2-C/mysqllatest/mysql:/etc/mysql

-v /data/yueshen5/codeProgram/KG-2.2-C/mysqllatest/logs:/logs

-v /data/yueshen5/codeProgram/KG-2.2-C/mysqllatest/data:/var/lib/mysql

-v /etc/localtime:/etc/localtime

-e MYSQL_ROOT_PASSWORD=123456

-d mysql:latest

命令解释:

挂载本地文件

-v /data/yueshen5/codeProgram/KG-2.2-C:/data

端口映射

-p 3306:3306

挂载文件权限设置

--privileged=true

设置 开机后自动重启容器

--restart unless-stopped

挂载配置文件

-v /data/yueshen5/codeProgram/KG-2.2-C/mysqllatest/mysql:/etc/mysql

挂载日志

-v /data/yueshen5/codeProgram/KG-2.2-C/mysqllatest/logs:/logs

挂载数据文件 持久化到主机

-v /data/yueshen5/codeProgram/KG-2.2-C/mysqllatest/data:/var/lib/mysql

容器时间与宿主机同步

-v /etc/localtime:/etc/localtime

设置密码

-e MYSQL_ROOT_PASSWORD=123456

后台启动mysql:latest

-d mysql:latest

  1. 查看是否启动成功

docker ps -a

二、Docker 之进入容器执行sql

  1. 进入容器,并进入mysql数据库

docker exec -it mysql bash #mysql 是容器名

mysql -u root -p密码 #mysql没有任何含义,这只是进入mysql的必须命令

  1. 查看数据库

show databases;

  1. 使用数据库,在数据库里对表格进行增删改查操作

use mysql; # 此处mysql是数据库的名字

show tables; # 查看数据库中包含的表格

  1. 创建数据库

create database test; #test是数据库的名字

  1. 创建表格
  1. 向表格插入数据

三、和NAVICAT进行连接以及执行sql文件方法

可参考:

Docker 之mysql从头开始------Docker下mysql安装、启动、配置、恢复备份sql、进入容器执行(查询)sql_docker mysql 查看数据库-CSDN博客

相关推荐
程序员小八7776 小时前
MySQL 事务:一文把 ACID、隔离级别、MVCC、锁全串起来
数据库·mysql
lzhdim6 小时前
提高 SQL 语句执行速度的方法
java·开发语言·数据库·sql·oracle
不灭的程序员阿澄8 小时前
在飞牛 NAS 上用 Docker 运行 DeepSeek Harness
运维·docker·容器
Faith_xzc9 小时前
一条 SQL 顶一条 Flink 链路?Doris Streaming Job 持续导入全景解析
大数据·数据库·sql·flink
爱学习的小白柏9 小时前
【AI问数技术】多Agent协同架构:查询规划/SQL生成/洞察分析/报告生成
java·网络·人工智能·windows·sql·架构·llama
阮胜昌10 小时前
MySQL 中的动态数据脱敏:无需更改应用程序即可保护敏感数据
android·mysql·adb
虎王物联10 小时前
Docker Compose编排物联网平台后端:Nginx+PHP-FPM+EMQX+InfluxDB一键部署实战
物联网·nginx·docker
摆烂z10 小时前
简单理解StarRocks
sql
小白说大模型11 小时前
AI驱动的个性化学习路径:知识图谱与知识点关联的存储与推理
大数据·人工智能·学习·mysql·机器学习·prompt·知识图谱
这个DBA有点耶12 小时前
多模数据库深度解读:从“多库拼装”到“一库多能”的架构演进
数据库·mysql·dba