Loading...

文章背景图

[记录] 解决docker中的mariadb连接速度慢

2021-01-23
1462
-
- 分钟

下面是mysql:8.0容器的配置

[client]
default-character-set=utf8

[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
explicit_defaults_for_timestamp=true
innodb_flush_log_at_trx_commit=0
sync_binlog=0
# 设置最大连接数
max_connections=512
# 跳过对客户端进行DNS反向解析
skip-name-resolve

[mysql]
# 设置默认字符集
default-character-set=utf8
# 跳过对客户端进行DNS反向解析
skip-name-resolve

因为mariadb是基于mysql,就理所应当的将mysql:8.0的配置抄了过来给mariadb:10.5.8使用,尝试解决连接很慢的问题,结果却一直无法连接。

进入mariadb容器后,尝试使用:mysql -uroot 进入mysql,但却提示了一个错误:mysql: unknown option '--skip-name-resolve'

在搜索后找到了解决方法:unknown option '--skip-name-resolve'

将以下配置移除

[mysql]
skip-name-resolve

并添加以下配置

[mysqldump]
skip_name_resolve

成功解决每次连接都要十来秒的问题


[client]
default-character-set=utf8

[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
explicit_defaults_for_timestamp=true
innodb_flush_log_at_trx_commit=0
sync_binlog=0
# 设置最大连接数
max_connections=512

[mysql]
# 设置默认字符集
default-character-set=utf8

在解决了mariadb的问题后,尝试修改了mysql:8.0的配置,结果发现mysql:8.0不添加skip-name-resolve也能非常快的连接。

mariadb:10.5.8的配置抄的mysql:8.0的,mysql:8.0的配置又是从mysql:5.7那抄的,skip-name-resolve是当时为了解决mysql:5.7连接慢而添加的。还是因为懒,直接照抄配置带来的问题。

评论交流

文章目录