147

Tôi muốn bắt đầu viết truy vấn trong MySQL.

show grants trình diễn:

+--------------------------------------+
| Grants for @localhost                |
+--------------------------------------+
| GRANT USAGE ON *.* TO ''@'localhost' |
+--------------------------------------+

Tôi không có id người dùng nhưng khi tôi muốn tạo người dùng, tôi không có quyền riêng tư, tôi cũng không biết cách tạo đặc quyền khi thậm chí tôi không có một người dùng!

mysql> CREATE USER 'parsa'@'localhost' IDENTIFIED BY 'parsa';
ERROR 1227 (42000): Access denied; you need (at least one of) the CREATE USER pr
ivilege(s) for this operation

Tôi đã cố gắng đăng nhập bằng root:

mysql> mysql -u root -p;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near 'mysql
 -u root -p' at line 1
mysql> mysql -u root -p root;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near 'mysql
 -u root -p root' at line 1
|
203

Không, bạn nên chạy mysql -u root -ptrong bash, không phải ở dòng lệnh MySQL. Nếu bạn đang ở trong mysql, bạn có thể thoát bằng cách gõ exit .

|
44

Bạn có thể cần thiết lập tài khoản root cho cơ sở dữ liệu MySQL của mình:

Trong loại thiết bị đầu cuối:

mysqladmin -u root password 'root password goes here'

Và sau đó để gọi máy khách MySQL:

mysql -h localhost -u root -p
|
  • 1

    Cái này làm việc cho tôi, ban đầu nó hoạt động tốt và sau đó đột nhiên ngừng hoạt động một ngày. Bất cứ ý tưởng, tại sao điều này xảy ra ở nơi đầu tiên?

    – Tạ Thu Hà 10:29:41 04/02/2014
  • 1

    @soleshoe tôi đang gặp lỗi: sudo: mysqladmin: lệnh không tìm thấy xin vui lòng giúp tôi tôi có thể làm gì ?? mysql đang chạy rất nhanh trong System Preference.

    – Lý Minh Huy 17:51:04 01/09/2015
27

Tôi đã được đưa đến đây bởi một vấn đề khác. Bất cứ khi nào tôi cố gắng đăng nhập, tôi nhận được thông báo đó vì thay vì xác thực chính xác, tôi đã đăng nhập với tư cách là người dùng ẩn danh. Giải pháp cho vấn đề của tôi là:

Để xem bạn là người dùng nào và bạn có quyền:

select user(), current_user();

Để xóa người dùng ẩn danh pesky:

drop user ''@'localhost';
|
  • 1

    Điều này đã giải quyết vấn đề cho tôi mặc dù tôi đang sử dụng "mysql -u username -p". Rất lạ: user () là tên người dùng của tôi, nhưng current_user () là localhost ... không biết tại sao?

    – Tạ Thu Hà 18:30:50 02/07/2014
  • 1

    @Leftteris hi .. tôi nhận được lỗi này: Truy cập bị từ chối; bạn cần (ít nhất một trong số) đặc quyền CREATE USER cho thao tác này Khi tôi cố gắng thả người dùng '' @ 'localhost';

    – Lý Minh Huy 17:14:56 01/09/2015
8

Bạn có thể muốn thử lệnh đăng nhập đầy đủ:

mysql -h host -u root -p 

nơi chủ nhà sẽ được 127.0.0.1.

Làm điều này chỉ để đảm bảo sự hợp tác tồn tại.

Việc sử dụng mysql -u root -pcho phép tôi thực hiện rất nhiều tìm kiếm cơ sở dữ liệu, nhưng từ chối mọi hoạt động tạo cơ sở dữ liệu do cài đặt đường dẫn.

|
7

Đây là một cái gì đó để làm với sự cho phép của người dùng. Cung cấp tài trợ thích hợp sẽ giải quyết vấn đề này.

Bước [1]: Mở terminal và chạy lệnh này

$ mysql -uroot -p

Đầu ra [1]: Điều này sẽ cung cấp cho bạn lời nhắc mysql được hiển thị bên dưới

Bước 2]:

mysql> CREATE USER 'parsa'@'localhost' IDENTIFIED BY 'your_password';
mysql> grant all privileges on *.* to 'parsa'@'localhost';

Cú pháp:

mysql> grant all privileges on `database_name`.`table_name` to 'user_name'@'hostname';

Chú thích:

  • tên máy chủ có thể là địa chỉ IP, localhost, 127.0.0.1
  • Trong database_name/ table_name, * có nghĩa là tất cả các cơ sở dữ liệu
  • Trong hostname, để chỉ định tất cả máy chủ sử dụng '%'

Bước [3]: Thoát khỏi dấu nhắc mysql hiện tại bằng cách nhập quit/ exitlệnh hoặc nhấn Ctrl+D.

Bước [4]: ​​Đăng nhập vào người dùng mới của bạn

$ mysql -uparsa -pyour_password

Bước [5]: Tạo cơ sở dữ liệu

