首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MariaDB信任没有被码头集装箱使用的

MariaDB信任没有被码头集装箱使用的
EN

Stack Overflow用户
提问于 2022-06-08 12:43:36
回答 2查看 289关注 0票数 0

我想定制一些MariaDB服务器信任(wait_timeout等)。我遵循关于正式码头形象的说明并在我的主机dir config/mariadb中创建了两个.cnf文件,它通过以下卷安装在容器中:

代码语言:javascript
复制
volumes:
  - /config/mariadb:/etc/mysql/conf.d:ro
  - /config/mariadb:/etc/mysql/mariadb.conf.d:ro
代码语言:javascript
复制
root@server:~# ls -l /config/mariadb
total 12
-rwxrwx--- 1 root root 263 Jun  8 13:43 mariadb-finetuning.cnf
-rwxrwx--- 1 root root 367 Jun  8 13:43 mariadb-inno.cnf

以下是配置文件:

代码语言:javascript
复制
[mysqld]
# * InnoDB
#
# InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
# Read the manual for more InnoDB related options. There are many!
# default_storage_engine    = InnoDB
# innodb_buffer_pool_size   = 256M
# innodb_log_buffer_size    = 8M
# innodb_file_per_table = 1
# innodb_open_files = 400
# innodb_io_capacity    = 400
innodb_flush_method = fsync
代码语言:javascript
复制
[mysqld]
# * Fine Tuning
#
# max_connections       = 100
# connect_timeout       = 5
wait_timeout        = 3600
# max_allowed_packet    = 16M
# thread_cache_size       = 128
# sort_buffer_size  = 4M
# bulk_insert_buffer_size   = 16M
# tmp_table_size        = 32M
# max_heap_table_size   = 32M

不知怎么的,这些选择没有效果,我也不知道为什么:

代码语言:javascript
复制
show variables where variable_name = 'innodb_flush_method'

# Variable_name Value
# innodb_flush_method   O_DIRECT

有什么更好的方法来检查mariadb为什么不接收这些信息呢?

更新:

  • 在容器中手动编辑my.cnf是可行的,但我不想这样做。
  • 运行mysqld --print-defaults将打印出... --innodb_flush_method=fsync作为结果。在我看来,这可能是因为入口点脚本/docker-entrypoint.sh
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-06-08 13:38:48

问题是文件权限。

运行数据库的linux用户必须读取配置文件。

可能有几种解决方案,在我的例子中,最简单的方法是应用774文件权限,这样每个用户都可以读取该文件:

代码语言:javascript
复制
root@server:~# ls -l /config/mariadb
total 12
-rwxrwxr-- 1 root root 263 Jun  8 13:43 mariadb-finetuning.cnf
-rwxrwxr-- 1 root root 367 Jun  8 13:43 mariadb-inno.cnf
票数 0
EN

Stack Overflow用户

发布于 2022-06-08 13:36:37

如果您的MariaDB可以与您的设置一起运行,请执行“docker”以在您的MariaDB容器中运行bash,并检查您的卷挂载是否在预期位置显示了预期的文件。

然后还检查容器中MariaDB的配置或启动是否配置为读取这些文件。你可以通过提供空文件或者里面乱七八糟的文件来达到这个目的。

然后才开始查看文件的内容。一旦您到达这里,您似乎对容器数据库引擎有能力。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72545937

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档