当前位置: 首页 > news >正文

docker 安装 mysql (单体架构)

文章归档: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.lryc.cn/news/221035.html

相关文章:

  • 城市内涝怎么预警?万宾科技内涝积水监测仪
  • Spring基础(2):放弃XML,走向注解
  • 【线性代数】分块矩阵总结
  • Redis-命令操作Redis->redis简介,redis的安装(Linux版本windows版本),redis的命令
  • 17、Python虚拟环境:为何要用虚拟环境、如何使用virtualenv
  • elasticSearch 接口实现查询热词统计
  • 10年测试经验分享:新手如何找到适合自己的软件测试项目?
  • 【MySQL】查询语句
  • 金蝶云星空的网络控制设置
  • linux服务器国内源安装nvm,又快又方便
  • noip模拟赛多校第八场 T3 遥控机器人 (最短路 + 技巧拆点)
  • 高防IP的原理
  • Apache Doris (五十一): Doris数据缓存
  • 一、配置环境
  • 各种 sql 语句
  • CentOS/RHEL7环境下更改网卡名称为CentOS6的传统命名规则
  • 飞书开发学习笔记(三)-利用python开发调试云文档和电子表格
  • 爆火的正规号卡推广分销 流量卡分销代理平台
  • Gin框架入门实战系列教程之Gin环境搭建 Gin程序的热加载 Gin路由 GET POST PUT DELETE
  • 浏览器自动播放音视频-前端实现方案
  • HttpUtils工具类
  • AI:59-基于深度学习的行人重识别
  • TCP编程及基础知识
  • 二百零一、Flink——Flink配置状态后端运行后报错:Can not create a Path from an empty string
  • Python 爬虫基础
  • 亚马逊云科技大语言模型的创新科技
  • Qt 各种数据类型
  • 电动车展示预约小程序的作用如何
  • 「随笔」浅谈2023年云计算的发展趋势
  • 高性能三防工业平板电脑 防摔防爆电容屏工控平板