【问题标题】:How to enable federated engine in docker mariadb如何在 docker mariadb 中启用联合引擎
【发布时间】:2021-09-28 04:07:29
【问题描述】:

我需要入口点中的federated engine 来预填充容器中的数据库。为了启用federated engine,我编写了一个 bash 脚本来手动将联合命令插入到 my.cnf,但出现以下错误

2021-07-20 16:14:22+00:00 [注意] [入口点]:/usr/local/bin/docker-entrypoint.sh:运行/docker-entrypoint-initdb.d/_enable_federated.sh sed: 无法打开临时文件 /etc/mysql/sedHjVLxp: Permission denied

_enable_federated.sh

#!/bin/bash

sed -i '/\[mysqld\]/a federated' /etc/mysql/my.cnf

我可以知道启用federated engine的正确方法是什么

【问题讨论】:

    标签: mysql docker dockerfile mariadb


    【解决方案1】:

    安装联合存储引擎最简单的方法是使用命令行参数 --plugin-load-add=ha_federatedx运行容器

    对于基于配置文件的方法,也可以使用(参考:documenation 中的“使用自定义 MariaDB 配置文件”):

    $ cat config/federated.cnf
    
    [mariadbd]
    plugin-load-add=ha_federated
    
    $ podman run -v=./config/:/etc/mysql/conf.d/ -e MARIADB_ALLOW_ROOT_EMPTY_PASSWORD=1  mariadb:10.5
    

    最后一种方式是在/docker-entrypoint-initdb.d/中使用federated.sql脚本:

    INSTALL SONAME 'ha_federatedx';
    

    【讨论】:

    • 我尝试了命令参数选项。有用 !!! TQVM
    猜你喜欢
    • 2018-11-23
    • 1970-01-01
    • 2021-01-07
    • 2014-03-19
    • 1970-01-01
    • 2021-07-02
    • 1970-01-01
    • 2017-06-04
    • 2017-09-08
    相关资源
    最近更新 更多