docker 安装 mysql (单体架构)

news/2024/11/7 18:29:41/

文章归档:https://www.yuque.com/u27599042/coding_star/nckzqa73g47hgz3x

查询 MySQL 镜像

docker search mysql

拉取 MySQL 镜像

docker pull mysql

在宿主机创建映射目录

mkdir -p \
/home/docker/mysql/log \
/home/docker/mysql/data \
/home/docker/mysql/conf \
/home/docker/mysql/mysql-files

先随便新建一个 MySQL 容器

docker run --name mysql -e MYSQL_ROOT_PASSWORD=root -d mysql

复制容器中的配置文件到宿主机的 MySQL 配置文件映射目录

docker cp mysql:/etc/mysql /home/docker/mysql/conf/

将 /home/docker/mysql/conf/mysql/ 目录下的文件和目录移动到 /home/docker/mysql/conf/ 目录下

mv /home/docker/mysql/conf/mysql/* /home/docker/mysql/conf/

删除 /home/docker/mysql/conf/mysql 目录

rm -rf /home/docker/mysql/conf/mysql

删除 mysql 容器

docker rm -f mysql

运行 mysql 容器

docker run \
-p 3306:3306 \
--name mysql \
--restart=always \
--privileged=true \
-v /home/docker/mysql/conf:/etc/mysql \
-v /home/docker/mysql/data:/var/lib/mysql \
-v /home/docker/mysql/log:/var/log/mysql \
-v /home/docker/mysql/mysql-files:/var/lib/mysql-files \
-v /etc/localtime:/etc/localtime:ro \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql
# 运行 docker 容器
docker run \# 宿主机与容器端口映射
-p 3306:3306 \# 指定运行容器的名称
--name mysql \# docker 容器会跟随 Linux 重启而重启
--restart=always \# 容器具有 root 权限
--privileged=true \# mysql 容器配置文件目录映射
-v /home/docker/mysql/conf:/etc/mysql \# mysql 容器数据文件目录映射
-v /home/docker/mysql/data:/var/lib/mysql \# mysql 容器日志文件目录映射
-v /home/docker/mysql/log:/var/log/mysql \# 做这个映射,为了避免有时候会报错
-v /home/docker/mysql/mysql-files:/var/lib/mysql-files \# mysql 容器时区配置文件目录映射
-v /etc/localtime:/etc/localtime:ro \# 指定环境变量,指定 mysql root 用户密码
-e MYSQL_ROOT_PASSWORD=root \# docker 运行的容器镜像为 mysql (以守护进程运行)
-d mysql

编辑 MySQL 配置文件

在mysql 容器配置文件目录映射 /home/docker/mysql/conf/conf.d/ 中新建 my.cnf MySQL 配置文件,在其中编写如下内容:

# mysql8# mysql服务器配置
[mysqld]# 设置server_id,同一局域网内需要唯一
# server_id=101# 配置mysql服务器的字符集编码
character-set-server=utf8mb4# 配置mysql服务器的比较规则
collation-server=utf8mb4_general_ci# 设置东八区时区
default-time_zone='+8:00'# 设置密码验证规则
default_authentication_plugin=mysql_native_password# 把表中数据导出到csv
# secure_file_priv 为 NULL 时,表示限制mysqld不允许导入或导出。
# secure_file_priv 为 /tmp 时,表示限制mysqld只能在/tmp目录中执行导入导出,其他目录不能执行。
# secure_file_priv 没有值时,表示不限制mysqld在任意目录的导入导出。
secure_file_priv=/var/lib/mysql# 二进制日志过期清理时间
expire_logs_days=7# 日志配置
# ...# mysql接收来自客户端请求相关配置
[client]# 配置mysql接收来自客户端请求时的字符集编码
default-character-set=utf8mb4

重启 mysql 容器

docker restart mysql

http://www.ppmy.cn/news/1195634.html

相关文章

mit6.s081 笔记

1、系统调用 系统调用具体过程。 在任何地方,当我们需要使用系统调用时,只需要include “user/user.h”,就可以通过里面的函数声明来调系统调用,其函数的具体实现由 user/usys.pl 脚本帮我们生成对应的汇编代码(具体代…

[AUTOSAR][诊断管理][ECU][$37] 请求退出传输。终止数据传输的(上传/下载)

文章目录 一、简介二、服务请求报文定义肯定响应支持的NRC三、示例流程Step 1:Step 2:报文示例:Step 1:请求RequestDownload(0x34)服务Step 2:请求TransferData (0x36)服务,传输数据Step 3:请求RequestTransferExit(0x37)服务总结:三、示例代码37_req_transfer_e…

2. 网络之网络编程

网络编程 文章目录 网络编程1. UDP1.1 DatagramSocket1.1.1 DatagramSocket 构造方法1.1.2 DatagramSocket 方法: 1.2 DatagramPacket1.2.1 DatagramPacket构造方法1.2.2 DaragramPacket方法1.2.3InetSocketAddress API 1.3 UDP回显服务器1.3.1 框架结构1.3.2 读取请…

Uniapp 中,能够同时兼容H5、web、app、微信小程序的引入高德地图的语法格式

在 Uniapp 中&#xff0c;可以通过使用 uni-app 统一的 API 来同时兼容 H5、web、App 和微信小程序&#xff0c;而引入高德地图则有以下两种语法格式供选择&#xff1a; 使用 Vue.js 的语法格式&#xff1a; <template><view><map :longitude"longitude&…

Canvas雷达显示图,动态扫描

做卫星项目的时候&#xff0c;会涉及到雷达图&#xff0c;用于扫描卫星&#xff0c;给人形象化的感觉。以下代码为canvas实现的demo&#xff0c;请运行查看. 效果图 源代码 <!DOCTYPE html> <html lang"zh"><head><meta charset"UTF-8&qu…

[极客大挑战 2019]Http 1

题目环境&#xff1a; 看起来挺花里胡哨的 F12查看源代码寻找隐藏文件 这是啥子呀&#xff0c;果然防不胜防 点击隐藏文件Secret.php 它不是来自这个地址的请求 报头&#xff1a;https://Sycsecret.buuoj.cn 需要抓包&#xff0c;在抓包前了解部分数据包参数 GET:到 Host:来自 …

Flutter vs 前端 杂谈:SliverAppBar、手动实现Appbar、前端Html+JS怎么实现滚动变化型Appbar - 比较

Flutter vs 前端 杂谈 SliverAppBar的弹性背景的显隐效果使用HtmlJS怎么实现 作者&#xff1a;李俊才 &#xff08;jcLee95&#xff09;&#xff1a;https://blog.csdn.net/qq_28550263 邮箱 &#xff1a;291148484163.com 本文地址&#xff1a;https://blog.csdn.net/qq_28550…

掌动智能兼容性测试四大优势

兼容性测试是将应用中的场景脚本化&#xff0c;根据业务需求定制脚本&#xff0c;提交到云端千台真机&#xff0c;并行自动测试&#xff0c;从安装、启动、运行、功能、UI、核心业务流程、复杂互动场景等多维度&#xff0c;深度发现应用兼容性问题&#xff0c;并结合人工复审&a…