Hướng dẫn mysql skip-grant-tables reset root password - mysql bỏ qua cấp bảng đặt lại mật khẩu gốc

B.3.3.2 & nbsp; Cách đặt lại mật khẩu gốc

Nếu bạn chưa bao giờ gán mật khẩu root cho MySQL, máy chủ hoàn toàn không yêu cầu mật khẩu để kết nối là root. Tuy nhiên, điều này là không an toàn. Để biết hướng dẫn về việc gán mật khẩu, xem Phần & NBSP; 2.10.4, Bảo mật tài khoản MySQL ban đầu.

Nếu bạn biết mật khẩu root và muốn thay đổi nó, hãy xem Phần & NBSP; 13.7.1.1, Tuyên bố người dùng thay đổi, và Phần & NBSP; 13.7.1.10

Nếu bạn đã chỉ định mật khẩu root trước đây nhưng đã quên nó, bạn có thể gán một mật khẩu mới. Các phần sau đây cung cấp các hướng dẫn cho các hệ thống Windows và UNIX và UNIX, cũng như các hướng dẫn chung áp dụng cho bất kỳ hệ thống nào.

B.3.3.2.1 & nbsp; Đặt lại mật khẩu gốc: Hệ thống Windows

Trên Windows, sử dụng quy trình sau để đặt lại mật khẩu cho tài khoản MySQL

C:\> cd "C:\Program Files\MySQL\MySQL Server 8.0\bin"
C:\> mysqld --init-file=C:\\mysql-init.txt
3. Để thay đổi mật khẩu cho tài khoản root với phần tên máy chủ khác, hãy sửa đổi các hướng dẫn để sử dụng tên máy chủ đó.

  1. Đăng nhập vào hệ thống của bạn với tư cách là quản trị viên.

  2. Dừng máy chủ MySQL nếu nó đang chạy. Đối với một máy chủ đang chạy như một dịch vụ Windows, hãy truy cập Trình quản lý dịch vụ: Từ menu, chọn, sau đó,. Tìm dịch vụ MySQL trong danh sách và dừng nó.

    Nếu máy chủ của bạn không chạy như một dịch vụ, bạn có thể cần sử dụng trình quản lý tác vụ để buộc nó dừng lại.

  3. Tạo một tệp văn bản chứa câu lệnh Ghi nhận mật khẩu trên một dòng. Thay thế mật khẩu bằng mật khẩu mà bạn muốn sử dụng.

    ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
  4. Lưu các tập tin. Ví dụ này giả định rằng bạn đặt tên cho tệp

    C:\> cd "C:\Program Files\MySQL\MySQL Server 8.0\bin"
    C:\> mysqld --init-file=C:\\mysql-init.txt
    5.

  5. Mở cửa sổ Bảng điều khiển để đến dấu nhắc lệnh: Từ menu, chọn, sau đó nhập CMD làm lệnh sẽ được chạy.cmd as the command to be run.

  6. Bắt đầu máy chủ MySQL với biến hệ thống

    C:\> cd "C:\Program Files\MySQL\MySQL Server 8.0\bin"
    C:\> mysqld --init-file=C:\\mysql-init.txt
    6 được đặt để đặt tên cho tệp (lưu ý rằng dấu gạch chéo ngược trong giá trị tùy chọn được nhân đôi):

    C:\> cd "C:\Program Files\MySQL\MySQL Server 8.0\bin"
    C:\> mysqld --init-file=C:\\mysql-init.txt

    Nếu bạn đã cài đặt MySQL đến một vị trí khác, hãy điều chỉnh lệnh CD cho phù hợp.cd command accordingly.

    Máy chủ thực thi nội dung của tệp được đặt tên bởi biến hệ thống

    C:\> cd "C:\Program Files\MySQL\MySQL Server 8.0\bin"
    C:\> mysqld --init-file=C:\\mysql-init.txt
    6 khi khởi động, thay đổi mật khẩu tài khoản
    C:\> cd "C:\Program Files\MySQL\MySQL Server 8.0\bin"
    C:\> mysqld --init-file=C:\\mysql-init.txt
    3.

    Để có đầu ra máy chủ xuất hiện trong cửa sổ Bảng điều khiển thay vì trong tệp nhật ký, hãy thêm tùy chọn

    C:\> cd "C:\Program Files\MySQL\MySQL Server 8.0\bin"
    C:\> mysqld --init-file=C:\\mysql-init.txt
    9 vào lệnh MySQLD.mysqld command.

    Nếu bạn đã cài đặt MySQL bằng Trình hướng dẫn cài đặt MySQL, bạn có thể cần chỉ định tùy chọn

    C:\> mysqld
             --defaults-file="C:\\ProgramData\\MySQL\\MySQL Server 8.0\\my.ini"
             --init-file=C:\\mysql-init.txt
    0. Ví dụ:

    C:\> mysqld
             --defaults-file="C:\\ProgramData\\MySQL\\MySQL Server 8.0\\my.ini"
             --init-file=C:\\mysql-init.txt

    Cài đặt

    C:\> mysqld
             --defaults-file="C:\\ProgramData\\MySQL\\MySQL Server 8.0\\my.ini"
             --init-file=C:\\mysql-init.txt
    0 thích hợp có thể được tìm thấy bằng cách sử dụng Trình quản lý dịch vụ: từ menu, sau đó, chọn, sau đó. Tìm dịch vụ MySQL trong danh sách, nhấp chuột phải vào và chọn tùy chọn
    C:\> mysqld
             --defaults-file="C:\\ProgramData\\MySQL\\MySQL Server 8.0\\my.ini"
             --init-file=C:\\mysql-init.txt
    2. Trường
    C:\> mysqld
             --defaults-file="C:\\ProgramData\\MySQL\\MySQL Server 8.0\\my.ini"
             --init-file=C:\\mysql-init.txt
    3 chứa cài đặt
    C:\> mysqld
             --defaults-file="C:\\ProgramData\\MySQL\\MySQL Server 8.0\\my.ini"
             --init-file=C:\\mysql-init.txt
    0.

  7. Sau khi máy chủ bắt đầu thành công, xóa

    C:\> cd "C:\Program Files\MySQL\MySQL Server 8.0\bin"
    C:\> mysqld --init-file=C:\\mysql-init.txt
    5.

