背景
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應該差別不咋大。