không thể tạo cơ sở dữ liệu do truy cập bị từ chối


10

Tôi vừa đăng nhập vào Ubuntu 12.04 như một người dùng bình thường (vivek) và mở thiết bị đầu cuối để tạo cơ sở dữ liệu, tôi đã viết:

create database Hello;

và lỗi tôi có là:

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

Nếu tôi đăng nhập với tư cách người dùng root thì ngay cả MySQL cũng không mở và có thông báo lỗi:

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

Làm gì bây giờ.


1
Bạn đã sử dụng lệnh nào để kết nối với MySQL?
Parto

Tôi vừa viết mysql để kết nối với MySQL
viveksinghggits

Câu trả lời:


11

Để đăng nhập vào MySQL với tư cách người dùng root, bạn có thể sử dụng:

mysql -u root -p

và sau đó nhập mật khẩu MySQL của bạn.


Để đăng nhập với tư cách người dùng khác, bạn sẽ phải tạo người dùng đó trước và cấp cho anh ta đặc quyền.

Tạo người dùng bằng cách sử dụng - thay đổi newusertên người dùng bạn muốn và passwordmật khẩu bạn chọn.

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

Đáng buồn thay, tại thời điểm newusernày không có quyền để làm bất cứ điều gì với cơ sở dữ liệu.
Do đó, giai đoạn đầu tiên là cấp cho người dùng các đặc quyền để thực hiện 'mọi thứ'.
Để cấp tất cả các đặc quyền (chọn, tạo, xóa, cập nhật, thả, v.v.) trên tất cả các cơ sở dữ liệu và bảng, hãy chạy:

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

Để cấp một đặc quyền cụ thể trên một cơ sở dữ liệu và bảng cụ thể, chỉ cần chạy:

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

Nếu bạn cần từ chối hoặc thu hồi một đặc quyền nào đó, chỉ cần chạy:

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

Nguồn: https://www.digitalocean.com/community/articles/how-to-create-a-new-user-and-grant-permissions-in-mysql


Thanx anh chàng ... Nó đã giúp tôi
viveksinghggits

1

mở mysql ở chế độ lưu

sudo mysqld_safe --skip-grant-tables

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

đăng nhập mysql với tư cách người dùng root

mysql -u root

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

cấp tất cả các đặc quyền cho a / c

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

tôi nghĩ nó cũng sẽ hoạt động ...

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.