mysql5.7 delimiter_Docker撰写:MySQL语法错误“DELIMITER”在第1行

在尝试使用Docker Compose的MySQL5.7服务导入.sql文件时遇到一个SQL语法错误,提示'DELIMITER'在第1行附近有错误。然而,通过phpMyAdmin导入时文件能正常运行。问题可能在于Docker Compose的配置或文件执行方式。示例.sql文件包含了DELIMITER更改和存储过程创建。
摘要由CSDN通过智能技术生成

我有问题,我希望Docker Compose在设置MySQL后直接导入我的Database.sql文件.但它总是抛出我的错误:

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 ‘DELIMITER |’ at line 1

但不知何故,当我通过浏览器中的phpMyAdmin导入它时,它的工作原理非常好.

这是我的docker-compose.yml:

version: "3.2"

services:

php:

build: './php/'

networks:

- backend

volumes:

- ./www/:/var/www/html/

apache:

build: './apache/'

depends_on:

- php

- mysql

networks:

- frontend

- backend

ports:

- "8081:80"

volumes:

- ./www/:/var/www/html/

mysql:

image: mysql:5.7

volumes:

- ./mysql:/tmp/database

command: mysqld --max_allowed_packet=32505856 --user=root --init-file="/tmp/database/schema.sql"

networks:

- backend

environment:

- MYSQL_ROOT_PASSWORD=root

phpmyadmin:

image: phpmyadmin/phpmyadmin

links:

- mysql

ports:

- '8082:80'

environment:

MYSQL_USERNAME: root

MYSQL_ROOT_PASSWORD: root

PMA_HOST: mysql

networks:

- backend

networks:

frontend:

backend:

这是我的.sql文件的一个示例片段,它被执行:

-- phpMyAdmin SQL Dump

-- version 4.8.2

-- https://www.phpmyadmin.net/

--

-- Host: mysql

-- Generation Time: Aug 20, 2018 at 08:30 AM

-- Server version: 5.7.23

-- PHP Version: 7.2.6

DELIMITER $$

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";

SET AUTOCOMMIT = 0;

START TRANSACTION;

SET time_zone = "+00:00";

--

-- Database: `database`

--

CREATE DATABASE IF NOT EXISTS `databasetest` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;

USE `databasetest`;

--

-- Procedures

--

DROP PROCEDURE IF EXISTS `sp_filestatus_get`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_filestatus_get` (IN `filename_name` VARCHAR(500), IN `kampagne_name` VARCHAR(100), IN `outlet_name` VARCHAR(100)) NO SQL

... Some more stuff

END;

我错过了配置中的一些内容吗?或者为什么它不能与compose一起工作但直接在phpMyAdmin中有效?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值