в mysql установите разрешение на подключение к командной строке mysql - PullRequest
1 голос
/ 06 сентября 2011

создание пользователей через mysql admin, но не удается войти в систему mysql командная строка

в соответствии с предложениями, выданными root'ом

grant all on *.* to new_user;

это сработало, но с точки зрения безопасности был беспорядок, поэтому выдали

revoke all on *.* from new_user;

сейчас new_user может все еще подключиться, но безопасность нормальна, как установлено в mysql admin

для меня это полностью фокус-покус. что на самом деле происходит и как вы действительно включаете логин?

похоже, это проблема администратора MySQL (спасибо @marco). если тот же самый GRANT введен в командной строке mysql, пользователь может войти в систему; но если грант выдается в Администраторе, пользователь не может войти в систему.

, как указал @marco, любой доступ предоставит пользователю доступ к логину mysql, например, привилегии SELECT - , но их необходимо ввести в командной строке msql. *

1 Ответ

1 голос
/ 06 сентября 2011

Это потому, что когда вы впервые используете GRANT, пользователь создается автоматически; когда вы отменяете привилегии, пользователь остается ...
Проверьте эту ссылку .

Сначала вы должны предоставить своему пользователю только те привилегии, которые ему действительно необходимы.
Второе: предоставить пользователю доступ только к БД или таблицам, которые он должен видеть / над которыми работает. Пример:

GRANT SELECT,INSERT,UPDATE ON mydb.* TO 'jeffrey'@'localhost';

или

GRANT SELECT ON db2.invoice TO 'jeffrey'@'localhost' 
IDENTIFIED BY PASSWORD 'sdsd';

РЕДАКТИРОВАНИЕ:
Просто чтобы доказать, что я говорю:
введите консоль mysql (mysql -u root -p) и введите

USE mysql;
SELECT * FROM user;

Вы увидите пользователей, которые есть у MySql.
Что ж, теперь используйте GRANT как вам угодно для пользователя, которого еще нет; затем повторите SELECT * FROM user;: вы увидите, что новый пользователь создан !!

...