Docker 安装配置数据库

那么在安装之前小编给猿友们普及一下mysql的作用!

MySQL是一个关系型数据库管理系统(RDBMS),由瑞典的MySQL AB公司开发,现在属于Oracle旗下产品。它是世界上最流行的关系型数据库管理系统之一,尤其在WEB应用方面,MySQL被认为是最好的RDBMS应用软件之一。

关系型数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样的设计增加了速度并提高了灵活性。MySQL使用的SQL(结构化查询语言)是用于访问数据库的最常用标准化语言。

MySQL的特点包括:

  1. 体积小、速度快、总体拥有成本低,尤其是其开放源代码这一特性,使得中小型和大型网站的开发都倾向于选择MySQL作为网站数据库。
  2. 具有功能强、使用简单、管理方便、运行速度快、可靠性高、安全保密性强等优点。
  3. 支持多种操作系统平台,如Unix、Linux、Windows等,并提供了针对不同编程语言的API函数。
  4. 使用核心线程实现多线程,能够很好地支持多CPU。
  5. 提供事务和非事务的存储机制,以及快速的基于线程的内存分配系统。

MySQL数据库系统使用SQL进行数据库管理,数据库人员可以通过SQL语句来建立、访问、管理、检索和拷贝所储存的数据信息。同时,MySQL也支持双授权政策,即社区版和商业版,用户可以根据需要选择适合的版本。

总的来说,MySQL是一个功能强大、易于使用且经济实惠的关系型数据库管理系统,广泛应用于各种规模的网站和应用开发中。

正文开始

1. 创建文件夹,准备用来存储数据库各项配置文件

跳转到/usr/local目录中

在local目录中创建一个docker目录

mkdir docker

创建好后跳转到这个新创建的docker目录中

在docker这个目录中继续创建两个文件夹

mkdir mysql

存储配置文件

mkdir mydata

存储mysql的数据

这两个文件夹

创建好后先跳转到mysql这个文件夹中

跳转进去后输入

vim my.cnf

输入之后会跳转到这一个页面然后把下面的配置粘进去

把底下的mysql配置都粘进去

[client]

# 端口号

port = 3306

[mysql]

no-beep

default-character-set = utf8mb4

[mysqld]

# 端口号

port = 3306

# 数据目录

datadir = /var/lib/mysql

# 新模式或表时将使用的默认字符集

character-set-server = utf8mb4

# 默认存储引擎

default-storage-engine = INNODB

# 将 SQL 模式设置为严格

sql-mode = "STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

#  最大连接数

max_connections = 1024

# 表缓存

table_open_cache = 2000

# 表内存

tmp_table_size = 16M

# 线程缓存

thread_cache_size = 10

# 设置大小写不敏感

lower_case_table_names = 1

# myisam设置

myisam_max_sort_file_size = 100G

myisam_sort_buffer_size = 8M

key_buffer_size = 8M

read_buffer_size = 0

read_rnd_buffer_size = 0

# innodb设置

innodb_flush_log_at_trx_commit = 1

innodb_log_buffer_size = 1M

innodb_buffer_pool_size = 8M

innodb_log_file_size = 48M

innodb_thread_concurrency = 33

innodb_autoextend_increment = 64

innodb_buffer_pool_instances = 8

innodb_concurrency_tickets = 5000

innodb_old_blocks_time = 1000

innodb_open_files = 300

innodb_stats_on_metadata = 0

innodb_file_per_table = 1

innodb_checksum_algorithm = 0

# 其他设置

back_log = 80

flush_time = 0

join_buffer_size = 256K

max_allowed_packet = 4M

max_connect_errors = 100

open_files_limit = 4161

sort_buffer_size = 256K

table_definition_cache = 1400

binlog_row_event_max_size = 8K

sync_master_info  =  10000

sync_relay_log   =   10000

sync_relay_log_info   =   10000

#排除包

!includedir /etc/mysql/conf.d/

!includedir /etc/mysql/mysql.conf.d/

这些配置全部都粘进去

2. 下载mysql镜像

docker pull mysql:5.7

下载成功,如果不是这些的话,可能是docker配出问题了,这边建议重装系统

继续在mysql目录下创建一个启动mysql的脚本

vim startMysql.sh

进入到这个页面

然后配置你的启动mysql脚本

docker run -p 3306:3306 --name mysql \

--privileged=true \

--restart=always \

