当前位置: 首页 > news >正文

docker配置mysql8报错 ERROR 2002 (HY000)

通过docker启动的mysql,发现navicat无法连接,后来进入容器内部也是无法连接,产生以下错误

root@9f3b90339a14:/var/run/mysqld# mysql -u root -p
Enter password: 
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

查看容器日志信息显示如下

root@root:/opt/mysql# docker logs ef36bee61984
2024-10-22 22:59:48+08:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.0.20-1debian10 started.
2024-10-22 22:59:49+08:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql'
2024-10-22 22:59:49+08:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.0.20-1debian10 started.
2024-10-22T14:59:49.286487Z 0 [Warning] [MY-010099] [Server] Insecure configuration for --secure-file-priv: Data directory is accessible through --secure-file-priv. Consider choosing a different directory.
2024-10-22T14:59:49.286497Z 0 [Warning] [MY-010101] [Server] Insecure configuration for --secure-file-priv: Location is accessible to all OS users. Consider choosing a different directory.
2024-10-22T14:59:49.286552Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.20) starting as process 1
2024-10-22T14:59:49.292891Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2024-10-22T14:59:50.543534Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2024-10-22T14:59:50.752764Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Socket: '/var/run/mysqld/mysqlx.sock' bind-address: '::' port: 33060
2024-10-22T14:59:51.174812Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.
2024-10-22T14:59:51.252468Z 0 [System] [MY-010931] [Server] /usr/sbin/mysqld: ready for connections. Version: '8.0.20'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306  MySQL Community Server - GPL.

看这个样子好像是一些安全东西引起的,导致拒绝密码连接
看到日志里有个 /var/run/mysqld/mysqlx.sock。貌似是需要绑定这个路径,以前还没有注意到,因此在配置文件中绑定这个路径

my.cnf配置文件如下

[mysqld]
user=mysql
default-storage-engine=INNODB
character-set-server=utf8
secure_file_priv=/var/lib/mysql
socket=/var/run/mysqld/mysqld.sock
[client]
default-character-set=utf8
socket=/var/run/mysqld/mysqld.sock
[mysql]
default-character-set=utf8
socket=/var/run/mysqld/mysqld.sock

配置好这个文件之后就可以正常连接了
在这里插入图片描述

下面附带利用docker-compose启动的配置文件

version: '3'
services:mysql:image: mysql:8.0.20restart: alwayscontainer_name: mysqlenvironment:MYSQL_ROOT_PASSWORD: 123456TZ: Asia/Shanghaiports:- 3306:3306 volumes:- ./data:/var/lib/mysql- ./config/my.cnf:/etc/mysql/my.cnfcommand:--max_connections=1000--character-set-server=utf8mb4--collation-server=utf8mb4_general_ci--default-authentication-plugin=mysql_native_password--server-id=1 --log-bin=master-binlog --innodb-flush-log-at-trx-commit=1 --sync-binlog=1 --innodb-file-per-table=1 --innodb-buffer-pool-size=2G
http://www.lryc.cn/news/466444.html

相关文章:

  • 【Linux】为什么环境变量具有全局性?共享?写时拷贝优化?
  • 如何在Linux中找到MySQL的安装目录
  • 机器人备件用在哪些领域
  • 基于单片机优先级的信号状态机设计
  • 数字电路week3
  • 如何在 Linux 中对 USB 驱动器进行分区
  • 【STM32+HAL】STM32CubeMX学习目录
  • PPT自动化:Python如何修改PPT文字和样式!
  • 4:Java的介绍与基础4:for语句
  • R语言机器学习算法实战系列(十二)线性判别分析分类算法 (Linear Discriminant Analysis)
  • [LeetCode] 50. Pow(x, n)
  • Vue学习笔记(七、事件修饰符 .stop .capture .self .once .prevent)
  • web网站搭建(静态)
  • 高效特征选择策略:提升Python机器学习模型性能的方法
  • 2024年TI杯E题-三子棋游戏装置方案分享-jdk123团队-第四弹 第一题
  • 优化多表联表查询的常见方法归纳
  • Java毕业设计 基于SpringBoot发卡平台
  • VRoid Studio 介绍 3D 模型编辑器
  • 软件设计模式------抽象工厂模式
  • 基于springboot+微信小程序校园自助打印管理系统(打印1)
  • 解锁文本数据可视化的无限可能:Wordcloud库全解析
  • 代码审计-Python Flask
  • 深度学习:开启人工智能的新纪元
  • 第十四章_File类与IO流
  • Qml-CheckBox的使用
  • Java的RocketMQ使用
  • 中间件之MQ-Kafka
  • [DB] NSM
  • Redis 高可用:从主从到集群的全面解析
  • 全能型选手视频播放器VLC 3.0.21 for Windows 64 bits支持Windows、Mac OS等供大家学习参考