Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Cách thiết lập và đăng nhập với tư cách người dùng root trong MySQL

Tài khoản gốc là tài khoản siêu người dùng cung cấp nhiều đặc quyền trong toàn bộ cơ sở dữ liệu của MySQL. Theo mặc định, mật khẩu ban đầu cho tài khoản gốc là 'trống / trống', do đó cho phép bất kỳ ai truy cập vào máy chủ MySQL với tư cách là người chủ.

Lưu ý: Mật khẩu trống / trống nghĩa là không có mật khẩu; do đó bất kỳ ai cũng có thể đăng nhập miễn là các đặc quyền MySQL đã được cấp.

Để đăng nhập với tư cách người dùng root trong Linux:

  1. Chọn menu bắt đầu> Đăng xuất ở góc trên cùng bên phải. Điều này cho phép bạn đăng xuất khỏi tài khoản người dùng mà bạn đang sử dụng tại thời điểm này.
  2. Bây giờ bạn sẽ thấy một cửa sổ đăng nhập và đây là nơi bạn đăng nhập bằng tên người dùng “root” và mật khẩu bạn đã thiết lập cho người dùng root. Nếu có nhiều người dùng trong cửa sổ đăng nhập, hãy chọn những người khác và đăng nhập.

Nếu mật khẩu chưa được thiết lập hoặc bạn quên hoặc cần thay đổi mật khẩu MySQL của mình, dưới đây là hướng dẫn về cách thiết lập / khôi phục mật khẩu.

Cách thiết lập, thay đổi và khôi phục mật khẩu gốc MySQL

Có khả năng cao là bạn đã có MySQL đang chạy ở một nơi khác trong cơ sở dữ liệu của mình. Trong trường hợp này, có thể có lúc bạn phải thay đổi hoặc thiết lập mật khẩu người dùng gốc. Điều này có thể do bạn quên mật khẩu gốc hoặc đơn giản là bạn muốn tăng cường mật khẩu của mình.

Quá trình này được xử lý thông qua dòng lệnh và hoạt động với cài đặt MySQL hoặc MariaDB. Ngoài ra, miễn là bạn có quyền truy cập quản trị viên, bằng cách sử dụng cú pháp sudo hoặc su, bản phân phối Linux bạn đang sử dụng không quan trọng vì quy trình tương tự.

Xin lưu ý:đã có nhiều cuộc tấn công trong toàn cảnh CNTT, do đó yêu cầu mật khẩu rất mạnh, điều này tôi thực sự khuyên bạn nên sử dụng cho cơ sở dữ liệu của mình. Bạn có thể dùng thử trình tạo mật khẩu không có hệ thống, sau đó lưu mật khẩu thông qua sự hỗ trợ của trình quản lý mật khẩu.

Hãy tiếp tục.

Đặt mật khẩu lần đầu tiên

Thông thường, trong quá trình cài đặt MySQL, bạn được yêu cầu đặt mật khẩu ban đầu. Tuy nhiên, nếu điều này không được thực hiện trong khi cài đặt và thiết lập MySQL, trước tiên bạn sẽ phải thiết lập mật khẩu. Đây là cách thực hiện điều đó:

  1. Đầu tiên, hãy mở cửa sổ dòng lệnh.
  2. Sau khi khởi chạy thiết bị đầu cuối, hãy dán và thực hiện lệnh này:
mysqladmin -u root password Fosslinux

Fosslinux ở đâu là mật khẩu mà bạn sẽ sử dụng kể từ bây giờ, điều này có nghĩa là mỗi khi bạn đăng nhập vào MySQL bằng lệnh mysql -u root -p , bạn sẽ phải nhập mật khẩu mà chúng tôi vừa định cấu hình.

Lưu ý: Nếu bạn gặp phải lỗi sau: Quyền truy cập bị từ chối đối với người dùng ‘root’ @ ’localhost,’ cuộn xuống để tìm giải pháp được cung cấp trong bài viết này.

Ngoài ra, bạn có thể sử dụng phương pháp sau để thiết lập mật khẩu gốc lần đầu tiên. Sử dụng lệnh bên dưới:

mysql_secure_installation

Lệnh này sẽ đặt mật khẩu người dùng gốc và cho phép bạn loại bỏ những người dùng ẩn danh và cơ sở dữ liệu thử nghiệm. Ngoài ra, nó cũng sẽ không cho phép đăng nhập root từ xa. Điều này sẽ đảm bảo hơn nữa cho bạn về tính bảo mật cụ thể đối với cơ sở dữ liệu MySQL của bạn.

Sau khi thiết lập mật khẩu gốc MySQL lần đầu tiên, đã đến lúc tìm hiểu cách thay đổi nó.

Thay đổi mật khẩu người dùng gốc MySQL

Để thay đổi mật khẩu gốc MySQL, hãy làm theo các bước được đề cập ở đây:

  • Đầu tiên, hãy tạo một tệp mới bằng lệnh bên dưới:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Fosslinux$11';

