Windos10上Podman安装运行mysql8

记录以下在windows10系统上Podman v5.1.1安装MySQL8全过程。

目录

  •  一、拉取mysql8镜像
  • 二、创建宿主目录
  • 三、创建 my.cnf文件
  • 四、创建Mysql8容器
  • 五、windows上Podman安装运行mysql8失败
  • 问题描述
  •  解决办法
  • ① 通过PowerShell进入wsl
  • ② 修改wsl系统配置
  • ③ 重启wsl,Podman
  • 六、记录错误日志

 一、拉取mysql8镜像

首先通过Podman下载Mysql8镜像到本地。命令如下:

podman pull mysql:8

二、创建宿主目录

在windows系统磁盘上创建挂在所需的目录,我是在 D:\Program Files\podman-conf\mysql8 目录下分别创建了conf 、data 、logs三个文件夹。

三、创建 my.cnf文件

conf目录下创建 my.cnf 文件,文件内容如下:

[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
# basedir=/usr/local/mysql8
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql8/data
# 允许最大连接数
max_connections=1000
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=100
# 服务端使用的字符集默认为UTF8
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
authentication_policy=mysql_native_password
#是否对sql语句大小写敏感,1表示不敏感  需要在初始化时设置
# lower_case_table_names = 1
#MySQL连接闲置超过一定时间后(单位:秒)将会被强行关闭
#MySQL默认的wait_timeout  值为8个小时, interactive_timeout参数需要同时配置才能生效
interactive_timeout = 1800
wait_timeout = 1800
#Metadata Lock最大时长(秒), 一般用于控制 alter操作的最大时长sine mysql5.6
#执行 DML操作时除了增加innodb事务锁外还增加Metadata Lock,其他alter(DDL)session将阻塞
lock_wait_timeout = 3600
#内部内存临时表的最大值。
#比如大数据量的group by ,order by时可能用到临时表,
#超过了这个值将写入磁盘,系统IO压力增大
tmp_table_size = 64M
max_heap_table_size = 64M
# MySQL服务端字符集
character_set_server = utf8mb4
# 设置默认存储引擎为InnoDB
default-storage-engine = InnoDB
# 默认为ON,设置为OFF,关闭事务自动提交
autocommit = OFF
transaction_isolation = READ-COMMITTED
# 错误日志存放路径
log_error = /usr/local/mysql8/log/log.err
# 全局动态变量,默认3,范围:1~3
# 表示错误日志记录的信息,1:只记录error信息;2:记录error和warnings信息;3:记录error、warnings和普通的notes信息
log_error_verbosity = 2

[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8mb4

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4

四、创建Mysql8容器

podman run -itd --name mysql8 -e TZ="Asia/Shanghai" -v "D:/Program Files/podman-conf/mysql8/conf/my.cnf":/etc/my.cnf -v "D:/Program Files/podman-conf/mysql8/data":/var/lib/mysql -v "D:/Program Files/podman-conf/mysql8/logs":/var/log/mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8 --lower_case_table_names=1

正常到这一步就完成了MySQL的安装和运行。可以通过 podman ps 查看mysql 容器是否在运行。

以上是正确安装后的截图。

而我在安装时,出现了一个错误,困惑了我很久,具体问题如下。

五、windows上Podman安装运行mysql8失败

问题描述

上面第四步完成后,通过podman ps 命令查看运行的容器时,发现没有mysql,很奇怪呀。于是反复安装运行多次都是一样,后来查看了mysql日志发现了问题的根源在于,容器读取windows上的挂在文件目录时失败导致的。

 解决办法

① 通过PowerShell进入wsl

② 修改wsl系统配置

添加 /etc/wsl.conf 文件中的配置。输入命令:

sudo vi /etc/wsl.conf

如果没有以下内容直接添加进去即可:

[automount]
enabled = true
options = "metadata"
mountFsTab = false

添加后查看文件内容如下图示:

 

③ 重启wsl,Podman

 推出liunx系统后,停止 wsl ,重新启动podman。

wsl --shutdown

podman machine start

通过以上方式,重新安装mysql,运行mysql成功。 

六、记录错误日志

2024-06-11 13:42:33+08:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.0.27-1debian10 started.
2024-06-11 13:42:33+08:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql'
2024-06-11 13:42:33+08:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.0.27-1debian10 started.
2024-06-11 13:42:33+08:00 [Note] [Entrypoint]: Initializing database files
mysqld: [Warning] World-writable config file '/etc/my.cnf' is ignored.
2024-06-11T05:42:33.509612Z 0 [System] [MY-013169] [Server] /usr/sbin/mysqld (mysqld 8.0.27) initializing of server in progress as process 38
2024-06-11T05:42:33.518315Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2024-06-11T05:42:34.383870Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
mysqld: Cannot change permissions of the file 'ca.pem' (OS errno 1 - Operation not permitted)
2024-06-11T05:42:35.383035Z 0 [ERROR] [MY-010295] [Server] Could not set file permission for ca.pem
2024-06-11T05:42:35.383071Z 0 [ERROR] [MY-013236] [Server] The designated data directory /var/lib/mysql/ is unusable. You can remove all files that the server added to it.
2024-06-11T05:42:35.383257Z 0 [ERROR] [MY-010119] [Server] Aborting
2024-06-11T05:42:36.960729Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.27)  MySQL Community Server - GPL.

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

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

相关文章

3个月搞定计算机二级C语言!高效刷题系列进行中

文章目录 前言备考计算机二级C语言为什么考二级C语言?刷题总结后发布系列文章后记免责声明 前言 大家好,我是梁国庆。 计算机二级应该是每一位大学生的必修课,相信很多同学的大学flag中都会有它的身影。 我在大学里也不止一次的想要考计算…

【运维知识大神篇】运维界的超神器Kubernetes教程14(RBAC三种认证方式详解:基于用户+基于用户组+基于服务账号)

本篇文章继续给大家介绍Kubernetes,内容依旧烧脑,不过内容也已经过了一大半了,如果你把我Kubernetes前面的教程都看懂了的话,那么你已经很厉害了,坚持下去!本篇文章主要介绍RBAC的三种认证方式,…

Python使用tkinter库设置背景图片、label显示位置和label设置显示图片

tkinter 设置背景图片 label显示位置 label设置显示图片 from tkinter import * import tkinter as tk from PIL import ImageTk from PIL import Imagedef get_img(filename, width, height):im Image.open(filename).resize((width, height))im ImageTk.PhotoImage(im)…

Java的集合框架总结

Map接口和Collection接口是所有集合框架的父接口: Collection接口的子接口包括:Set接口和List接口 Map接口的实现类主要有:HashMap、TreeMap、Hashtable、ConcurrentHashMap以及Properties等 Set接口的实现类主要有:HashSet、Tr…

【CH32V305FBP6】USBD HS 描述符修改

文章目录 前言设备描述符完整描述符配置描述符CDC 描述符接口关联描述符接口描述符功能描述符端点描述符接口描述符端点描述符 HID 描述符接口描述符 新增一个 HID 设备 前言 USB HS 复合设备,CDCHID 功能:串口、DAP、CAN-HID、RS485 设备描述符 htt…

远程抄表系统方案

一、远程抄表系统简述 远程抄表系统,是一种智能化的自动化数据收集技术性,主要运用于电力工程、供水公司、天然气等公共服务行业,完成对消费者表计数据的远程、即时、智能采集。这类系统不但降低了成本,降低了人力抄表错误&#…

手部出现这4种症状,可能是糖尿病先兆!务必及时监测血糖

糖尿病来袭,手部或先知!出现这 4 种症状,务必尽快监测血糖 第一,手指麻木感明显,当持续性的高血糖损害手部血管与神经末梢时,便会导致手指产生麻木以及刺痛之感。而且随着血糖不断升高,受损的血…

Soildworks学习笔记(一)

1.如何添加M3,M4等螺丝孔: 有时候异形孔向导显示灰色是因为没有退出草图选项卡,选择异形孔向导就可以进行异形孔的设定和放置: solidwork放置螺丝孔以及显示螺纹的问题_.16-m3 solidwork-CSDN博客 2.如何修剪线条: 如何倒圆角或…

Hack The Box-Blurry

总体思路 CVE-2024-24590->修改脚本/劫持python库 信息收集&端口利用 nmap -sSVC blurry.htbStarting Nmap 7.94SVN ( https://nmap.org ) at 2024-06-10 21:40 EDT Nmap scan report for app.blurry.htb (10.10.11.19) Host is up (0.20s latency).PORT STATE S…

网络仿真方法综述

目录 1. 引言 2.仿真器介绍 2.1 NS-2 2.2 NS-3 2.3 OPNET 2.4 GNS3 3.仿真对比 4.结论 参考文献 1. 引言 网络仿真是指使用计算机模拟网络系统的行为和性能的过程。在网络仿真中,可以建立一个虚拟的网络环境,并通过模拟各种网络设备、协议和应用程…

Java 的循环

Java 有三种循环&#xff1a;for&#xff0c;while&#xff0c;do while。 for 基本语法&#xff1a; for (循环变量初始化; 循环条件; 循环变量迭代){循环语句; }程序示例&#xff1a; public static void main(String[] args) {for (int i 0, j 0; i < 3; i, j--) {…

大神出新品,吴恩达开源机器翻译智能体项目

节前&#xff0c;我们星球组织了一场算法岗技术&面试讨论会&#xff0c;邀请了一些互联网大厂朋友、参加社招和校招面试的同学。 针对算法岗技术趋势、大模型落地项目经验分享、新手如何入门算法岗、该如何准备、面试常考点分享等热门话题进行了深入的讨论。 合集&#x…

Clion控制台打印中文乱码

第一步 第二步 第三步 ctrlaltshift/ 把run.processes,with.pty

教育小程序开发:技术实现与实践案例

随着信息技术的不断进步&#xff0c;教育小程序在教育领域的应用越来越广泛。教育小程序开发不仅可以提高教学效率&#xff0c;还能够提供个性化的学习体验。本文将以技术代码为例&#xff0c;详细介绍教育小程序开发的关键技术和实践案例&#xff0c;帮助开发者更好地理解和实…

小公司要求真高

大家好&#xff0c;我是白露啊。 最近看到一个爽文帖&#xff0c;标题就是——“小公司要求真高”。 事情是这样的&#xff0c;一家的小公司在拿到简历之后&#xff0c;HR直接对楼主说&#xff1a;“你不合适&#xff0c;简历不行。” 言外之意就是嫌弃简历单薄&#xff0c;看…

IntelliJ IDEA 2024.1最新安装 亲测有效2099年

标题一&#xff1a;IDEA官方下载 ①如题&#xff0c;先到IDEA官方下载&#xff0c;简简单单 ②IDEA官方&#xff1a;IntelliJ IDEA – the Leading Java and Kotlin IDE 标题二&#xff1a;获取脚本 点这里获取 &#x1f31f;获取完后压缩&#xff0c;推荐与IDEA放在同一目…

白酒:茅台镇白酒的地域特色菜肴与搭配建议

在中国的美食文化中&#xff0c;酒与菜一直是密不可分的。茅台镇作为中国白酒的发源地&#xff0c;其白酒与地域特色菜肴的搭配更是有着深厚的历史底蕴。云仓酒庄作为茅台镇的知名酒庄&#xff0c;其豪迈白酒与当地特色菜肴的搭配&#xff0c;更是让人回味无穷。 茅台镇的菜肴以…

delmia中机器人末端固定工具

1 需要在工具上面建立点 在Device Building模式下 2 然后通过 set tool可以设置

Shell脚本 if语句

条件测试&#xff1a; $? 返回码 判断命令或者脚本是否执行成功&#xff08;最近的一条&#xff09; 0 true 为真就是成功 成立 非0 false 失败或者异常 test命令 可以进行条件测试 然后根据的是返回值来判断条件是否成立。 -e 测试目录或者文件是否存在 exist -d 测试…

宝兰德受邀出席第八届丝绸之路网络安全论坛

近日&#xff0c;2024第八届丝绸之路网络安全论坛在陕西宾馆会议中心成功举办&#xff0c;本次论坛以“汇聚万千智慧 夯实安全堤坝”为主题&#xff0c;由主论坛及密码技术与密评、教育行业网络安全、卫健行业网络安全三个平行分论坛组成&#xff0c;论坛邀请业内专家学者、企业…