目录

    • 前言
    • 一、拉取镜像
    • 二、查看镜像
    • 三、运行容器
      • 命令参数说明:
    • 四、查看运行容器
    • 五、进入容器内部
    • 六、修改 MySQL 配置
      • 1. 创建配置文件
      • 2. 配置内容
    • 七、重启 MySQL 服务
    • 八、设置 Docker 启动时自动启动 MySQL
    • 九、再次重启 MySQL
    • 十、授权远程访问
      • 1. 进入容器内部
      • 2. 登录 MySQL
      • 3. 选择数据库
      • 4. 查看用户连接权限
      • 5. 修改认证方式和权限
      • 6. 退出容器
    • 完成部署

前言

本方法是通过 yum 方式安装 MySQL,需要确保宿主机能够连接网络。其他安装方式请自行查阅相关资料。

一、拉取镜像

# 下面两个命令效果一致
docker pull mysql
docker pull mysql:latest# 查看可用版本
docker search mysql

二、查看镜像

使用以下命令查看已安装的 MySQL 镜像:

docker images

三、运行容器

docker run -p 3306:3306 --name mysql --restart=always --privileged=true \
-v /usr/local/mysql/log:/var/log/mysql \
-v /usr/local/mysql/data:/var/lib/mysql \
-v /usr/local/mysql/conf:/etc/mysql \
-v /etc/localtime:/etc/localtime:ro \
-e MYSQL_ROOT_PASSWORD=123456 -d mysql:latest

命令参数说明:

  • -p 3306:3306:宿主机端口与容器端口映射关系
  • --name mysql:容器名称
  • --restart=always:随 Docker 自动启动
  • --privileged=true:获取宿主机 root 权限
  • -v /usr/local/mysql/log:/var/log/mysql:日志目录映射(宿主机:容器)
  • -v /usr/local/mysql/data:/var/lib/mysql:数据目录映射(宿主机:容器)
  • -v /usr/local/mysql/conf:/etc/mysql:配置目录映射(宿主机:容器)
  • -v /etc/localtime:/etc/localtime:ro:容器与宿主机时钟同步(ro 表示只读)
  • -e MYSQL_ROOT_PASSWORD=123456:设置 root 用户密码
  • -d mysql:latest:后台运行最新版 MySQL 容器

四、查看运行容器

# 查看正在运行的容器
docker ps# 查看所有容器
docker ps -a

如果容器状态显示为 up,表示启动成功。如果显示 restarting,可能存在问题。查看日志:

docker logs -f mysql

可能会发现错误:

Failed to access directory for --secure-file-priv. Please make sure that dir

此时如果执行第五步会报错:

Error response from daemon: Container xxx is restarting, wait until the cont...

需要执行第六步解决。

五、进入容器内部

docker exec -it mysql /bin/bash

六、修改 MySQL 配置

1. 创建配置文件

cd /usr/local/mysql
ll
cd conf
vi my.cnf

2. 配置内容

[client]
default-character-set=utf8mb4[mysql]
default-character-set=utf8mb4[mysqld]
# 设置东八区时区
default-time_zone = '+8:00'# 设置密码验证规则(authentication_policy 替代已废弃的 default_authentication_plugin)
authentication_policy=mysql_native_password# 限制导入和导出的数据目录
# 为空:不限制目录;指定目录:必须从该目录导入导出;为 NULL:禁止导入导出功能
secure_file_priv=init_connect='SET collation_connection = utf8mb4_0900_ai_ci'
init_connect='SET NAMES utf8mb4'
character-set-server=utf8mb4
collation-server=utf8mb4_0900_ai_ci
skip-character-set-client-handshake
skip-name-resolve

说明:MySQL 8.0+ 默认使用 caching_sha2_password 认证方式,修改为 mysql_native_password 以兼容更多客户端。

七、重启 MySQL 服务

docker restart mysql

八、设置 Docker 启动时自动启动 MySQL

docker update mysql --restart=always

九、再次重启 MySQL

docker restart mysql

十、授权远程访问

1. 进入容器内部

docker exec -it mysql /bin/bash

2. 登录 MySQL

mysql -u root -p
# 直接回车进入(使用空密码)

3. 选择数据库

show databases;
use mysql;

4. 查看用户连接权限

select host, user from user;

root 用户默认只有 localhost 连接权限。

