не в змозі створити належний доступ до бази даних


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)

Що ж тепер робити.


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


Дякую чувак ... Це мені допомогло
viveksinghggits

1

відкрити mysql в режимі збереження

sudo mysqld_safe --skip-grant-tables

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

Логін mysql як користувач root

mysql -u root

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

надайте всі ПРИВІЛЕГИ на це a / c

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

Я думаю, що це також спрацює ...

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.