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
0
二维码
打赏
海报
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……
共有 0 条评论