cách đăng nhập vào mysql và truy vấn cơ sở dữ liệu từ thiết bị đầu cuối linux


104

Tôi đang sử dụng debian linux. Tôi có một máy Linux đang cài đặt mysql. Tôi có thể đăng nhập vào máy linux của mình bằng người dùng root cũng như người dùng khác. Tôi có thể kết nối với cơ sở dữ liệu mysql trên máy linux từ máy windows bằng sqlyog. Bây giờ tôi muốn thực hiện các truy vấn trên máy linux chỉ sử dụng thiết bị đầu cuối linux

Tôi đã thử một số điều sau trên thiết bị đầu cuối

Tôi đã vào thư mục gốc rồi tôi vào thư mục / var / lib

Tôi chạy các lệnh sau trên thiết bị đầu cuối

mysqladmin -u root -p
mysqladmin -u root -ppassword

mọi lúc tôi đều nhận được thông báo lỗi sau

LỖI 1045 (28000) Quyền truy cập bị từ chối đối với người dùng 'root' @ 'localhost' (Sử dụng mật khẩu KHÔNG)

xin vui lòng hướng dẫn tôi để làm theo

  1. Làm cách nào để nhận được lời nhắc mysql trong thiết bị đầu cuối linux?
  2. Làm cách nào để dừng máy chủ mysql khỏi thiết bị đầu cuối linux?
  3. Làm cách nào để khởi động máy chủ mysql từ thiết bị đầu cuối linux?
  4. Làm cách nào để nhận được lời nhắc mysql trong thiết bị đầu cuối linux?
  5. Làm cách nào để đăng nhập vào máy chủ mysql từ thiết bị đầu cuối linux?
  6. Làm cách nào để giải quyết lỗi sau?

LỖI 1045 (28000) Quyền truy cập bị từ chối đối với người dùng 'root' @ 'localhost' (Sử dụng mật khẩu KHÔNG)

Xin vui lòng cho tôi giải pháp cho câu hỏi trên. Cảm ơn bạn


1
Bất cứ khi nào tôi chạy lệnh này mysql -u root -p, nó không hỏi tôi mật khẩu và tôi nhận được thông báo lỗi "ERROR 1045 (28000) Quyền truy cập bị từ chối cho người dùng 'root' @ 'localhost' (Sử dụng mật khẩu KHÔNG)" Một câu hỏi khác là ở đâu Tôi có chạy ở trên dấu nhắc lệnh root trong thư mục gốc hay không hay cần phải chuyển đến một thư mục cụ thể. cho tôi con đường của nó. cảm ơn bạn!
Param-Ganak

Hãy thử thay đổi cú pháp cho lệnh của bạn, như sau: "mysql --user = root --password" (loại bỏ dấu ngoặc kép khi bạn nhập nó trên dòng lệnh). Nếu không, có vẻ khá kỳ lạ khi bạn không được nhắc nhập mật khẩu và tôi nghi ngờ có thể có điều gì đó khác đang xảy ra ngoài phạm vi của mysql.
baraboom

Câu trả lời:


180

1.- Làm cách nào để nhận được lời nhắc mysql trong thiết bị đầu cuối linux?

mysql -u root -p

Tại Enter password:lời nhắc, hãy nhập mật khẩu của root :)

Bạn có thể tìm thêm tài liệu tham khảo bằng cách gõ mysql --helphoặc tại sách hướng dẫn trực tuyến .

2. Làm cách nào để dừng máy chủ mysql khỏi thiết bị đầu cuối linux?

Nó phụ thuộc. Các bản phân phối dựa trên Red Hat có servicelệnh:

service mysqld stop

Các bản phân phối khác yêu cầu gọi trực tiếp tập lệnh init:

/etc/init.d/mysqld stop

3. Làm cách nào để khởi động máy chủ mysql từ thiết bị đầu cuối linux?

Tương tự như # 2, nhưng với start.

4. Làm cách nào để nhận được lời nhắc mysql trong thiết bị đầu cuối linux?

Tương tự như # 1.

