Я пытаюсь выполнить определенную команду mysql из командной строки. Когда я это делаю, он терпит неудачу, но если я выполню ту же самую команду изнутри mysql interactive, она работает.Оператор MySQL работает в mysql, но не из командной строки
Вот версия командной строки, которая терпит неудачу:
$ mysql -uscott -p -e "GRANT ALL PRIVILEGES ON `myuser\_%`.* TO 'myuser'@'localhost';"
Ошибка приведены в:
ERROR 1064 (42000) at line 1: 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 '* TO 'myuser'@'localhost'' at line 1
Копирование и вставка только команда MySQL в MySQL работает:
mysql> GRANT ALL PRIVILEGES ON `myuser\_%`.* TO 'myuser'@'localhost';
Я выполнил эту команду дословно из phpmyadmin при создании пользователя для базы данных. Как я могу его исправить, чтобы он работал из командной строки?
Изменения на одинарные работали как шарм. Я также попытался сбежать с *, но mysql не понравился \\ *, поэтому использование одинарных кавычек для оператора mysql с двойными кавычками внутри является правильным и, по-видимому, единственным решением. Благодаря! – Scott