В чем разница между этими двумя командами?mysql «предоставить все» vs «предоставить все привилегии»
GRANT ALL ON druid.* TO 'druid'@'localhost' IDENTIFIED BY 'diurd';
GRANT ALL PRIVILEGES ON *.* TO [email protected]'%' IDENTIFIED BY 'diurd';
В чем разница между этими двумя командами?mysql «предоставить все» vs «предоставить все привилегии»
GRANT ALL ON druid.* TO 'druid'@'localhost' IDENTIFIED BY 'diurd';
GRANT ALL PRIVILEGES ON *.* TO [email protected]'%' IDENTIFIED BY 'diurd';
Они эквивалентны синтаксису привилегий; PRIVILEGES
не является обязательным. Source
Объем этих разрешений, однако, отличается. Одна команда дает привилегии для всех баз данных (*.*
), а другая дает их только по таблицам в базе данных druid
(druid.*
).
Кроме того, один позволяет подключать только от localhost
, а другой позволяет им из любого места (%
).
И, наконец, [email protected]'%'
даст синтаксическую ошибку; вам нужны котировки около druid
.
Как наилучшая практика, сделайте как можно меньше разрешений (только для локальных, с разрешениями сделать как можно меньше в максимально возможном количестве мест).