mysql> create database `database_name`;
|
  • 1

    khi tôi làm CREATE USER 'parsa'@'localhost' IDENTIFIED BY 'your_password';ở đó có lỗi: ERROR 1227 (42000): Truy cập bị từ chối; bạn cần (ít nhất một trong số) đặc quyền TẠO NGƯỜI DÙNG cho hoạt động này

    – Đặng Ðức Minh 09:24:58 18/07/2018
  • 1

    Bạn đã đăng nhập vào máy khách mysql bằng root user

    – Tạ Minh Quốc 04:33:32 19/07/2018
6

Đầu tiên, nếu bạn không quen thuộc với dòng lệnh, hãy thử sử dụng phpmyadmin từ webbrowser của bạn. Điều này sẽ đảm bảo bạn thực sự có một cơ sở dữ liệu mysql được tạo và tên người dùng.

Đây là cách bạn kết nối từ dòng lệnh (bash):

mysql -h hostname -u username -p database_name

Ví dụ:

fabio@crunchbang ~ $ mysql -h 127.0.0.1 -u fabio -p fabiodb
|
  • 1

    -plà cho mật khẩu và bạn đang sử dụng nó để vượt qua tên cơ sở dữ liệu. Ngoài ra, đối với mật khẩu, không nên có khoảng trống b / w -pvà mật khẩu thực tế. Sử dụng -Dđể kết nối với một cơ sở dữ liệu cụ thể.

    – Lý Mỹ Oanh 18:30:43 14/01/2016
5

Nếu bạn đang ở trong mys mys shell, hãy thoát nó bằng cách gõ exit . Nó sẽ đưa bạn trở lại dấu nhắc lệnh. Bây giờ bắt đầu mysql bằng cách sử dụng chính xác lệnh sau:

sudo mysql -u root -p

Nếu tên người dùng của bạn là một cái gì đó không phải là root, hãy thay thế 'root' trong lệnh trên bằng tên người dùng của bạn:

sudo mysql -u tên người dùng của bạn -p

Sau đó, nó sẽ hỏi bạn mật khẩu tài khoản mysql và mysql của bạn sẽ không hiển thị bất kỳ vấn đề đặc quyền truy cập nào kể từ bây giờ.

|
  • 1

    Sau khi nhập mật khẩu, tôi nhận được "sudo: mysql: lệnh không tìm thấy" Xin hãy giúp tôi về vấn đề này

    – Lý Mỹ Oanh 17:45:02 01/09/2015
  • 1

    không nên là "sudo:", nó phải là "sudo" ... Nếu đó không phải là một lỗi đánh máy, tôi nghĩ đây là vấn đề.

    – Tạ Hoàng An 15:31:23 04/09/2015
1

Nếu bạn muốn khởi động mysql từ linux, thật dễ dàng để làm điều đó bằng cách nhấn: mysql -u root -p nếu bạn đang ở trên windows, bạn phải ở vị trí file.exe mysql.exe từ thiết bị đầu cuối:mysql -u root -p

|
1

@Nickparsa Bạn có 2 vấn đề:

1). mysql -uroot -p nên được gõ trong bash (còn được gọi là thiết bị đầu cuối của bạn) không phải trong dòng lệnh MySQL. Bạn sửa lỗi này bằng cách gõ

exit

trong dòng lệnh MySQL của bạn. Bây giờ bạn đã trở lại trong dòng lệnh bash / terminal của bạn.

2). Bạn có một lỗi cú pháp:

mysql -uroot -p; 

dấu chấm phẩy phía trước -p cần phải đi. Cú pháp đúng là:

mysql -uroot -p

gõ cú pháp đúng trong dòng lệnh bash của bạn. Nhập mật khẩu nếu bạn có một thiết lập; khác chỉ cần nhấn nút enter. Bạn sẽ nhận được một phản hồi tương tự như sau:

Hi vọng điêu nay co ich!

|
  • 1

    Xin chào, tôi đã nhận được màn hình abowly sau khi bắn khen ngợi này. / usr / local / mysql / bin / mysql nhưng sau đó khi tôi cố gắng tạo cơ sở dữ liệu bằng cách sử dụng "CREATE DATABASE book" sách 'xin hãy giúp tôi

    – Lý Diên Vỹ 17:49:05 01/09/2015
0

Hầu hết các Nhà phát triển đăng nhập vào máy chủ (Tôi giả sử bạn có tên người dùng và mật khẩu cho cơ sở dữ liệu mysql) sau đó từ Bash họ chuyển sang mysql> promptsử dụng lệnh bên dưới (không hoạt động

mysql -h localhost -u root -p

Những gì cần làm là sử dụng lệnh trên trong dấu nhắc bash -> khi làm như vậy nó sẽ hỏi mật khẩu nếu được cung cấp, nó sẽ đưa trực tiếp đến dấu nhắc mysql và

sau đó cơ sở dữ liệu, bảng có thể được tạo từng cái một

Tôi đã đối mặt với bế tắc tương tự để chia sẻ kinh nghiệm

|

Câu trả lời của bạn (> 20 ký tự)

Bằng cách click "Đăng trả lời", bạn đồng ý với Điều khoản dịch vụ, Chính sách bảo mật and Chính sách cookie của chúng tôi.

Không tìm thấy câu trả lời bạn tìm kiếm? Duyệt qua các câu hỏi được gắn thẻ hoặc hỏi câu hỏi của bạn.