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

Cách đặt lại mật khẩu gốc MySQL

MySQL là một trong những hệ quản trị cơ sở dữ liệu phổ biến nhất cho các ứng dụng web. MySQL có mật khẩu gốc hoặc mật khẩu cấp quản trị viên, giống như nhiều dịch vụ web. Mật khẩu gốc cho phép người dùng thực hiện bất kỳ chức năng cấp cao nhất nào trong cơ sở dữ liệu.

Trong khi thiết lập MySQL, bạn nên thiết lập mật khẩu gốc cho cơ sở dữ liệu của mình vì những lo ngại liên quan đến bảo mật. Tuy nhiên, điều này không có nghĩa là bạn không thể sử dụng MySQL mà không có mật khẩu gốc. Bạn phải suy nghĩ về nhiệm vụ trước mắt và quyết định có nên thiết lập mật khẩu gốc hay không.

Đặt lại mật khẩu gốc MySQL

Có rất nhiều câu hỏi được hỏi bởi người dùng MySQL về "Cách đặt lại mật khẩu gốc của MySQL." Nếu bạn đã thiết lập mật khẩu gốc nhưng không may bị mất dấu, thì bài viết này hướng dẫn bạn quá trình đặt lại mật khẩu gốc trên cả Linux và Windows.

Điều kiện tiên quyết

  • Cơ sở dữ liệu MySQL hiện có
  • Đặc quyền của quản trị viên trên PC lưu trữ cơ sở dữ liệu MySQL
  • Truy cập vào máy chủ Windows hoặc Linux chạy MySQL
  • Giao diện dòng lệnh hoặc quyền truy cập đầu cuối
  • Một trình soạn thảo văn bản. (Đừng lo lắng vì người dùng Windows đã cài đặt Notepad theo mặc định trên máy tính của họ trong khi người dùng Linux đã cài đặt sẵn vim).

Khi bạn có tất cả các điều kiện tiên quyết đã đề cập, hãy tiếp tục và tìm hiểu cách đặt lại hoặc thay đổi mật khẩu gốc MySQL.

Chúng tôi sẽ thực hiện quá trình này trên hai mặt:

  1. Cách đặt lại mật khẩu gốc MySQL trong Linux
  2. Cách đặt lại mật khẩu gốc MySQL trong Windows

1. Cách đặt lại mật khẩu gốc MySQL trong Linux

Bước 1:Đăng nhập vào MySQL

Khi khởi động vào hệ điều hành Linux của bạn, điều cần thiết là phải đăng nhập vào cùng một người dùng thường chạy MySQL. Điều này rất quan trọng để tránh các lỗi như tạo tệp do người dùng root sở hữu, điều này có thể gây ra thiệt hại cho hệ thống của bạn. Tuy nhiên, bạn cũng có thể đăng nhập với tư cách người dùng root sau khi khởi động máy chủ MySQL của mình. Để thực hiện việc này, hãy đảm bảo bạn khởi động MySQL bằng cú pháp bên dưới.

user=fosslinux

Bước 2:Tìm tệp .pid được dịch vụ MySQL sử dụng

Bước tiếp theo là định vị tệp .pid. Trong hầu hết các hệ thống Linux, chúng được lưu trữ ở vị trí này:

/var/lib/mysql or /var/run/mysqld/ or /usr/local/mysql/data/. 

Vì không phải tất cả các hệ thống Linux đều giống nhau, bạn có thể thử bất kỳ đường dẫn nào được đề cập ở trên và xem liệu bạn có thể định vị tệp hay không. Để nhanh chóng tìm thấy tệp, bạn có thể thu hẹp tìm kiếm của mình thành các tệp bắt đầu bằng mysqld (hoặc tên máy chủ của bạn) và kết thúc bằng .pid.

Lưu ý: Tìm kiếm tệp sẽ đơn giản hóa quá trình; do đó chúng tôi khuyên bạn nên dùng thử.

Sau khi bạn tìm thấy tệp, bây giờ hãy chuyển sang bước tiếp theo

