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

Đặt lại mật khẩu gốc của máy chủ MySQL

Theo mặc định, MySQL Server sẽ được cài đặt với root superuser mà không cần mật khẩu. Bạn có thể kết nối với máy chủ MySQL dưới dạng root mà không yêu cầu mật khẩu hoặc bằng cách nhập mật khẩu trống. Tuy nhiên, nếu bạn đã đặt mật khẩu cho thư mục gốc và quên hoặc không thể gọi lại mật khẩu, thì bạn sẽ cần đặt lại mật khẩu gốc cho MySQL.

MySQL Reference Manual có các bước chi tiết về cách đặt lại mật khẩu cho người chủ như sau:

Quy trình trong Windows:

  1. Đăng nhập vào hệ thống Windows nơi MySQL đang chạy với tư cách Quản trị viên.
  2. Dừng máy chủ MySQL nếu nó đang chạy. Đối với máy chủ đang chạy dưới dạng dịch vụ Windows, hãy chuyển đến Trình quản lý dịch vụ:

    Menu Bắt đầu -> Bảng Điều khiển -> Công cụ Quản trị -> Dịch vụ

    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 dưới dạng 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.

  3. Tạo một tệp văn bản và đặt các lệnh sau trong mỗi tệp trên một dòng:
    UPDATE mysql.user SET Password=PASSWORD('MyNewPass') WHERE User='root';
    FLUSH PRIVILEGES;
    
    SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPassword');
    
    Save the file with any name. For this example the file will be C:\mysql-init.txt.
  4. Open a console window to get to the DOS command prompt: Start Menu -> Run -> cmd
  5. If MySQL is installed in C:\mysql. If MySQL is installed in another location, adjust the following commands accordingly. At the DOS command prompt, execute this command:
    C:\> C:\mysql\bin\mysqld-nt --init-file=C:\mysql-init.txt

    Nội dung của tệp được đặt tên theo tùy chọn --init-file được thực thi khi khởi động máy chủ, thay đổi mật khẩu gốc. Sau khi máy chủ khởi động thành công, bạn nên xóa C:\ mysql-init.txt.

    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 --defaults-file:

    C:\> "C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqld-nt.exe"
             --defaults-file="C:\Program Files\MySQL\MySQL Server 5.0\my.ini"
             --init-file=C:\mysql-init.txt

    Bạn có thể tìm cài đặt - tệp tin mặc định thích hợp bằng Trình quản lý dịch vụ:

    Menu Bắt đầu -> Bảng Điều khiển -> Công cụ Quản trị -> Dịch vụ

    Tìm dịch vụ MySQL trong danh sách, nhấp chuột phải vào dịch vụ đó và chọn tùy chọn Thuộc tính. Trường Đường dẫn đến tệp thực thi chứa cài đặt - tệp tin mặc định. Đảm bảo cung cấp đối số --init-file với đường dẫn hệ thống đầy đủ đến tệp, bất kể thư mục làm việc hiện tại của bạn là gì

  6. Dừng máy chủ MySQL, sau đó khởi động lại nó ở chế độ bình thường. Nếu máy chủ MySQL được chạy dưới dạng dịch vụ, hãy khởi động nó 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.
  7. Kết nối với máy chủ MySQL bằng mật khẩu mới. Ngoài ra, hãy nhớ xóa tệp mysql-init.txt khi hoàn tất.

Đối với môi trường Unix và Linux, quy trình đặt lại mật khẩu gốc như sau:

  1. Đăng nhập vào hệ thống Unix với tư cách là người dùng gốc Unix hoặc với tư cách là người dùng tương tự mà máy chủ mysqld chạy.
  2. Định vị tệp .pid có chứa ID quy trình của máy chủ. Vị trí và tên chính xác của tệp này phụ thuộc vào bản 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à / var / lib / mysql /, / var / run / mysqld / và / usr / local / mysql / data /. Nói chung, tên tệp có phần mở rộng là .pid và bắt đầu bằng mysqld hoặc tên máy chủ của hệ thống.

    Dừng máy chủ MySQL bằng cách gửi lệnh kill bình thường (không phải kill -9) tới quy trình mysqld, sử dụng tên đường dẫn của tệp .pid trong lệnh sau:

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

    Lưu ý việc sử dụng dấu gạch ngược thay vì chuyển tiếp dấu ngoặc kép với lệnh cat; những điều này khiến đầu ra của cat được thay thế thành lệnh kill.

  3. Tạo tệp văn bản và đặt lệnh sau trong tệp đó trên một dòng:
    UPDATE mysql.user SET Password=PASSWORD('MyNewPass') WHERE User='root';
    FLUSH PRIVILEGES;

    SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPassword');

    Lưu tệp với bất kỳ tên nào. Đối với ví dụ này, tệp sẽ là ~ / mysql-init.

  4. Khởi động lại máy chủ MySQL với tùy chọn --init-file =~ / mysql-init đặc biệt:
    shell> mysqld_safe --init-file=~/mysql-init &

    Nội dung của tệp init được thực thi khi khởi động máy chủ, thay đổi mật khẩu gốc. Sau khi máy chủ khởi động thành công, bạn nên xóa ~ / mysql-init.

  5. Khởi động lại máy chủ bình thường. Kết nối với máy chủ MySQL bằng mật khẩu mới.

Ngoài ra, trên bất kỳ nền tảng nào, ứng dụng khách mysql có thể được sử dụng để đặt mật khẩu mới, mặc dù cách đặt lại mật khẩu kém an toàn hơn (hướng dẫn chi tiết tại đây):

  1. Dừng mysqld và khởi động lại nó với các tùy chọn --skip-Grant -boards --user =root (người dùng Windows bỏ qua phần --user =root).
  2. Kết nối với máy chủ mysqld bằng lệnh sau:
    shell> mysql -u root
  3. Đưa ra các câu lệnh sau trong máy khách mysql:
    mysql> UPDATE mysql.user SET Password=PASSWORD('newpwd')
        ->                   WHERE User='root';
    mysql> FLUSH PRIVILEGES;

    Thay thế 'newpwd' bằng mật khẩu gốc thực tế mà bạn muốn sử dụng.

  4. Bạn có thể kết nối bằng mật khẩu mới.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Lỗi nghiêm trọng:Gọi đến một hàm thành viên bind_param () trên boolean

  2. MySQL so với MariaDB:những điều bạn cần biết

  3. Cách kiểm tra xem một bảng đã tồn tại chưa trước khi tạo nó trong MySQL

  4. Tắt đăng nhập gốc trong phpMyAdmin

  5. Truy vấn SQL để lấy giá trị cột tương ứng với giá trị MAX của cột khác?