下面是mysql:8.0容器的配置
```ini
[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'](https://forums.cpanel.net/threads/mysqldump-error-unknown-option-skip-name-resolve.634289/)
将以下配置移除
```ini
[mysql]
skip-name-resolve
```
并添加以下配置
```ini
[mysqldump]
skip_name_resolve
```
成功解决每次连接都要十来秒的问题
<br />
```ini
[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连接慢而添加的。还是因为懒,直接照抄配置带来的问题。
[记录] 解决docker中的mariadb连接速度慢