-v /docker/mydata/mysql/log:/var/log/mysql \

-v /docker/mydata/mysql/data:/var/lib/mysql \

-v /docker/mydata/mysql/conf/my.cnf:/etc/mysql/my.cnf \

-e MYSQL_ROOT_PASSWORD=数据库密码 \

-d mysql:5.7

把这个配置文件粘进去,这个-e MYSQL-ROOT-PASSWORD=数据库密码!!,这个是数据库密码,是你自定义的,你可以自己设置一个数据库密码,没有必要一定是这个,第一次启动之前就要改,不然这个密码就一直是这样了

输入:wq!保存并退出

底下给这个脚本设置一下权限

chmod -R 777 start.sh

设置完成之后输入ll查看权限是否设置成功

设置成功之后文件名会变成绿色的样子,普通权限则是白色的

输入./start.sh启动mysql

启动

启动完成之后查看一下是否启动成功

输入

docker ps -a

出现up代表启动成功

这边要注意一下,这个status是必须要是up状态的,如果这个不是up状态只有两种可能,一个是启动配置文件的问题,还有一个my.cnf配置文件的问题,到这一步就已经配置好了,如果想要关闭mysql,和tracker以及storage是一样的,先按照下面的id关闭,在按照下面所指的id删除,好了之后mysql就被关闭了

小编今天就给大家普及到这里,要是大家觉得对你有帮助的话给小编留个关注和赞赞!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/423448.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

鸿蒙Harmony应用开发—ArkTS声明式开发(通用属性:颜色渐变)