Trong đó Fosslinux $ 11 là mật khẩu mới sẽ được sử dụng. Hãy nhớ đáp ứng chính sách mật khẩu hiện tại bằng cách kết hợp chữ hoa, chữ thường, số và ký tự đặc biệt.

Lưu tệp dưới dạng ~ / mysql-pwd

  • Tiếp theo, dừng MySQL daemon bằng lệnh sau:
sudo systemctl stop mysql
  • Bây giờ daemon đã dừng, hãy phát hành và thực thi lệnh sau trên thiết bị đầu cuối của bạn:
sudo mysqld -init-file=~/mysql-pwd
  • Ngay sau khi dấu nhắc lệnh hoàn tất việc thực thi lệnh trên, hãy tiếp tục và khởi động lại MySQL daemon bằng lệnh sau:
sudo systemctl start mysql
  • Tại thời điểm này, bạn sẽ có thể đăng nhập vào dấu nhắc lệnh MySQL bằng mật khẩu quản trị viên mới đặt bằng cách thực hiện lệnh bên dưới:
mysql -u root -p

Khi lời nhắc xuất hiện, hãy nhập mật khẩu quản trị viên mà bạn đã tạo và bạn sẽ sẵn sàng hoạt động.

Bây giờ chúng ta đã học được cách thay đổi mật khẩu gốc MySQL mới được tạo, đã đến lúc tìm hiểu cách khôi phục mật khẩu gốc MySQL bị quên hoặc bị mất.

Khôi phục mật khẩu MySQL của bạn

Giả sử bạn đã quên mật khẩu người dùng gốc MySQL của mình và bạn rất cần khôi phục mật khẩu đó. Tất cả những gì bạn cần làm là làm theo các bước được đề cập ở đây:

1. Dừng quá trình máy chủ MySQL bằng lệnh:

sudo service mysql stop

2. Khởi động máy chủ MySQL bằng lệnh sau:

sudo mysqld_safe --skip-grant-tables --skip-networking &

3. Kết nối với máy chủ MySQL với tư cách là người dùng gốc bằng lệnh:

mysql -u root

Bạn sẽ được yêu cầu phát hành các lệnh MySQL sau để bạn đặt lại mật khẩu gốc sau khi hoàn thành các bước được đề cập ở trên:

mysql> use mysql;

mysql> update user set authentication_string=password('NEWPASSWORD') where user='root';

mysql> flush privileges;

mysql> quit

Lưu ý:Xin đừng quên rằng MẬT KHẨU MỚI đề cập đến mật khẩu mới mà bạn sẽ sử dụng để đăng nhập với tư cách là người dùng root.

Khi bạn đã chạy xong tất cả các lệnh được đề cập ở trên, hãy tiếp tục và khởi động lại MySQL daemon bằng lệnh này:

sudo service mysql restart

Bây giờ, bạn có thể đăng nhập vào MySQL bằng mật khẩu mới đặt.

Đó là tất cả. Chúng tôi tin rằng bạn hiện có thể đặt, đặt lại và khôi phục mật khẩu gốc MySQL của mình.

Điểm chính cần lưu ý: Hãy nhớ đặt mật khẩu rất mạnh cho người dùng gốc MySQL. Một mật khẩu khó bẻ khóa. Điều này sẽ tăng cường bảo mật cho cơ sở dữ liệu của bạn. Như bạn đã biết, cơ sở dữ liệu chứa dữ liệu rất nhạy cảm, vì vậy điều cuối cùng bạn muốn là cho bất kỳ ai truy cập thông tin của bạn mà không có sự đồng ý của bạn. Bạn nên sử dụng mật khẩu dài và những mật khẩu không thể dễ dàng ghi nhớ và đoán được. Nếu bạn sử dụng trình tạo mật khẩu để tạo mật khẩu của mình, hãy nhớ lưu trữ mật khẩu đó trong kho mật khẩu.

Trong khi sử dụng MySQL, bạn có thể rất lúng túng nếu gặp thông báo lỗi. Ví dụ:hầu hết người dùng phàn nàn về việc gặp phải thông báo lỗi này: Quyền truy cập bị từ chối đối với người dùng root @ localhost. Điều này có thể không dễ chịu lắm, nhưng chúng tôi có một giải pháp cho bạn.

Cách giải quyết lỗi MySQL:Quyền truy cập bị từ chối đối với người dùng root @ localhost

Thông báo lỗi này thường xuất hiện đối với các cài đặt mới của MySQL khi bạn cố gắng kết nối với MySQL bằng người dùng gốc.

Dưới đây là cách nhanh chóng giải quyết quyền truy cập bị từ chối cho người dùng root trên localhost. Các bước đã nêu có thể được sử dụng cho cả MySQL và MariaDB. Bạn không phải sửa đổi bất kỳ bảng nào hoặc thực hiện bất kỳ cấu hình phức tạp nào.

