невозможно создать базу данных из-за отказа в доступе

10

Я просто вошел в Ubuntu 12.04 как обычный пользователь (vivek) и открыл терминал для создания базы данных, я написал:

create database Hello;

и ошибка у меня была:

ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'vivek'

Если я вхожу в систему как пользователь root, то даже MySQL не открывается и выдает сообщение об ошибке:

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

Что делать сейчас.

viveksinghggits
источник
1
Какую команду вы использовали для подключения к MySQL?
Парто
Я просто написал mysql для подключения к MySQL
viveksinghggits

Ответы:

12

Чтобы войти в MySQL от имени пользователя root, вы можете использовать:

mysql -u root -p

и затем введите свой пароль MySQL.


Чтобы войти как другой пользователь, вам сначала нужно создать этого пользователя и предоставить ему привилегии.

Создайте пользователя с помощью - измените newuserимя пользователя и passwordпароль.

CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';

К сожалению, на данный момент newuserнет никаких разрешений, чтобы что-либо делать с базами данных.
Поэтому первым этапом является предоставление пользователю привилегий делать «дела».
Чтобы предоставить все привилегии (выбрать, создать, удалить, обновить, удалить и т. Д.) Для всех баз данных и таблиц, выполните:

GRANT ALL PRIVILEGES ON * . * TO 'newuser'@'localhost';

Чтобы предоставить определенную привилегию для конкретной базы данных и таблицы, просто запустите:

GRANT [type of privilege] ON [database name].[table name] TO '[username]'@'localhost';

Если вам когда-нибудь понадобится отказать или отменить определенную привилегию, просто запустите:

REVOKE [type of permission] ON [database name].[table name] FROM '[username]'@'localhost';

Источник: https://www.digitalocean.com/community/articles/how-to-create-a-new-user-and-grant-permissions-in-mysql

Parto
источник
Спасибо чувак ... Это помогло мне
viveksinghggits
1

открыть MySQL в режиме сохранения

sudo mysqld_safe --skip-grant-tables

===============================

войдите в систему как пользователь root

mysql -u root

===============================

предоставить все привилегии для этого / с

GRANT ALL PRIVILEGES ON `%`.* TO 'root'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

Я думаю, что это также будет работать ...

Судип Дас
источник