@a_pussycan
Начинающий веб-программист

Что не так с командой grant?

Не пойму где накосячил, мб кто увидит?

mysql> GRANT REPLICATION SLAVE ON *.* TO 'root'@'%' IDENTIFIED BY my_password;
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 my_password' at line 1


UP:
Попробовал ввести без пароля, но получилось вот
mysql> GRANT REPLICATION SLAVE ON *.* TO 'root'@'%';
ERROR 1410 (42000): You are not allowed to create a user with GRANT


Интересно как так, если я сижу за этим юзером

UPP
Вот чтобы меня за дурака не держали, я взял копипастом команду пользователя из комментариев, которая у него сработала.
mysql> GRANT REPLICATION SLAVE ON *.* TO 'root'@'%' IDENTIFIED BY 'my_password';
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 'my_password'' at line 1

Следом вот заменил имя пользователя
mysql> GRANT REPLICATION SLAVE ON *.* TO 'admin'@'%' IDENTIFIED BY 'my_password';
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 'my_password'' at line 1
  • Вопрос задан
  • 14441 просмотр
Пригласить эксперта
Ответы на вопрос 2
@Stalinko
PHP'шник и фрилансер до мозга костей
В MySQL 8 запретили делать автоматическое создание юзера командой GRANT.
Теперь нужно сначала явно создать юзера командой:

CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'secret';


и только затем давать ему права:
GRANT REPLICATION SLAVE ON *.* TO 'myuser'@'localhost';
Ответ написан
Комментировать
DeyvHorni
@DeyvHorni
Первая ошибка была 100% из-за того что пароль не обернут в кавычки, а вторая это недостаточно прав на создание пользователей с помощью GRANT.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы