Я пытаюсь следовать этому руководству для MySQL и JDBC:
http://www.vogella.com/tutorials/MySQLJava/article.html
Я должен выполнить эту команду в клиенте командной строки:
grant usage on *.* to sqluser@localhost identified by 'sqluserpw';
Затем я получаю эту ошибку
ERROR 1064 (42000): 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 'identified by 'sqluserpw'' at line 1
Моя версия сервера MySQL - 8.0.13, но я не могу найти никакой информации о том, что не так с моим синтаксисом. Я проверил здесь похожие темы, но они не отвечают на этот вопрос.
просто отредактируйте пользователя и измените пароль таким образом, а не с настройкой разрешений
Как уже говорилось в treyBake: используемый вами синтаксис больше не подходит для MySQL 8, см., Например, здесь.
Это решило проблему для меня: СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ 'foo' @ 'localhost', ИДЕНТИФИЦИРОВАННОГО mysql_native_password ПО 'bar'; ПРЕДОСТАВЛЯЙТЕ ВСЕ ПРИВИЛЕГИИ НА имя_базы_данных. * TO'foo '@' localhost '; Спасибо SolarFlare!






удалите
identified by- клянусь, это никогда не помогало мне. Я просто используюGRANT ALL PRIVILEGES ON *.* TO 'user'@'localhost' WITH GRANT OPTION;