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

7

Я только что вошел в 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 05.05.2014 в 11:45
источник

2 ответа

7

Чтобы войти в 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';

Источник: Ссылка     

ответ дан Parto 05.05.2014 в 12:19
источник
1

откройте mysql в режиме сохранения

sudo mysqld_safe --skip-grant-tables

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

login mysql как пользователь root

mysql -u root

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

предоставить все ПРИВИЛЕГИИ для этого a / c

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

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

    
ответ дан Sudip Das 29.03.2016 в 20:49