Bây giờ bạn sẽ có thể kết nối với máy chủ MySQL dưới dạng root bằng cách sử dụng mật khẩu mới. Dừng máy chủ MySQL và khởi động lại bình thường. Nếu bạn chạy máy chủ dưới dạng dịch vụ, hãy khởi động từ cửa sổ Windows Services. Nếu bạn khởi động máy chủ theo cách thủ công, hãy sử dụng bất kỳ lệnh nào bạn thường sử dụng.

B.3.3.2.2 & nbsp; Đặt lại mật khẩu gốc: Hệ thống UNIX và UNIX giống như

Trên Unix, sử dụng quy trình sau để đặt lại mật khẩu cho tài khoản MySQL

C:\> cd "C:\Program Files\MySQL\MySQL Server 8.0\bin"
C:\> mysqld --init-file=C:\\mysql-init.txt
3. Để thay đổi mật khẩu cho tài khoản root với phần tên máy chủ khác, hãy sửa đổi các hướng dẫn để sử dụng tên máy chủ đó.

Các hướng dẫn giả định rằng bạn khởi động máy chủ MySQL từ tài khoản đăng nhập UNIX mà bạn thường sử dụng để chạy nó. Ví dụ: nếu bạn chạy máy chủ bằng tài khoản đăng nhập

C:\> mysqld
         --defaults-file="C:\\ProgramData\\MySQL\\MySQL Server 8.0\\my.ini"
         --init-file=C:\\mysql-init.txt
9, bạn nên đăng nhập dưới dạng
C:\> mysqld
         --defaults-file="C:\\ProgramData\\MySQL\\MySQL Server 8.0\\my.ini"
         --init-file=C:\\mysql-init.txt
9 trước khi sử dụng các hướng dẫn. Ngoài ra, bạn có thể đăng nhập dưới dạng root, nhưng trong trường hợp này, bạn phải bắt đầu MySQLD với tùy chọn
$> kill `cat /mysql-data-directory/host_name.pid`
2. Nếu bạn khởi động máy chủ dưới dạng root mà không sử dụng
$> kill `cat /mysql-data-directory/host_name.pid`
2, máy chủ có thể tạo các tệp thuộc sở hữu ____ 9 trong thư mục dữ liệu, chẳng hạn như tệp nhật ký và chúng có thể gây ra sự cố liên quan đến quyền cho các khởi động máy chủ trong tương lai. Nếu điều đó xảy ra, bạn phải thay đổi quyền sở hữu của các tệp thành
C:\> mysqld
         --defaults-file="C:\\ProgramData\\MySQL\\MySQL Server 8.0\\my.ini"
         --init-file=C:\\mysql-init.txt
9 hoặc xóa chúng.must start mysqld with the
$> kill `cat /mysql-data-directory/host_name.pid`
2 option. If you start the server as root without using
$> kill `cat /mysql-data-directory/host_name.pid`
2, the server may create root-owned files in the data directory, such as log files, and these may cause permission-related problems for future server startups. If that happens, you must either change the ownership of the files to
C:\> mysqld
         --defaults-file="C:\\ProgramData\\MySQL\\MySQL Server 8.0\\my.ini"
         --init-file=C:\\mysql-init.txt