Bước 3:Kết thúc quá trình mysqld / .pid

Trước khi đặt lại hoặc tạo mật khẩu gốc mới, trước tiên chúng ta phải dừng máy chủ MySQL. Điều này có thể được thực hiện bằng cách mở thiết bị đầu cuối và thực hiện dòng lệnh bên dưới:

kill `cat /mysql-data-directory/host_name.pid`

Lưu ý: Thay thế mysql-data-directory / host_name.pid với tên tệp mà chúng ta đã tìm thấy ở bước 2. Ngoài ra, điều quan trọng là chỉ định toàn bộ đường dẫn tệp để tránh gặp lỗi.

Mẹo bổ sung: Luôn đảm bảo rằng bạn sử dụng phím đánh dấu lùi thay vì phím dấu nháy đơn. Phím đánh dấu lùi nằm phía trên phím tab trên hầu hết các máy tính và trước một phím số.

Bước 4:Tạo tệp mật khẩu gốc mới

Bây giờ là lúc để mở trình soạn thảo văn bản yêu thích của bạn. Đối với trường hợp của chúng tôi, chúng tôi sẽ sử dụng trình soạn thảo văn bản Vim. Mở thiết bị đầu cuối bằng phím tắt CTRL + ALT + T, sau đó chạy lệnh bên dưới:

sudo vim mysql-init

Lưu ý:nếu bạn gặp lỗi sau khi chạy lệnh trên, hãy thực hiện lệnh này để tiếp tục các quá trình khác:

sudo apt install vim

Bây giờ hãy thêm dòng bên dưới vào tệp:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword';

Lưu ý: Khi nhập thủ công dòng ở trên vào terminal, hãy nhớ bao gồm tất cả các dấu chấm phẩy và dấu ngoặc kép. Ngoài ra, hãy thay thế “ Mật khẩu mới ”Với mật khẩu mới mà bạn muốn sử dụng. Cuối cùng, hãy đảm bảo bạn sử dụng mật khẩu mạnh và an toàn hoặc tham khảo tại đây để tìm hiểu cách tạo mật khẩu ngẫu nhiên mạnh trên Linux.

Lệnh trên sẽ chỉ hoạt động trên máy chủ bạn đang sử dụng khi chạy lệnh. Tuy nhiên, nếu bạn định kết nối với một hệ thống khác, bạn nên thay thế localhost bằng tên máy chủ có liên quan hoặc tương đối thích hợp để lệnh hoạt động. Nếu bạn không làm như vậy, bạn sẽ gặp phải lỗi.

Khi bạn đã thêm tệp mới vào trình soạn thảo văn bản của mình, hãy lưu tệp đó vào:

 home/mysql-init.

Bước 5:Khởi động lại máy chủ MySQL và áp dụng mật khẩu mới tạo

Đã đến lúc áp dụng những thay đổi mà chúng tôi đã thực hiện cho mật khẩu mới tạo của mình. Đầu tiên, chúng tôi sẽ khởi động lại máy chủ MySQL bằng cách thực hiện lệnh bên dưới trong thiết bị đầu cuối:

mysqld --init-file=/home/mysql-init &

Lệnh này sẽ khởi chạy MySQL và áp dụng mật khẩu tệp văn bản mà chúng ta đã tạo ở bước trước. Tùy thuộc vào phương pháp bạn sử dụng để khởi động máy chủ của mình, bạn có thể được yêu cầu thêm các tùy chọn khác như –defaults-file trước lệnh init.

Sau khi bạn áp dụng mật khẩu mới tạo và khởi động lại máy chủ MySQL, đã đến lúc dọn dẹp. Chúng tôi sẽ thực hiện việc này bằng cách đăng nhập vào máy chủ MySQL của bạn với tư cách là người dùng root và xác minh rằng mật khẩu chúng tôi tạo thực sự hoạt động. Sau khi bạn xác nhận rằng tệp hoạt động tốt, hãy tiếp tục và xóa tệp mà chúng tôi đã tạo ở bước 4 ở trên.

