MySQL Создание новых пользователей и баз

Создание новых пользователей и баз в MySQL в консольном режиме.

Создаем в MySQL новую базу данных и нового пользователя с правами на нее же.

mysql -u root -p
<пароль_рута_на_mysql>
CREATE DATABASE имя_вашей_новой_базы;
GRANT ALL PRIVILEGES ON имя_вашей_новой_базы.* TO 'новый_пользователь'@'localhost'
IDENTIFIED BY 'пароль_для_нового_пользователя' WITH GRANT OPTION;

Для того, чтобы выставить новому пользователю полные права на все базы данных:

GRANT ALL PRIVILEGES ON *.* TO 'новый_пользователь'@'localhost'
IDENTIFIED BY 'пароль_для_нового_пользователя' WITH GRANT OPTION;

Доступ к базе для данного пользователя возможен только с localhost. Если вы хотите дать ему доступ к базе с любого хоста, используете % вместо localhost:

GRANT ALL PRIVILEGES ON имя_вашей_новой_базы.* TO 'новый_пользователь'@'%'
IDENTIFIED BY ''пароль_для_нового_пользователя' WITH GRANT OPTION;

Для того, чтобы изменить пользователю пароль:

ALTER USER 'старый_пользователь'@'localhost' IDENTIFIED BY 'NEW_USER_PASSWORD';

Если инструкция ALTER USER не работает, можно напрямую изменить пользовательскую таблицу:

 UPDATE mysql.user SET authentication_string = PASSWORD('NEW_USER_PASSWORD') WHERE User = 'старый_пользователь' AND Host = 'localhost';

Так же не забываем после всех действий выполнить обновление привилегий:

FLUSH PRIVILEGES;

И напоследок для диагностики:

SHOW GRANTS FOR 'admin'@'localhost';