5. Làm cách nào để đăng nhập vào máy chủ mysql từ thiết bị đầu cuối linux?

Tương tự như # 1.

6. Làm cách nào để giải quyết lỗi sau?

Tương tự như # 1.


10

Đối với câu hỏi đầu tiên của bạn:

mysql -u root -p

hoặc là

mysqladmin -u root -p "your_command"

tùy thuộc vào những gì bạn muốn làm. Mật khẩu sẽ được hỏi khi bạn nhấn enter! Tôi đoán bạn thực sự muốn sử dụng mysql chứ không phải mysqladmin .

Để khởi động lại hoặc dừng MySQL-server trên linux, điều đó phụ thuộc vào cài đặt của bạn, nhưng trong các dẫn xuất debian phổ biến, điều này sẽ hoạt động để bắt đầu, dừng và khởi động lại dịch vụ:

sudo /etc/init.d/mysql start
sudo /etc/init.d/mysql stop
sudo /etc/init.d/mysql restart
sudo /etc/init.d/mysql status

Trong một số bản phân phối mới hơn, điều này cũng có thể hoạt động nếu MySQL được thiết lập như một dịch vụ / ngừng hoạt động.

sudo service mysql start
sudo service mysql stop
sudo service mysql restart
sudo service mysql status

Nhưng câu hỏi thực sự không thể trả lời nếu không biết thiết lập cụ thể của bạn.


Bất cứ khi nào tôi chạy lệnh này mysql -u root -p nó không hỏi tôi mật khẩu và tôi nhận được thông báo lỗi "ERROR 1045 (28000) Quyền truy cập bị từ chối cho người dùng 'root' @ 'localhost' (Sử dụng mật khẩu KHÔNG)" một câu hỏi khác là ở đâu làm tôi chạy rễ lệnh trên cửa sổ trong thư mục gốc hoặc làm cần thiết để đi đến một thư mục cụ thể cho tôi đường đi của nó cảm ơn bạn
Param-Ganak

Bạn không cần phải đi đến một thư mục cụ thể. Bạn có thể chạy nó từ bất cứ đâu. Bạn có thể dán phản hồi vào uname -amysql --versiondán chúng vào đây (chỉ cần nhập chúng vào thiết bị đầu cuối). Chúng tôi có thể giúp bạn nhiều hơn sau đó. service mysql statuscũng sẽ hữu ích.
flndeberg

5

Tôi giả sử bạn đang muốn sử dụng ứng dụng khách mysql, đây là một điều tốt và sử dụng hiệu quả hơn nhiều so với bất kỳ lựa chọn thay thế phpMyAdmin nào.

Cách thích hợp để đăng nhập với ứng dụng dòng lệnh là gõ:

mysql -u username -p

Lưu ý rằng tôi đã không nhập mật khẩu. Làm như vậy sẽ khiến mật khẩu hiển thị trên màn hình, điều này không tốt trong môi trường nhiều người dùng!

Sau khi gõ phím enter, mysql sẽ hỏi bạn mật khẩu của bạn.

Sau khi đăng nhập, tất nhiên bạn sẽ cần:

use databaseName;

để làm bất cứ điều gì.

Chúc may mắn.


Bất cứ khi nào tôi chạy lệnh này mysql -u root -p nó không hỏi tôi mật khẩu và tôi nhận được thông báo lỗi "ERROR 1045 (28000) Quyền truy cập bị từ chối cho người dùng 'root' @ 'localhost' (Sử dụng mật khẩu KHÔNG)" Một câu hỏi khác là ở đâu Tôi có chạy ở trên dấu nhắc lệnh root trong thư mục gốc hay không hay cần phải chuyển đến một thư mục cụ thể. cho tôi con đường của nó. cảm ơn bạn!
Param-Ganak

Bạn đang chạy bản phân phối linux nào?
stefgosselin

5

Tại dấu nhắc lệnh, hãy thử:

mysql -u root -p

cung cấp mật khẩu khi được nhắc.