2. Cách đặt lại mật khẩu gốc MySQL trong Windows

Nếu bạn là người dùng Windows và muốn tìm hiểu cách đặt lại mật khẩu gốc MySQL của mình trên Windows, hãy đọc hết bài viết này.

Bước 1:Dừng máy chủ MySQL.

Trước khi dừng máy chủ MySQL, bạn phải kiểm tra để đảm bảo bạn đã đăng nhập với tư cách quản trị viên.

  • Nhấn các phím Win + R trên cửa sổ để khởi chạy hộp thoại Run, loại:
services.msc
  • Tiếp theo, nhấp vào OK.
  • Cuộn xuống qua danh sách các dịch vụ và tìm dịch vụ MySQL. Nhấp chuột phải vào nó và sau đó chọn tùy chọn Dừng như thể hiện trong hình ảnh bên dưới:

Bước 2:Mở trình soạn thảo văn bản yêu thích của bạn

Đối với mục đích minh họa, chúng tôi sẽ sử dụng trình soạn thảo văn bản Notepad mặc định. Tuy nhiên, đừng lo lắng nếu bạn có một trình soạn thảo văn bản khác vì các quy trình tương tự nhau.

  • Bây giờ hãy nhấp vào menu Bắt đầu và tìm kiếm Notepad. Nhấp vào nó để khởi chạy.

Ngoài ra, sử dụng đường dẫn này để tìm Notepad: trình đơn> Phụ kiện Windows> Notepad.

Bước 3:Tạo tệp văn bản Mật khẩu mới bằng lệnh mật khẩu

Sao chép và dán cú pháp bên dưới vào trình soạn thảo văn bản để tránh lỗi khi nhập thủ công:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword';

Giống như chúng tôi đã làm đối với Linux, hãy đảm bảo giữ lại dấu chấm phẩy và các dấu ngoặc kép và thay thế NewPassword cụm từ với mật khẩu mới mà bạn định sử dụng trên MySQL của mình.

Nhấp vào tùy chọn Tệp, sau đó Lưu Dưới dạng để lưu mật khẩu tệp văn bản vào thư mục gốc của ổ cứng của bạn. Lưu tệp dưới dạng mysql-init.txt.

Do đó, lệnh localhost chỉ có thể thực hiện thay đổi mật khẩu trên hệ thống của bạn. Do đó, nếu bạn có ý định thay đổi mật khẩu trên một hệ thống khác như qua mạng, thì hãy thay thế localhost bằng tên máy chủ thích hợp cho hệ thống khác.

Bước 4:Khởi chạy CMD (Command Prompt)

  • Nhấp vào các phím Ctrl + Shift + Esc trên bàn phím của bạn
  • Chọn menu tệp, sau đó Chạy tác vụ mới
  • Nhập cmd.exe và chọn hộp kiểm Chạy với tư cách quản trị viên
  • Nhấp vào OK để khởi chạy dấu nhắc lệnh với các đặc quyền của quản trị viên.

Bước 5:Khởi động lại MySQL Server và áp dụng tệp cấu hình mới

  • Sử dụng dấu nhắc lệnh, điều hướng đến thư mục MySQL:
cd C:\Program Files\MySQL\MySQL Server 8.0\bin
  • Tiếp theo, nhập lệnh sau:
mysqld --init-file=C:\\mysql-init.txt

Lưu ý: Bạn nên lưu ý rằng có hai dấu gạch chéo ngược trước mysql-init lời nhắc. Ngoài ra, nếu bạn sử dụng tên khác với tên mà chúng tôi đã sử dụng để minh họa ở bước 2 ở trên, thì bạn nên sử dụng tên đó ngay sau hai dấu gạch chéo ngược mà không có khoảng cách.

Sau khi hoàn tất, bây giờ bạn có thể đăng nhập vào MySQL của mình với tư cách là người dùng root bằng mật khẩu mới được tạo.

Đảm bảo bạn kiểm tra kỹ để chắc chắn rằng mật khẩu mới hoạt động hoàn hảo. Sau khi xác nhận, hãy tiếp tục và xóa tệp mysql-init.txt mà chúng tôi đã lưu trữ trong thư mục C:\.

