Docker快速安装Mariadb11.1

2023-11-22 12:50:33 浏览数 (2)

MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。在存储引擎方面,使用XtraDB来代替MySQL的InnoDB。 MariaDB由MySQL的创始人Michael Widenius主导开发,他早前曾以10亿美元的价格,将自己创建的公司MySQL AB卖给了SUN,此后,随着SUN被甲骨文收购,MySQL的所有权也落入Oracle的手中。MariaDB名称来自Michael Widenius的女儿Maria的名字。

1.拉取mariadb11.1的镜像

代码语言:javascript复制
docker pull mariadb

2.查看镜像

3.新建数据库目录

用来挂载容器的目录及数据

代码语言:javascript复制
mkdir -p /data/mariadb/data 

4.创建mariadb容器

代码语言:javascript复制
docker run --name mariadb -p 3306:3306 -e MYSQL_ROOT_PASSWORD=XXX -v /data/mariadb/data:/var/lib/mysql --security-opt seccomp=unconfined  -d mariadb:11.1

参数说明

  • name:启动后容器的名字
  • p:容器端口映射到服务器:第一个参数是主机端口,第二个是容器端口
  • e:是传递给容器内的参数,比如这里加了 MARIADB_ROOT_PASSWORD 是指容器启动后,容器内部的mariadb的root密码为123456
  • v:挂载数据的目录,第一个指主机的目录,第二个指容器的目录
  • d: 是镜像的名字和版本号,默认不加会使用latest最新版本

注意,这里如果不加参数 --security-opt seccomp=unconfined 则会遇到报错

代码语言:javascript复制
docker logs mariadb
2023-11-21 07:05:55 00:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:11.1.3 maria~ubu2204 started.
2023-11-21 07:05:55 00:00 [ERROR] [Entrypoint]: mariadbd failed while attempting to check config
        command was: mariadbd --verbose --help
        Can't initialize timers

5.查看mariadb容器状态

代码语言:javascript复制
docker ps -a |grep mariadb
a182bd4523        mariadb:11.1        "docker-entrypoint.s…"   11 minutes ago      Up 11 minutes       0.0.0.0:3306->3306/tcp   mariadb

6.进入mariadb数据库中

代码语言:javascript复制
docker exec -it mariadb mariadb -uroot -pXXX你的密码
Welcome to the MariaDB monitor.  Commands end with ; or g.
Your MariaDB connection id is 3
Server version: 11.1.3-MariaDB-1:11.1.3 maria~ubu2204 mariadb.org binary distribution

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.

0 人点赞