5. 修改认证方式和权限

ALTER USER root@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
update user set host = '%' where host = 'localhost' and user = 'root';-- 刷新权限
flush privileges;-- 退出 MySQL
exit

6. 退出容器

exit

完成部署

现在您的 MySQL 容器已成功部署,并支持远程连接。

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

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

相关文章

IntelliJ IDEA 常用快捷键笔记(Windows)

前言:特别标注的快捷键(Windows)快捷键功能说明Ctrl Alt M将选中代码提取成方法Ctrl Alt T包裹选中代码块(try/catch、if、for 等)Ctrl H查看类的继承层次Alt 7打开项目结构面板Ctrl F12打开当前文件结构视图Ct…

疏老师-python训练营-Day54Inception网络及其思考

浙大疏锦行 DAY54 一、 inception网络介绍 今天我们介绍inception,也就是GoogleNet 传统计算机视觉的发展史 从上面的链接,可以看到其实inceptionnet是在resnet之前的,那为什么我今天才说呢?因为他要引出我们后面的特征融合和…

LeetCode第3304题 - 找出第 K 个字符 I

题目 解答 class Solution {public char kthCharacter(int k) {int n 0;int v 1;while (v < k) {v << 1;n;}String target kthCharacterString(n);return target.charAt(k - 1);}public String kthCharacterString(int n) {if (n 0) {return "a";}Str…

Codeforces Round 1043 (Div. 3) D-F 题解

D. From 1 to Infinity 题意 有一个无限长的序列&#xff0c;是把所有正整数按次序拼接&#xff1a;123456789101112131415...\texttt{123456789101112131415...}123456789101112131415...。求这个序列前 k(k≤1015)k(k\le 10^{15})k(k≤1015) 位的数位和。 思路 二分出第 …

【C语言16天强化训练】从基础入门到进阶:Day 7

&#x1f525;个人主页&#xff1a;艾莉丝努力练剑 ❄专栏传送门&#xff1a;《C语言》、《数据结构与算法》、C语言刷题12天IO强训、LeetCode代码强化刷题、洛谷刷题、C/C基础知识知识强化补充、C/C干货分享&学习过程记录 &#x1f349;学习方向&#xff1a;C/C方向学习者…

【AI基础:神经网络】16、神经网络的生理学根基:从人脑结构到AI架构,揭秘道法自然的智能密码

“道法自然,久藏玄冥”——人工神经网络(ANN)的崛起并非偶然,而是对自然界最精妙的智能系统——人脑——的深度模仿与抽象。从单个神经元的信号处理到大脑皮层的层级组织,从突触可塑性的学习机制到全脑并行计算的高效能效,生物大脑的“玄冥”智慧为AI提供了源源不断的灵感…

容器安全实践(一):概念篇 - 从“想当然”到“真相”

在容器化技术日益普及的今天&#xff0c;许多开发者和运维人员都将应用部署在 Docker 或 Kubernetes 中。然而&#xff0c;一个普遍存在的误解是&#xff1a;“容器是完全隔离的&#xff0c;所以它是安全的。” 如果你也有同样的想法&#xff0c;那么你需要重新审视容器安全了。…

腾讯开源WeKnora:新一代文档理解与检索框架

引言&#xff1a;文档智能处理的新范式 在数字化时代&#xff0c;企业和个人每天都面临着海量文档的处理需求&#xff0c;从产品手册到学术论文&#xff0c;从合同条款到医疗报告&#xff0c;非结构化文档的高效处理一直是技术痛点。2025年8月&#xff0c;腾讯正式开源了基于大…

C++之list类的代码及其逻辑详解 (中)

接下来我会依照前面所说的一些接口以及list的结构来进行讲解。1. list_node的结构1.1 list_node结构体list由于其结构为双向循环链表&#xff0c;所以我们在这里要这么初始化_next&#xff1a;指向链表中下一个节点的指针_prev&#xff1a;指向链表中上一个节点的指针_val&…

新能源汽车热管理仿真:蒙特卡洛助力神经网络训练

研究背景在新能源汽车的热管理仿真研究中&#xff0c;神经网络训练技术常被应用于系统降阶建模。通过这一方法&#xff0c;可以构建出高效准确的代理模型&#xff0c;进而用于控制策略的优化、系统性能的预测与评估&#xff0c;以及实时仿真等任务&#xff0c;有效提升开发效率…

第十九讲:C++11第一部分

目录 1、C11简介 2、列表初始化 2.1、{}初始化 2.2、initializer_list 2.2.1、成员函数 2.2.2、应用 3、变量类型推导 3.1、auto 3.2、decltype 3.3、nullptr 4、范围for 5、智能指针 6、STL的一些变化 7、右值引用和移动语义 7.1、右值引用 7.2、右值与左值引…

书写本体论视域下的文字学理论重构

在符号学与哲学的交叉领域&#xff0c;文字学&#xff08;Grammatologie&#xff09;作为一门颠覆性学科始终处于理论风暴的中心。自德里达1967年发表《论文字学》以来&#xff0c;传统语言学中"语音中心主义"的霸权地位遭遇根本性动摇&#xff0c;文字不再被视为语言…

为什么要做架构设计?架构设计包含哪些内容?

大家好,我是IT孟德,You can call me Aman(阿瞒,阿弥陀佛的ē,Not阿门的ā),一个喜欢所有对象(热爱技术)的男人。我正在创作架构专栏,秉承ITer开源精神分享给志同道合(爱江山爱技术更爱美人)的朋友。专栏更新不求速度但求质量(曹大诗人传世作品必属精品,请脑补一下《…

Vue2封装Axios

一、介绍Axios 是一个基于 promise 的 HTTP 库&#xff0c;简单的讲就是可以发送get、post等请求。二、安装npm install axios --save二、axios不同请求方式axios(config)这是 Axios 的核心方法&#xff0c;用于发送自定义配置的 HTTP 请求。通过传入一个包含请求配置的对象&am…

DataAnalytics之Tool:Metabase的简介、安装和使用方法、案例应用之详细攻略

DataAnalytics之Tool&#xff1a;Metabase的简介、安装和使用方法、案例应用之详细攻略 目录 Metabase的简介 1、特点 Metabase的安装和使用方法 1、安装 快速设置&#xff1a;开发环境 前端快速设置 后端快速设置 2、使用方法 Metabase的案例应用 Metabase的简介 Met…

frp v0.64.0 更新:开源内网穿透工具,最简洁教程

frp是一款跨平台的内网穿透工具&#xff0c;支持 Windows、macOS 与 Linux&#xff0c;它需要你有一台拥有固定公网 IP 的电脑&#xff0c;VPS 最好&#xff0c;然后就能愉快的进行内网穿透了。还支持 https&#xff0c;甚至可以用它进行小程序开发。Appinn v0.64.0 新增token…

【数据结构】B+ 树——高度近似于菌丝网络——详细解说与其 C 代码实现

文章目录B 树的定义B 树组织数据的方法往 B 树中插入键值对数据从 B 树中删除键值对把 B 树看作是 “真菌网络”——我理解并记忆 B 树的方法B 树的 C 代码实现初始化节点、B 树B 树节点内的二分查找B 树的数据插入操作B 树的删除数据操作范围查询与全局遍历销毁 B 树测试代码&…

01、数据结构与算法--顺序表

正式进入数据结构的学习&#xff0c;先从预备知识学起&#xff0c;戒焦戒躁戒焦戒躁...一、泛型的引入1、为什么需要泛型&#xff1f;先来看一个题目&#xff1a;实现一个类&#xff0c;类中包含一个数组成员&#xff0c;使得数组中可以存放任何类型的数据&#xff0c;也可以根…

8.23打卡 DAY 50 预训练模型+CBAM模块

DAY 50: 预训练模型与 CBAM 模块的融合与微调 今天&#xff0c;我们将把之前学到的知识融会贯通&#xff0c;探讨如何将 CBAM 这样的注意力模块应用到强大的预训练模型&#xff08;如 ResNet&#xff09;中&#xff0c;并学习如何高效地对这些模型进行微调&#xff0c;以适应我…

北极圈边缘生态研究:从数据采集到分析的全流程解析

原文链接&#xff1a;https://onlinelibrary.wiley.com/doi/10.1111/1744-7917.70142?afR北极圈边缘生态研究&#xff1a;从数据采集到分析的全流程解析简介本教程基于一项在俄罗斯摩尔曼斯克州基洛夫斯克市开展的长期生态学研究&#xff0c;系统讲解如何对高纬度地区特定昆虫…