Hướng dẫn chung để đặt lại mật khẩu gốc MySQL

Các phần trước đã cung cấp hướng dẫn chuyên sâu về cách đặt lại mật khẩu gốc MySQL cho Linux và Windows. Ngoài ra, khi sử dụng bất kỳ nền tảng nào, bạn có thể sử dụng máy khách MySQL để đặt lại mật khẩu. Tuy nhiên, điều quan trọng cần lưu ý là phương pháp này kém an toàn hơn so với các phương pháp trước đó.

Để sử dụng máy khách MySQL, hãy làm theo các bước được đánh dấu bên dưới:

1. Bước đầu tiên là dừng máy chủ MySQL. Sau khi dừng, hãy khởi động lại nó với tùy chọn bên dưới:

--skip-grant-tables

Tùy chọn này sẽ cho phép bất kỳ ai kết nối mà không cần mật khẩu nhưng sẽ có tất cả các đặc quyền và nó vô hiệu hóa các câu lệnh quản lý tài khoản, chẳng hạn như ALTER USER ĐẶT MẬT KHẨU.

Tùy chọn này được coi là không an toàn vì nếu máy chủ khởi động với –skip-Grant-table tùy chọn bỏ qua mạng được bật bằng cách tắt kết nối từ xa.

2. Bây giờ kết nối với máy chủ MySQL bằng cách chạy lệnh bên dưới:

mysql

Lưu ý: không yêu cầu mật khẩu khi khởi động lại máy chủ MySQL bằng ứng dụng khách MySQL vì máy chủ khởi động bằng –skip-Grant-table .

3. Bây giờ, trong máy khách MySQL, hãy chạy lệnh bên dưới để yêu cầu máy chủ tải lại các bảng cấp. Điều này sẽ cho phép các báo cáo quản lý tài khoản đã bị dừng trước đó hoạt động trở lại:

mysql> FLUSH PRIVILEGES;

Sau khi chạy lệnh, hãy chạy lệnh ALTER USER để thay đổi mật khẩu. Thay thế MyNewPass , với mật khẩu mới mà bạn định sử dụng.

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';

Lưu ý: Để thay đổi mật khẩu gốc cho một hệ thống khác, hãy đảm bảo thay đổi máy chủ cục bộ bằng tên máy chủ của hệ thống.

Bây giờ bạn có thể kết nối với máy chủ MySQL của mình với tư cách là người dùng root bằng mật khẩu chúng tôi đã tạo. Sau đó, dừng và khởi động lại máy chủ bình thường mà không có –skip-Grant-table tùy chọn và không bật biến bỏ qua mạng.

Đó là tất cả những gì bạn đã đặt lại thành công mật khẩu gốc MySQL của mình.

Kết luận

Nếu trước đó bạn đã chỉ định mật khẩu gốc cho MySQL nhưng quên mật khẩu đó, bạn có thể đặt lại mật khẩu đó bằng cách gán mật khẩu mới cho MySQL của mình, như được hiển thị trong bài viết này.

Lưu ý: MySQL không yêu cầu mật khẩu gốc để kết nối. Tuy nhiên, nhược điểm của việc không chỉ định mật khẩu gốc cho MySQL của bạn là nó không an toàn và bạn có thể mất các vật có giá trị của mình. Do đó, nếu bạn chưa bao giờ đặt mật khẩu gốc cho MySQL của mình, chúng tôi thực sự khuyên bạn nên làm theo các bước được đề cập ở trên để tạo một mật khẩu và bảo mật dữ liệu và thông tin của bạn.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nối chuỗi trong MySQL

  2. Di chuyển MySQL sang PostgreSQL trên AWS RDS, Phần 3

  3. Ví dụ về MICROSECOND () - MySQL

  4. Làm thế nào để khai báo một biến trong MySQL?

  5. MySQL cấp đặc quyền cho người dùng cho cơ sở dữ liệu