> 文档中心 > Alpine 安装 MySQL

Alpine 安装 MySQL


需求

使用Alpine安装MySQL

步骤

1. 创建容器

# 创建一个alpine容器,并命名为 alpine-mysqldocker run -it --name alpine-mysql alpine

在这里插入图片描述

2. 更新apk

apk 是Alpine 自带的包管理器,使用Alpine软件前应先更新一下。

apk update

Alpine 安装 MySQL

3. 安装MySQL

# alpine 中MySQL 用的就是MariaDBapk add --no-cache mysql mysql-client# 或apk add mariadb mariadb-client

在这里插入图片描述
如下:mysql可执行文件指向mariadb
在这里插入图片描述

安装openrc

openrc是Alpine服务控制器,负责Alpine服务启动,添加、删除、更新及启动停止等。安装它有助于将MySQL服务管理起来。

 apk add openrc --no-cache

openrc 相关详见 https://editor.csdn.net/md/?articleId=122838103 在这里插入图片描述
安装完成后执行命令rc-status可以查看本地机上服务的当前状态,如上图所示。

4. 启动

  • 将 mariadb 注册为服务
rc-update add mariadb default

Alpine 安装 MySQL

  • boot openrc
touch /run/openrc/softlevel
  • 创建数据库
/etc/init.d/mariadb setup

在这里插入图片描述

  • 启动 mariadb 服务
rc-service mariadb start

在这里插入图片描述
启动后可以使用 rc-sttaus 查看到 mariadb 已经启动

6. 连接测试

  1. 客户端交本地连接
    在这里插入图片描述

  2. 客户端远程连接
    远程客户端连接需要容器与外网通信,而当前的容器并不支持外部网络访问,我们可以先将容器commit为一个新的镜像,这相当于我们制作了一个自己的镜像,然后在指定端口映射访问。

提交新容器

docker commit -a "xzbd" -m "a mysql image based on alpine" a88de0896ee5  alpine-mysql:v1

其中-a表示作者,-m 表示描述,a88de0896ee5 是当前容器的ID, alpine-mysql:v1 是新的镜像名。
在这里插入图片描述

启动容器

docker run -it --name alpine-mysql-server -p 3306:3306 alpine-mysql

使用新镜像 alpine-mysql:v1 实例化一个容器,命名为 alpine-mysql-server,指定端口映射为本地3306到容器3306。第一个3306是本地端口,第二个3306是容器内的端口。

使用Navicat连接
在这里插入图片描述

7. 设置账户密码

mysqladmin -u root password "123456"

遇到的问题

  • You are attempting to run an openrc service on a system which openrc did not boot.

该问题该问题根据提示执行 touch /run/openrc/softlevel 即可解决。
在这里插入图片描述

  • Datadir ‘/var/lib/mysql’ is empty or invalid.

同样根据提示执行 /etc/init.d/mariadb setup 即可解决。
在这里插入图片描述

总结

通过一步一步搭建环境,实现了Alpine安装MySQL。产出的alpine-mysql:v1镜像可以保留,已备以后使用。
回顾一下,将本文中左右命令处理,写成一个DockerFile文件,使用 docker build 也可以实现制作自己的MySQL镜像。