一,问题描述:
请求mysql 数据库,请求速度很慢,需要六七秒,数据量也不大。使用的是docker 容器启动的mysql
二,问题原因:
网上说的是因为MySQL的dns导致,我实测也是有效果的,但是为啥是DNS 导致的就不得而知了。
三,解决方法:
3.1,修改mysqld.cnf 配置文件
因为我没有在启动mysql 镜像的时候对mysql 镜像做文件映射,所以修改mysqld.cnf 文件就只能进入容器内部修改了
3.1.1 进入mysql 容器内部
docker exec -it 容器名称 /bin/bash
3.1.2 找到mysqld.cnf 配置文件
vim /etc/mysql/mysql.conf.d/mysqld.cnf
如果vim 操作报错: vim: command not found,查看下面文章
(505条消息) docker vim: command not found_vegetari的博客-CSDN博客https://blog.csdn.net/qq_41169544/article/details/129663078?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22129663078%22%2C%22source%22%3A%22qq_41169544%22%7D
3.1.3 修改mysqld.cnf 配置
在mysqld.cnf 文件添加下面配置
skip-name-resolve
3.1.4 重启 容器
docker restart 容器名称
3.2 在创建容器的时候就执行skip-name-resolve 命令
docker run --name mysql --skip-name-resolve