docker部署mysql8.0.36异常记录

docker-compose如下

services:
  mysql_8_0_36:
    image: mysql:8.0.36
    container_name: mysql_8_0_36
    volumes:
      - ./logs:/var/log/mysql
      # mysql容器中的数据,是存储在/var/lib/mysql下
      - ./data:/var/lib/mysql
      - ./conf:/etc/mysql/conf.d
    ports:
      - 51809:3306
    environment:
      MYSQL_ROOT_PASSWORD: 'chillifishYX3NF8v' # 设置root用户密码
      TZ: Asia/Shanghai
    command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
    restart: always
    network_mode: bridge
    privileged: true

创建数据库&用户

-- 新建MySQL数据库:mtab

CREATE DATABASE mtab CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

# -- 新建MySQL用户xiaoyu,并设置密码为76HchillHrD3KwA
# CREATE USER 'xiaoyu'@'%' IDENTIFIED BY '76HchillHrD3KwA';

-- 授权xiaoyu用户访问chuan_sys数据库
GRANT ALL PRIVILEGES ON mtab.* TO 'xiaoyu'@'%';

-- 授权结束后刷新特权
FLUSH PRIVILEGES;

使用dbeaver 连接提示:Public Key Retrieval is not allowed

  • 解决公钥检索报错:点击该页面的编辑驱动设置,在弹出的窗口切换到连接属性选项卡,找到allowPublicKeyRetrieval 参数,将其值设置为true ,点击确定返回;
  • 若没有该参数,可点击添加,手动输入参数名和值。

同理Navicat 在高级设置中找到其他参数输入框,填入allowPublicKeyRetrieval=true ,若需同时关闭 SSL(本地测试常用),可补充为allowPublicKeyRetrieval=true&useSSL=false 。


2026.01.08

采用dbeaver执行如下:

UPDATE uf_gcy_shb_bffy bffy JOIN uf_gcy_shbfdd bfdd ON  bffy.form_data_id = bfdd.id SET bffy.fyzfzt = 0 WHERE  bfdd.ptddh = 'DLZ27122' AND bffy.je = 289;
UPDATE uf_gcy_shb_bffy bffy JOIN uf_gcy_shbfdd bfdd ON  bffy.form_data_id = bfdd.id SET bffy.fyzfzt = 0 WHERE  bfdd.ptddh = 'DLZ27133' AND bffy.je = 344;

dbeaver报错如下:

SQL Error [1064] [42000]: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'UPDATE uf_gcy_shb_bffy bffy JOIN uf_gcy_shbfdd bfdd ON  bffy.form_data_id = bfdd' at line 2

Error position: line: 1

原因是dbeaver默认没有开启允许多语句执行

  • 打开 DBeaver,选中你的 MySQL 连接,右键 → 「编辑连接」;
  • 在弹出的窗口中,切换到「驱动属性」标签页;
  • 找到 allowMultiQueries 属性,将其值从 false 改为 true;
  • 点击「确定」保存,重启连接(断开再重新连接数据库);

 

 

THE END
分享
二维码
打赏
海报
docker部署mysql8.0.36异常记录
docker-compose如下 services: mysql_8_0_36: image: mysql:8.0.36 container_name: mysql_8_0_36 volumes: - ./logs:/var/log/mysq……
<<上一篇
下一篇>>