Một ngày đẹp trời bạn vô tình quên mật khẩu của MySQL hay MariaDB của máy chủ Linux thì cũng đừng quá lo lắng nếu bạn vẫn có thể truy cập máy chủ với quyền quản trị cao nhất [root]. Mình sẽ hướng dẫn các bạn reset lại mật khẩu của MySQL hoặc MariaDB
Để khôi phục lại mật khẩu quản lý MySQL/MariaDB, bạn cần truy cập máy chủ với quyền quản trị root
Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 115633 Server version: 10.0.35-MariaDB MariaDB Server Copyright [c] 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [[none]]>4
Bước 1. Kiểm tra lại phiên bản của MySQL hoặc MariaDB
Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 115633 Server version: 10.0.35-MariaDB MariaDB Server Copyright [c] 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [[none]]>5
Quảng cáo
If is MySQL results will be
mysql Ver 15.1 Distrib 10.0.35, for Linux [x86_64] using readline 5.1
If is MariaDB results will be
mysql Ver 15.1 Distrib 10.0.35-MariaDB, for Linux [x86_64] using readline 5.1
Bước 2. Tắt máy chủ cơ sở dữ liệu [Database Server]
Nếu là MySQL
Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 115633 Server version: 10.0.35-MariaDB MariaDB Server Copyright [c] 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [[none]]>6
Nếu là MariaDB
Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 115633 Server version: 10.0.35-MariaDB MariaDB Server Copyright [c] 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [[none]]>7
Lưu ý bạn phải tắt Database Server thì mới khôi phục lại mật khẩu đã được khôi phục
Bước 3. Khởi động lại máy chủ cơ sở dữ liệu mà không kiểm tra quyền
Truyền lệnh
Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 115633 Server version: 10.0.35-MariaDB MariaDB Server Copyright [c] 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [[none]]>8
Khi bạn khởi động lại máy chủ MySQL / MariaDB mà không tải xuống các bảng cấp có chứa các thông tin về quyền người dùng [đặc quyền của người dùng] thì mặc nhiên nó sẽ cho bạn truy cập dòng lệnh cơ sở dữ liệu với quyền cao nhất mà không cần mật khẩu. Do that has option –skip-grant-tables. Tuy nhiên, khi thực hiện khá nguy hiểm nếu ai đó vô tình kết nối với máy chủ cơ sở dữ liệu vì thế bạn cần thêm tùy chọn –skip-networking vào câu lệnh trên lệnh
Tiếp tục chạy lệnh bên dưới, nó sẽ bỏ qua câu hỏi mật khẩu.
______29
Dòng lệnh của MySQL sẽ hiện ra
Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 115633 Server version: 10.0.35-MariaDB MariaDB Server Copyright [c] 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [[none]]>
Bước 4. Đổi mật khẩu
Các đơn giản nhất để đổi mật khẩu MySQL là sử dụng câu lệnh ALTER USER tuy nhiên, hiện tại câu lệnh sẽ không được sử dụng do bảng cấp không được tải lên. Để tải lại bảng cấp, các bạn sử dụng câu lệnh
mysql Ver 15.1 Distrib 10.0.35-MariaDB, for Linux [x86_64] using readline 5.10
Với phiên bản MySQL 5. 7. 6 trở lên hoặc MariaDB phiên bản 10. 1. 20 trở lên ta sử dụng lệnh sau để đổi mật khẩu
mysql Ver 15.1 Distrib 10.0.35-MariaDB, for Linux [x86_64] using readline 5.11
Với phiên bản MySQL 5. 7. 5 return or MariaDB version 10. 1. 20 back down the command after
mysql Ver 15.1 Distrib 10.0.35-MariaDB, for Linux [x86_64] using readline 5.12
Chỗ ‘mat_khau_cua_ban’ các bạn thay bằng mật khẩu mà các bạn muốn nhé
Lưu ý. Nếu lệnh ALTER USER không hoạt động, bạn có thể thử lệnh UPDATE… SET
mysql Ver 15.1 Distrib 10.0.35-MariaDB, for Linux [x86_64] using readline 5.13
Nhớ đến bước này phải tải lại bảng cấp
mysql Ver 15.1 Distrib 10.0.35-MariaDB, for Linux [x86_64] using readline 5.10
Trong cả 2 trường hợp nếu bạn thấy kết quả bên dưới là thành công
________số 8Bước 5. Khởi động lại Database Server
Đầu tiên bạn phải tắt hoàn toàn máy chủ cơ sở dữ liệu mà bạn đã khởi động thủ công ở bước 3. Lệnh bên dưới sẽ tìm kiếm PID của tiến trình MySQL\MariaDB để gửi lệnh cho các tiến trình thoát ra một cách trơn tru
Đầu tiên bạn cần phải xác định hệ thống của bạn đang sử dụng là MySQL hay MariaDB. Bằng cách sử dụng câu lệnh
mysql --version
Với MySQL. Kết quả sẽ trông gần giống như
mysql Ver 15.1 Distrib 10.0.35-MariaDB, for Linux [x86_64] using readline 5.10
Còn với MariaDB
mysql Ver 15.1 Distrib 10.0.35-MariaDB, for Linux [x86_64] using readline 5.11
Bước 1. Tiến hành liên tục dịch vụ MySQL [MariaDB] bằng câu lệnh
Với MySQL
mysql Ver 15.1 Distrib 10.0.35-MariaDB, for Linux [x86_64] using readline 5.12
With MariaDB
mysql Ver 15.1 Distrib 10.0.35-MariaDB, for Linux [x86_64] using readline 5.13
Kiểm tra nếu không báo lỗi gì thì dịch vụ đã bị chặn thành công
Bước 2. Khởi động lại Database Server mà bỏ qua kiểm tra quyền hạn bằng câu lệnh
mysql Ver 15.1 Distrib 10.0.35-MariaDB, for Linux [x86_64] using readline 5.14
Bước 3. Đăng nhập vào user root của MySQL. Khi đó sẽ không yêu cầu Mật khẩu
mysql Ver 15.1 Distrib 10.0.35-MariaDB, for Linux [x86_64] using readline 5.15
load back table by command
mysql Ver 15.1 Distrib 10.0.35-MariaDB, for Linux [x86_64] using readline 5.16
Đặt lại Mật khẩu cho người dùng root
With MySQL version 5. 7. 6 và mới hơn hoặc MariaDB 10. 1. 20 and new better
mysql Ver 15.1 Distrib 10.0.35-MariaDB, for Linux [x86_64] using readline 5.17
With other version of the old version
mysql Ver 15.1 Distrib 10.0.35-MariaDB, for Linux [x86_64] using readline 5.18
Nếu thấy thông báo Truy vấn OK, 0 hàng bị ảnh hưởng [0. 00 giây] là thành công
Cuối cùng gõ lệnh để thoát khỏi MySQL
Bước 4. Khởi động lại MySQL [MariaDB] bình thường
Kill process
Với MySQL
mysql Ver 15.1 Distrib 10.0.35-MariaDB, for Linux [x86_64] using readline 5.100
With MariaDB
mysql Ver 15.1 Distrib 10.0.35-MariaDB, for Linux [x86_64] using readline 5.101
Nếu gặp lỗi ở bước này, bạn chỉ cần khởi động lại máy chủ là được
Khởi động lại dịch vụ
Với MySQL
mysql Ver 15.1 Distrib 10.0.35-MariaDB, for Linux [x86_64] using readline 5.102
With MariaDB
mysql Ver 15.1 Distrib 10.0.35-MariaDB, for Linux [x86_64] using readline 5.103
Bước 5. Kiểm tra lại mật khẩu mới bằng câu lệnh
mysql Ver 15.1 Distrib 10.0.35-MariaDB, for Linux [x86_64] using readline 5.104
Sau đó nhập Mật khẩu mới vừa đặt, thành công là được