Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Запуск процедуры при старте Mysql / 5 сообщений из 5, страница 1 из 1
29.08.2016, 17:04
    #39299753
Max585
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск процедуры при старте Mysql
Пытаюсь сделать следующим образом в файле my.ini (windows) прописываю строку:

[mysqld]
init-file=c:\file.sql

В файле file.sql пишу:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
DELIMITER \\
DROP PROCEDURE IF EXISTS `shops`.`init`\\
CREATE PROCEDURE `shops`.`init` ()
BEGIN 
INSERT INTO `shops`.`clothes` (`art`, `text`) VALUES (8, 'my text');

END \\
DELIMITER;

CALL `shops`.init();



Ничего не получается, таблица пуста. В чем ошибка?
Может быть есть другие варианты решения этого вопроса(Запуск процедуры при старте My
...
Рейтинг: 0 / 0
29.08.2016, 18:07
    #39299798
Alex_Ustinov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск процедуры при старте Mysql
1. каждое утверждение в этом файле должно быть в одной строчке (читайте документацию, я допустим тоже всего не помню)
2. Лучше пробовать с простого SQL-утверждения (для начала просто INSERT) для проверки
т.е. как минимум вам надо CREATE PROCEDURE .... END // разместить в одной строке

смысл объясните - зачем вам это или что вы хотите сделать (причем именно при запуске сервера)
...
Рейтинг: 0 / 0
29.08.2016, 22:02
    #39299882
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск процедуры при старте Mysql
Alex_Ustinov,
я такое использовал для формирования таблицы в памяти.
...
Рейтинг: 0 / 0
30.08.2016, 03:46
    #39299928
Alex_Ustinov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск процедуры при старте Mysql
Max585,

и еще, включите general-log в my.ini там же
может быть ошибка загрузки этого файлика (она есть 99%)
...
Рейтинг: 0 / 0
30.08.2016, 12:01
    #39300151
Max585
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запуск процедуры при старте Mysql
Alex_Ustinov,
Спасибо ОГРОМНОЕ!!!

Оказалось в файле была включена подпись Юникода, благодаря логу удалось это увидеть:

1064 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 'п»їINSERT INTO `shops`.`clothes` (`art`, `text`) VALUES (8, 'my text');' at line 1
2016-08-30T08:33:50.233938Z 0 [Note] Execution of init_file 'c:\file.sql' ended.

Теперь все работает.

P.S.
Запуск процедуры при старте нужен, чтобы скопировать несколько таблиц в память.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Запуск процедуры при старте Mysql / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]