【mysql】docker运行mysql8.0

背景

mariadb10.5.8报错:Error 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ‘LIMIT ?’ at line 1

所以更换为mysql8.0.39试试

docker run启动

docker run -d \
  --name mysql8.0 \
  -p 3306:3306 \
  -e TZ=Asia/Shanghai \
  -e MYSQL_ROOT_PASSWORD=yourpassword \
  -v /root/data/docker_mysql_data:/var/lib/mysql \
  --restart unless-stopped \
  mysql:8.0

修改MySQL用户的远程访问权限

  1. 进入到MySQL实例:
docker exec -it mysql8.0 bash
mysql -u root -p

输入root用户的密码。

运行以下SQL命令来授予root用户远程访问权限(下面三步不可省略):

-- 1. 创建用户(如果不存在)并设置密码
CREATE USER IF NOT EXISTS 'root'@'%' IDENTIFIED BY '你的密码';

-- 2. 授予所有权限(包括 GRANT OPTION)
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;

-- 3. 刷新权限
FLUSH PRIVILEGES;

将你的密码替换为root用户的密码。这个命令将允许root用户从任何IP地址连接。
navicate测试通过。
【mysql】docker运行mysql8.0_第1张图片

结论

换成mysql8还是没有解决问题,似乎是gorm生成的sql语句有问题。
mariadb10.5.8和mysql8.0应该差别不咋大。

你可能感兴趣的:(【mysql】docker运行mysql8.0)