Bất cứ khi nào tôi chạy lệnh này mysql -u root -p, nó không hỏi tôi mật khẩu và tôi nhận được thông báo lỗi "ERROR 1045 (28000) Quyền truy cập bị từ chối cho người dùng 'root' @ 'localhost' (Sử dụng mật khẩu KHÔNG)" Một câu hỏi khác là ở đâu Tôi có chạy ở trên dấu nhắc lệnh root trong thư mục gốc hay không hay cần phải chuyển đến một thư mục cụ thể. cho tôi con đường của nó. cảm ơn bạn!
Param-Ganak

Bạn có thể chạy nó từ thư mục chính của mình miễn là bạn đã định cấu hình đường dẫn. Nó sẽ làm việc ...
quarkonium

4

Tôi đã gặp vấn đề chính xác tương tự trên VPS ArchLinux của mình hôm nay.

mysql -u root -pchỉ không hoạt động, trong khi mysql -u root -pmypasswordđã làm.

Hóa ra tôi có một tệp thiết bị / dev / tty bị hỏng (rất có thể là sau khi nâng cấp udev), vì vậy mysql không thể sử dụng nó để đăng nhập tương tác.

Tôi đã xóa / dev / tty và tạo lại nó với mknod /dev/tty c 5 1chmod 666 /dev/tty. Điều đó đã giải quyết được vấn đề mysql và một số vấn đề khác nữa.


Điều này thực sự hoạt động! Bây giờ mọi người có thể thấy mật khẩu gốc trong bash_history. : / Làm thế nào bạn biết họ / dev / tty đã bị lộn xộn?
dùng3870315

2

Để dừng hoặc khởi động mysql trên hầu hết các hệ thống linux, những điều sau sẽ hoạt động:

/etc/init.d/mysqld stop

/etc/init.d/mysqld start

Các câu trả lời khác có vẻ tốt khi truy cập máy khách mysql từ dòng lệnh.

Chúc may mắn!


2
  1. bạn nên sử dụng mysqllệnh. Đó là một ứng dụng khách dòng lệnh cho mysql RDBMS và đi kèm với hầu hết các cài đặt mysql: http://dev.mysql.com/doc/refman/5.1/en/mysql.html

  2. Để dừng hoặc khởi động cơ sở dữ liệu mysql (hiếm khi bạn cần làm điều đó 'bằng tay'), thường sử dụng tập lệnh init thích hợp với stophoặc starttham số /etc/init.d/mysql stop. Tuy nhiên, điều này phụ thuộc vào bản phân phối linux của bạn. Một số bản phân phối mới khuyến khích service mysql startphong cách.

  3. Bạn đang đăng nhập bằng cách sử dụng trình mysqlbao sql.

  4. Lỗi xảy ra có thể do tham số '-p' kép. Bạn có thể cung cấp -ppasswordhoặc chỉ -pvà bạn sẽ được hỏi mật khẩu một cách tương tác. Cũng lưu ý rằng một số phiên bản có thể sử dụng người dùng mysql (không phải root) làm người dùng quản trị. Kiểm tra cấu hình sqlyog của bạn để có được các thông số kết nối đang hoạt động.


2

Vui lòng thử "sudo mysql -u root -p".


2

Trong Ubuntu, tất cả những gì tôi phải làm là chạy sudo mysqltrong thiết bị đầu cuối GNOME và thế là xong. Tôi có thể bắt đầu tạo cơ sở dữ liệu hoặc truy vấn dữ liệu trong bảng, v.v.


1

nếu bạn vẫn không có quyền truy cập vào db, 1. trong thông báo lỗi ur được đặt không có mật khẩu phải không? sau đó, đầu tiên hãy nhập tên người dùng mysqlpasswd sau đó nhập và sau đó cung cấp lại cho nó một loại mật khẩu theo yêu cầu và sau đó thử truy cập lại bằng mysql -p nếu bạn là root


1

nếu bạn đã đăng nhập bằng quyền root

mysql -u root

nhắc mật khẩu nếu không sẽ trả về lỗi


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.