当前位置: 首页 > 知识库问答 >
问题:

mysql - Docker Compose 部署 MySQL 报错,如何解决?

浦修文
2024-06-06

使用docker-compose 部署 MySQL 报错
image.png
image.png
image.png
image.png
image.png

docker-compose.yml mysql配置部分

  mysql:         image: mysql    container_name: mysql    environment:      - MYSQL_ROOT_PASSWORD=123456     volumes:      - /data/mysql/log:/var/log/mysql       - /data/mysql/data:/var/lib/mysql       - /data/mysql/conf.d:/etc/mysql/conf.d       - /etc/localtime:/etc/localtime:ro     ports:      - 3306:3306     restart: always

my.cnf文件

###### [client]配置模块 ######[client]default-character-set=utf8mb4socket=/var/lib/mysql/mysql.sock###### [mysql]配置模块 ######[mysql]# 设置MySQL客户端默认字符集default-character-set=utf8mb4socket=/var/lib/mysql/mysql.sock###### [mysqld]配置模块 ######[mysqld]port=3306user=mysql# 设置sql模式 sql_mode模式引起的分组查询出现*this is incompatible with sql_mode=only_full_group_by,这里最好剔除ONLY_FULL_GROUP_BYsql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTIONdatadir=/var/lib/mysqlsocket=/var/lib/mysql/mysql.sockserver-id = 1# MySQL8 的密码认证插件 如果不设置低版本navicat无法连接default_authentication_plugin=mysql_native_password# 禁用符号链接以防止各种安全风险symbolic-links=0# 允许最大连接数max_connections=1000# 服务端使用的字符集默认为8比特编码的latin1字符集character-set-server=utf8mb4# 创建新表时将使用的默认存储引擎default-storage-engine=INNODB# 表名存储在磁盘是小写的,但是比较的时候是不区分大小写–initialize --lower_case_table_names=1max_allowed_packet=16M # 设置时区default-time_zone='+8:00'

共有2个答案

融修平
2024-06-06

因为你的电脑是 windows,windows 的文件路径不存在 /data/etc 这种东西

岳锦
2024-06-06

报错说的很明白
image.png

你的data文件夹里面有文件,MySQL无法初始化。

 - /data/mysql/data:/var/lib/mysql 

/data/mysql/data 这个文件夹里面的内容,如果没用的话,直接清空。 当前的错误应该不会再出现

 类似资料:
  • 在Ubuntu中通过docker-compose部署MySQL时无法部署;docker-compose.yml文件如下: 我的步骤如下: 1.注释挂载,直接启动mysql 成功 2.复制容器中的/var/lib/mysql到宿主机我希望挂载的地方 3.复制/etc/mysql ,然后编写my.cnf放到宿主机/data/docker/mysql/etc/mysql/conf.d下 4.删除镜像 5

  • 问题内容: 当我尝试登录phpMyAdmin时出现以下错误。 用户 __ 已经具有多个“ max_user_connections”活动连接 谁能让我知道如何从MySQL服务器端关闭这些数据库连接? 感谢您的时间! 问题答案: 在这里,我认为您可以解决您的问题 max_connections 另请阅读此http://dev.mysql.com/doc/refman/5.5/en/too-many-

  • 在Mac上 安装了 docker desktoptop,然后安装MySQL-oralce版本的MySQL镜像,并且部署容器,启动MySQL服务,但是在使用 sequel ace 客户端连接时,报错 服务是正常启动的,

  • 问题内容: 我是使用Heroku的新手,并且有一个Ruby / Sinatra应用程序,我打算在其中使用MySQL数据库作为主要数据存储。 但是,我不想将结果直接写到Heroku上的数据库中。相反,我想将结果写入本地数据库,然后能够轻松地将本地数据库部署/更新/复制到Heroku上的“生产”数据库。 我该怎么做呢? 谢谢。 问题答案: 首先Heroku在本地使用postgres。如果您在本地使用,

  • 当我打开XAMPP并点击启动MySQL按钮,它给我一个错误。我刚刚开始,但现在它不起作用。 下午12:19:12[mysql]正在尝试启动mysql应用程序 12:19:12 PM[mysql]检测到状态更改:正在运行 12:19:13 PM[mysql]检测到状态更改:已停止 12:19:13 PM[mysql]错误:mysql意外关闭 12:19:13 PM[mysql]这可能是由于端口被阻止

  • 使用CASE WHEN 做条件的筛选,但是一直报错; 报错: ### Error updating database. Cause: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server versio