欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 家装 > Windos10上Podman安装运行mysql8

Windos10上Podman安装运行mysql8

2025/12/17 3:56:09 来源:https://blog.csdn.net/haohaizi_liu/article/details/139597506  浏览:    关键词: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 --shutdownpodman 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.

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词