背景
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用户的远程访问权限
- 进入到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测试通过。
结论
换成mysql8还是没有解决问题,似乎是gorm生成的sql语句有问题。
mariadb10.5.8和mysql8.0应该差别不咋大。