设置组件的颜色渐变效果。 说明: 从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 linearGradient linearGradient(value: { angle?: number | string; direction?: GradientDirection; colors: Array; repea…

INI 格式配置文件基础知识

前言 INI是英文“初始化”(initialization)的缩写,它是某些平台或软件上的配置文件的非正式标准,以节(section)和键(key)构成,常用于微软Windows操作系统中,这种配置文件的文件扩展名多为INI。INI文件被用来…

第16章-DNS

目录 1. 域名 1.1 产生背景 1.2 概述 1.3 域名的树形层次化结构 2. DNS 2.1 概述 2.2 工作机制 3. DNS查询模式 3.1 递归查询: 3.2 迭代查询: 4. 相关知识点 4.1 集中式DNS 4.2 国内通用DNS 4.3 配置DNS代理 1. 域名 1.1 产生背景 ① IP…

SQL窗口函数, 测试题

第一题 create table user_score (logday date, -- 考试时间 userid VARCHAR(20), -- 考试用户 score int); -- 考试成绩Insert into user_score values (2019-10-20,11111,85) ,(2019-10-20,22222,83) ,(2019-10-20,33333,86) ,(2019-10-21,11111,87) ,(2019-10-2…

蓝桥杯(3.2)

1209. 带分数 import java.io.*;public class Main {static BufferedReader br new BufferedReader(new InputStreamReader(System.in));static PrintWriter pw new PrintWriter(new OutputStreamWriter(System.out));static final int N 10;static int n, cnt;static int[…

Pytorch学习 day02(加载数据、数据集类)

加载数据 * Dataset提供一种方式:来获取数据及其label,给数据进行编号 * Dataloader为神经网络提供不同的数据形式 Dataset的组织形式有很多种,例如: 将label放在文件夹名上,如下: #Dateset # --train #…

10分钟帮您快速理解InfluxDB中的核心概念

InfluxDB是目前时序数据库 (TSDB)最优秀的产品,时序数据库是一种设计和优化的数据库,用于注册和存储始终与特定时间点相关联或使用时间戳的数据。时序数据其实就是在不同时间点收集并按时间排序的数据。对于刚刚接触时序数据库的同学来说,好多…

Matlab偏微分方程拟合 | 源码分享 | 视频教程

专栏导读 作者简介:工学博士,高级工程师,专注于工业软件算法研究本文已收录于专栏:《复杂函数拟合案例分享》本专栏旨在提供 1.以案例的形式讲解各类复杂函数拟合的程序实现方法,并提供所有案例完整源码;2.…

利用css实现常见图形

1、正圆形 给正方形盒子设置圆角属性为宽高的50%。 div {width: 100px;height: 100px;background-color: plum;border-radius: 50%; } 2、胶囊形 给长方形盒子设置圆角属性为盒子高度的50%。 div {width: 200px;height: 100px;background-color: plum;border-radius: 50px…

一个最简单的Three.js的井筒三维云图渲染示例

在Three.js中实现井筒的三维云图渲染,需要先准备井筒的属性数据,例如井筒的几何结构、温度分布、压力分布等。然后,利用Three.js创建对应的三维模型并将属性数据应用到模型上,最终呈现出井筒的三维云图效果。下面是一个简单的示例…

(四)优化函数,学习速率与反向传播算法--九五小庞

多层感知器 梯度下降算法 梯度的输出向量表明了在每个位置损失函数增长最快的方向,可将它视为表示了在函数的每个位置向那个方向移动函数值可以增长。 曲线对应于损失函数。点表示权值的当前值,即现在所在的位置。梯度用箭头表示,表明为了增…

Kubernetes/k8s的核心概念

一、什么是 Kubernetes Kubernetes,从官方网站上可以看到,它是一个工业级的容器编排平台。Kubernetes 这个单词是希腊语,它的中文翻译是“舵手”或者“飞行员”。在一些常见的资料中也会看到“ks”这个词,也就是“k8s”&#xff…

3分钟,学会一个测试员必懂 Lambda 小知识!

今天再来给大家介绍下函数式接口和方法引用。 函数式接口 问:Lambda 表达式的类型是什么? 答:函数式接口 问:函数式接口是什么? 答:只包含一个抽象方法的接口,称为函数式接口 (…

关于synchronized介绍

synchronized的特性 1. 乐观锁/悲观锁自适应,开始时是乐观锁,如果锁冲突频繁,就转换为悲观锁 2.轻量级/重量级锁自适应 开始是轻量级锁实现,如果锁被持有的时间较长,就转换成重量级锁 3.自旋/挂起等待锁自适应 4.不是读写锁 5.非公平锁 6,可重入锁 synchronized的使用 1&#…

如何使用 CrewAI 构建协作型 AI Agents

一、前言 AI Agents 的开发是当前软件创新领域的热点。随着大语言模型 (LLM) 的不断进步,预计 AI 智能体与现有软件系统的融合将出现爆发式增长。借助 AI 智能体,我们可以通过一些简单的语音或手势命令,就能完成以往需要手动操作应用程序才能…

【YOLO v5 v7 v8 小目标改进】RFB:组合不同大小的卷积核和扩张卷积来模拟人类视觉感受野的多尺度特性

RFB:组合不同大小的卷积核和扩张卷积来模拟人类视觉感受野的多尺度特性 提出背景RFB 原理空间感受野结构RFB-Net 小目标涨点YOLO v5 魔改YOLO v7 魔改YOLO v8 魔改 提出背景 当前表现最好的目标检测器依赖于深层CNN骨干网络,如ResNet-101和Inception&am…

Vue3 条件渲染 v-show

v-show 指令&#xff1a;用于控制元素的显示或隐藏。 执行条件&#xff1a;当条件为 false 时&#xff0c;会添加一个 display:none 属性将元素隐藏。 应用场景&#xff1a;适用于显示隐藏切换频率较高的场景。 <div v-show"数据">内容</div> 基础用法…

LeetCode 热题 100 | 图论(一)

目录 1 200. 岛屿数量 2 994. 腐烂的橘子 2.1 智障遍历法 2.2 仿层序遍历法 菜鸟做题&#xff0c;语言是 C 1 200. 岛屿数量 解题思路&#xff1a; 遍历二维数组&#xff0c;寻找 “1”&#xff08;若找到则岛屿数量 1&#xff09;寻找与当前 “1” 直接或间接连接在…

langchain学习笔记(七)

RunnablePassthrough: Passing data through | &#x1f99c;️&#x1f517; Langchain 1、RunnablePassthrough可以在不改变或添加额外键的情况下传递输入。通常和RunnableParallel结合使用去分配数值给到字典的新键 两种方式调用RunnablePassthrough &#xff08;1&#…

MySQL进阶:全局锁、表级锁、行级锁总结

&#x1f468;‍&#x1f393;作者简介&#xff1a;一位大四、研0学生&#xff0c;正在努力准备大四暑假的实习 &#x1f30c;上期文章&#xff1a;MySQL进阶&#xff1a;MySQL事务、并发事务问题及隔离级别 &#x1f4da;订阅专栏&#xff1a;MySQL进阶 希望文章对你们有所帮助…