9 or remove them.

  1. Đăng nhập vào hệ thống của bạn với tư cách là người dùng Unix mà máy chủ MySQL chạy như (ví dụ:

    C:\> mysqld
             --defaults-file="C:\\ProgramData\\MySQL\\MySQL Server 8.0\\my.ini"
             --init-file=C:\\mysql-init.txt
    9).

  2. Dừng máy chủ MySQL nếu nó đang chạy. Xác định vị trí tệp

    $> kill `cat /mysql-data-directory/host_name.pid`
    8 chứa ID quy trình của máy chủ. Vị trí chính xác và tên của tệp này phụ thuộc vào phân phối, tên máy chủ và cấu hình của bạn. Các vị trí phổ biến là
    $> kill `cat /mysql-data-directory/host_name.pid`
    9,
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
    0 và
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
    1. Nói chung, tên tệp có phần mở rộng
    $> kill `cat /mysql-data-directory/host_name.pid`
    8 và bắt đầu bằng
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
    3 hoặc tên máy chủ của hệ thống của bạn.

    Dừng máy chủ MySQL bằng cách gửi

    ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
    4 bình thường (không phải
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
    5) đến quy trình MySQLD. Sử dụng tên đường dẫn thực tế của tệp
    $> kill `cat /mysql-data-directory/host_name.pid`
    8 trong lệnh sau:mysqld process. Use the actual path name of the
    $> kill `cat /mysql-data-directory/host_name.pid`
    8 file in the following command:

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

    Sử dụng Backticks (không phải dấu ngoặc kép) với lệnh

    ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
    7. Những điều này khiến đầu ra của
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
    7 được thay thế vào lệnh
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
    4.

  3. Tạo một tệp văn bản chứa câu lệnh Ghi nhận mật khẩu trên một dòng. Thay thế mật khẩu bằng mật khẩu mà bạn muốn sử dụng.

    ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
  4. Lưu các tập tin. Ví dụ này giả định rằng bạn đặt tên cho tệp

    $> mysqld --init-file=/home/me/mysql-init &
    0. Tệp chứa mật khẩu, vì vậy không lưu nó ở nơi có thể đọc bởi những người dùng khác. Nếu bạn không đăng nhập dưới dạng
    C:\> mysqld
             --defaults-file="C:\\ProgramData\\MySQL\\MySQL Server 8.0\\my.ini"
             --init-file=C:\\mysql-init.txt
    9 (người dùng mà máy chủ chạy như), hãy đảm bảo rằng tệp có quyền cho phép
    C:\> mysqld
             --defaults-file="C:\\ProgramData\\MySQL\\MySQL Server 8.0\\my.ini"
             --init-file=C:\\mysql-init.txt
    9 đọc nó.

  5. Bắt đầu máy chủ MySQL với biến hệ thống

    C:\> cd "C:\Program Files\MySQL\MySQL Server 8.0\bin"
    C:\> mysqld --init-file=C:\\mysql-init.txt
    6 được đặt để đặt tên cho tệp:

    $> mysqld --init-file=/home/me/mysql-init &

    Máy chủ thực thi nội dung của tệp được đặt tên bởi biến hệ thống

    C:\> cd "C:\Program Files\MySQL\MySQL Server 8.0\bin"
    C:\> mysqld --init-file=C:\\mysql-init.txt
    6 khi khởi động, thay đổi mật khẩu tài khoản
    C:\> cd "C:\Program Files\MySQL\MySQL Server 8.0\bin"
    C:\> mysqld --init-file=C:\\mysql-init.txt
    3.

    Các tùy chọn khác cũng có thể cần thiết, tùy thuộc vào cách bạn thường khởi động máy chủ của mình. Ví dụ:

    C:\> mysqld
             --defaults-file="C:\\ProgramData\\MySQL\\MySQL Server 8.0\\my.ini"
             --init-file=C:\\mysql-init.txt
    0 có thể cần thiết trước đối số
    C:\> cd "C:\Program Files\MySQL\MySQL Server 8.0\bin"
    C:\> mysqld --init-file=C:\\mysql-init.txt
    6.

  6. Sau khi máy chủ bắt đầu thành công, xóa

    $> mysqld --init-file=/home/me/mysql-init &
    0.

Bây giờ bạn sẽ có thể kết nối với máy chủ MySQL dưới dạng root bằng cách sử dụng mật khẩu mới. Dừng máy chủ và khởi động lại bình thường.