Như chúng ta đã thấy trong bài viết này, khi bạn cài đặt MySQL và muốn có quyền truy cập vào nó trên máy cục bộ với người dùng root, bạn sử dụng lệnh sau:

mysql -u root -p

Trong hầu hết các trường hợp, bạn sẽ nhận được thông báo lỗi mà chúng tôi vừa đề cập:“ Quyền truy cập bị từ chối đối với người dùng root @ localhost.”

Để bạn đăng nhập vào MySQL bằng quyền root, trước tiên hãy sử dụng sudo để thực hiện các sửa đổi đối với người dùng root:

sudo mysql

Sau đó, nhập mật mã của bạn tại lời nhắc. Một trình bao MySQL sẽ tải.

Sử dụng lệnh ALTER USER và thay đổi phương thức xác thực để đăng nhập vào MySQL dưới dạng root:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'insert_password';

Ví dụ:

Vì lợi ích của hướng dẫn, tôi sẽ thay đổi mật khẩu thành ‘Fosslinux như được hiển thị trong dòng lệnh và đầu ra bên dưới:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Fosslinux';

Đầu ra

Dòng lệnh trên có chức năng gì, nó thay đổi mật khẩu cho người dùng gốc và đặt phương thức xác thực thành mysql_native_password . Đây là một phương thức xác thực truyền thống. Rất tiếc, trong hầu hết các trường hợp, lỗi ở trên xảy ra vì chế độ xác thực được sử dụng là auth_plugin không an toàn, do đó lỗi.

Lưu ý: Trong khi nhập mật khẩu mong muốn của bạn, hãy đảm bảo mật khẩu đó tuân theo các quy tắc do mật khẩu cung cấp, kết hợp giữa chữ hoa và chữ nhỏ cộng với chữ số nếu bạn định nhập một mật khẩu mạnh hơn.

Sau khi chạy các lệnh được liệt kê ở trên, hãy thoát MySQL shell bằng cách nhấp vào CTRL + D trên bàn phím của bạn hoặc gõ phím “thoát” trên MySQL shell và nhấp enter. Bạn không phải khởi động lại dịch vụ MySQL để đăng nhập bằng lệnh dưới đây:

sudo service mysql restart 

Tại thời điểm này, bây giờ bạn có thể thử truy cập lại MySQL bằng root. Trong thiết bị đầu cuối, nhập:

mysql -u root -p

Nhập mật mã bạn đã sử dụng với lệnh ALTER USER và không nhập mật khẩu hệ thống để thử truy cập MySQL vì nó sẽ không hoạt động. Bây giờ bạn sẽ thấy thông báo chào mừng MySQL nếu mọi việc diễn ra tốt đẹp.

Xin lưu ý:Lệnh ALTER USER có thể không hoạt động đối với các phiên bản MySQL và MariaDB cũ hơn 5.7.6 và 10.1.20 tương ứng.

Tóm lại, bây giờ bạn có thể vượt qua MySQL ERROR 1698 (28000):Quyền truy cập bị từ chối đối với người dùng ‘root’ @ ’localhost’. Có nhiều cách khác nhau để vượt qua lỗi này, nhưng chúng tôi đã sử dụng phương pháp đơn giản và nhanh hơn nhiều. Đảm bảo rằng bạn nhập các lệnh như được liệt kê trong bài viết này để tránh lỗi cú pháp SQL. Tốt hơn là nên sao chép và dán chúng.

Kết luận

Bài viết này giải thích và phân tích tất cả các chủ đề liên quan đến đăng nhập của người dùng root trong MySQL. Nó không chỉ chỉ cho bạn cách đăng nhập với tư cách người dùng root trong MySQL mà còn cho bạn thấy cách đảm bảo bạn làm như vậy mà không gặp phải bất kỳ lỗi nào và cách bỏ qua lỗi phổ biến nhất trong trường hợp nó xảy ra.

Bài viết chia nhỏ thêm các bước để thiết lập, thay đổi và khôi phục mật khẩu gốc MySQL và thiết lập mật khẩu gốc lần đầu tiên. Đảm bảo tuân thủ tất cả các quy trình được cung cấp trong bài viết này để tránh vi phạm bảo mật bằng cách sử dụng kết hợp mật khẩu mạnh. Chúng tôi hy vọng bài viết sẽ hữu ích. Nếu có, hãy đồng ý qua phần nhận xét.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ví dụ về PERIOD_ADD () - MySQL

  2. Sự khác biệt giữa MySQL và SQL là gì?

  3. Phân vùng bảng dữ liệu bóng đá hàng tỷ hàng sử dụng ngữ cảnh dữ liệu

  4. Nhiều thứ hạng trong một bảng

  5. Hàm MySQL COS () - Trả về Cosine của một số trong MySQL