B.3.3.2.3 & nbsp; Đặt lại mật khẩu gốc: Hướng dẫn chung

Các phần trước cung cấp các hướng dẫn khởi động mật khẩu dành riêng cho các hệ thống Windows và UNIX và UNIX. Ngoài ra, trên bất kỳ nền tảng nào, bạn có thể đặt lại mật khẩu bằng máy khách MySQL (nhưng cách tiếp cận này kém an toàn):mysql client (but this approach is less secure):

  1. Dừng máy chủ MySQL nếu cần thiết, sau đó khởi động lại với tùy chọn

    $> mysql
    0. Điều này cho phép bất kỳ ai kết nối mà không cần mật khẩu và với tất cả các đặc quyền và vô hiệu hóa các câu lệnh quản lý tài khoản như
    $> mysql
    1 và
    $> mysql
    2. Vì điều này là không an toàn, nếu máy chủ được bắt đầu với tùy chọn
    $> mysql
    0, nó cũng vô hiệu hóa các kết nối từ xa bằng cách bật
    $> mysql
    4.

  2. Kết nối với máy chủ MySQL bằng máy khách MySQL; Không cần mật khẩu vì máy chủ đã được bắt đầu với

    $> mysql
    0:mysql client; no password is necessary because the server was started with
    $> mysql
    0:

    $> mysql
  3. Trong máy khách

    C:\> mysqld
             --defaults-file="C:\\ProgramData\\MySQL\\MySQL Server 8.0\\my.ini"
             --init-file=C:\\mysql-init.txt
    9, hãy nói với máy chủ tải lại các bảng cấp để các báo cáo quản lý tài khoản hoạt động:

    mysql> FLUSH PRIVILEGES;

    Sau đó thay đổi mật khẩu tài khoản

    C:\> cd "C:\Program Files\MySQL\MySQL Server 8.0\bin"
    C:\> mysqld --init-file=C:\\mysql-init.txt
    3. Thay thế mật khẩu bằng mật khẩu mà bạn muốn sử dụng. Để thay đổi mật khẩu cho tài khoản root với phần tên máy chủ khác, hãy sửa đổi các hướng dẫn để sử dụng tên máy chủ đó.

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

Bây giờ bạn sẽ có thể kết nối với máy chủ MySQL dưới dạng root bằng cách sử dụng mật khẩu mới. Dừng máy chủ và khởi động lại bình thường (không có tùy chọn

$> mysql
0 và không bật biến hệ thống
$> mysql
4).

Làm cách nào để thay đổi mật khẩu gốc mysql mà không cần mật khẩu hiện tại?

Cách đặt lại hoặc thay đổi mật khẩu gốc MySQL trên Linux hoặc Windows..
Bước 1: Đăng nhập với tư cách là người dùng MySQL ..
Bước 2: Tìm tệp .pid cho dịch vụ MySQL ..
Bước 3: Giết quy trình MySQLD ..
Bước 4: Tạo tệp mật khẩu ..
Bước 5: Khởi động lại máy chủ MySQL và áp dụng mật khẩu mới ..
Bước 6: Dọn dẹp ..

Chúng ta có thể kết nối với mysql dưới dạng root mà không cần mật khẩu không?

Nếu tài khoản gốc có mật khẩu trống, cài đặt MySQL của bạn không được bảo vệ: Bất kỳ ai cũng có thể kết nối với máy chủ MySQL dưới dạng gốc mà không có mật khẩu và được cấp tất cả các đặc quyền.Tài khoản 'root'@'localhost' cũng có một hàng trong MySQL.Anyone can connect to the MySQL server as root without a password and be granted all privileges. The 'root'@'localhost' account also has a row in the mysql.

MySQL có thể tìm thấy mật khẩu gốc không?

Cách truy xuất mật khẩu gốc MySQL..
Đăng nhập dưới dạng root vào máy chủ của bạn thông qua SSH (ví dụ: putty/terminal/bash).Ngoài ra, chạy các lệnh theo sau SU hoặc sudo với tư cách là người dùng gốc.....
Điều hướng đến /etc /mysql /cd /etc /mysql ..
Xem tệp của tôi.CNF bằng cách sử dụng lệnh CAT hoặc sử dụng bất kỳ phần mềm chỉnh sửa văn bản nào (VI/VIM/Nano) ..

Mật khẩu gốc mặc định cho MySQL là gì?

Người dùng mặc định cho MySQL là root và theo mặc định, nó không có mật khẩu.Nếu bạn đặt mật khẩu cho MySQL và bạn không thể nhớ lại, bạn luôn có thể đặt lại và chọn một mật khẩu khác.no password. If you set a password for MySQL and you can't recall it, you can always reset it and choose another one.