Trong quá trình sử dụng VPS không thể tránh khỏi việc tự nhiên quên mật khẩu root của MySQL. Vậy có khôi phục được không?
Mật khẩu MySQL thì có các bạn nhé. Bài này Z.com sẽ hướng dẫn cách khôi phục mật khẩu của user root trong MySQL trên Linux nhé.
Tuy nhiên cần lưu ý: Bạn phải đăng nhập quyền root mới có thể thực hiện khôi phục mật khẩu MySQL được:
MySQL là một hệ quản trị cơ sở dữ liệu mã nguồn mở, thường được cài đặt như một phần của LAMP [Linux, Apache, MySQL, PHP/Python/Perl] stack phổ biến. Nó triển khai mô hình quan hệ và sử dụng ngôn ngữ truy vấn có cấu trúc [hay còn gọi là SQL - Structured Query Language] để quản lý dữ liệu.
Trong bài viết này, Quantrimang sẽ hướng dẫn cách cài đặt MySQL phiên bản 8.0 trên máy chủ Ubuntu 20.04. Bằng cách hoàn thành nó, bạn sẽ có một cơ sở dữ liệu quan hệ đang hoạt động, có thể sử dụng để xây dựng trang web hoặc ứng dụng tiếp theo của mình.
Điều kiện tiên quyết
Để làm theo hướng dẫn này, bạn sẽ cần một máy chủ Ubuntu 20.04 với người dùng admin không phải root và tường lửa được cấu hình bằng UFW.
Cách cài đặt MySQL trên Ubuntu 20.04
Bước 1 - Cài đặt MySQL
Trên Ubuntu 20.04, bạn có thể cài đặt MySQL bằng cách sử dụng kho lưu trữ gói APT. Tại thời điểm viết bài này, phiên bản MySQL có sẵn trong kho lưu trữ Ubuntu mặc định là phiên bản 8.0.19.
Để cài đặt nó, hãy cập nhật chỉ mục gói trên máy chủ, nếu gần đây bạn chưa làm như vậy:
sudo apt update
Sau đó cài đặt gói mysql-server:
sudo apt install mysql-server
Thao tác này sẽ cài đặt MySQL, nhưng sẽ không nhắc bạn đặt mật khẩu hoặc thực hiện bất kỳ thay đổi cấu hình nào khác. Vì điều này khiến quá trình cài đặt MySQL của bạn không bao mật, nên bài viết sẽ giải quyết vấn đề này tiếp theo.
Bước 2 - Cấu hình MySQL
Đối với các bản cài đặt mới của MySQL, bạn sẽ muốn chạy script bảo mật đi kèm của DBMS. Script này thay đổi một số tùy chọn mặc định kém bảo mật hơn cho những thứ như thông tin đăng nhập root từ xa và người dùng mẫu.
Chạy script bảo mật với sudo:
sudo mysql_secure_installation
Điều này sẽ đưa bạn qua một loạt lời nhắc mà bạn có thể thực hiện một số thay đổi đối với các tùy chọn bảo mật cho cài đặt MySQL của mình. Lời nhắc đầu tiên sẽ hỏi bạn có muốn thiết lập Validate Password Plugin, có thể được sử dụng để kiểm tra độ mạnh mật khẩu của người dùng MySQL mới trước khi cho là hợp lệ hay không.
Nếu bạn chọn thiết lập Validate Password Plugin, bất kỳ người dùng MySQL nào mà bạn tạo xác thực bằng mật khẩu sẽ được yêu cầu có mật khẩu đáp ứng policy bạn chọn. Cấp policy mạnh nhất - mà bạn có thể chọn bằng cách nhập 2 - sẽ yêu cầu mật khẩu phải dài ít nhất 8 ký tự và bao gồm kết hợp các ký tự viết hoa, viết thường, số và ký tự đặc biệt:
Securing the MySQL server deployment.
Connecting to MySQL using a blank password.
VALIDATE PASSWORD COMPONENT can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD component?
Press y|Y for Yes, any other key for No: Y
There are three levels of password validation policy:
LOW Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary file
Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG:
2
Bất kể bạn chọn thiết lập Validate Password Plugin hay không, lời nhắc tiếp theo sẽ là đặt mật khẩu cho người dùng MySQL root. Nhập và sau đó xác nhận một mật khẩu bảo mật mà bạn chọn:
Please set the password for root here.
New password:
Re-enter new password:
Lưu ý rằng mặc dù bạn đã đặt mật khẩu cho người dùng MySQL root, người dùng này hiện không được cấu hình để xác thực bằng mật khẩu khi kết nối với MySQL shell.
Nếu đã sử dụng Validate Password Plugin, bạn sẽ nhận được phản hồi về độ mạnh của mật khẩu mới của mình. Sau đó, script sẽ hỏi bạn có muốn tiếp tục với mật khẩu vừa nhập hay muốn nhập mật khẩu mới. Giả sử bạn hài lòng với độ mạnh của mật khẩu bạn vừa nhập, hãy nhập Y để tiếp tục script:
Estimated strength of the password: 100
Do you wish to continue with the password provided?[Press y|Y for Yes, any other key for No] : Y
Từ đó, bạn có thể nhấn Y rồi ENTER để chấp nhận giá trị mặc định cho tất cả các câu hỏi tiếp theo. Thao tác này sẽ xóa một số người dùng ẩn danh và cơ sở dữ liệu thử nghiệm, vô hiệu hóa đăng nhập root từ xa và load các quy tắc mới này để MySQL ngay lập tức tuân theo những thay đổi bạn đã thực hiện.
Khi script hoàn tất, cài đặt MySQL sẽ được bảo mật. Bây giờ, bạn có thể chuyển sang tạo người dùng cơ sở dữ liệu chuyên dụng với MySQL client.
- Cách cài đặt môi trường desktop Deepin trên Ubuntu
Bước 3 - Tạo người dùng MySQL chuyên dụng và cấp các đặc quyền
Sau khi cài đặt, MySQL tạo một tài khoản người dùng root mà bạn có thể sử dụng để quản lý cơ sở dữ liệu của mình. Người dùng này có đầy đủ các đặc quyền đối với máy chủ MySQL, có nghĩa là người đó có toàn quyền kiểm soát mọi cơ sở dữ liệu, bảng, user, v.v... Do đó, tốt nhất bạn nên tránh sử dụng tài khoản này ngoài lúc cần tới các chức năng quản trị. Bước này phác thảo cách sử dụng người dùng MySQL root để tạo tài khoản người dùng mới và cấp đặc quyền cho tài khoản đó.
Trong các hệ thống Ubuntu chạy MySQL 5.7 [và các phiên bản mới hơn], người dùng MySQL root được yêu cầu xác thực bằng cách sử dụng plugin auth_socket theo mặc định chứ không phải bằng mật khẩu.
Plugin này yêu cầu tên của người dùng hệ điều hành gọi MySQL client phải khớp với tên của người dùng MySQL được chỉ định trong lệnh, vì vậy bạn phải gọi mysql với đặc quyền sudo để có quyền truy cập vào người dùng MySQL root:
sudo mysql
Lưu ý: Nếu bạn đã cài đặt MySQL bằng một hướng dẫn khác và bật xác thực mật khẩu cho root, bạn sẽ cần sử dụng một lệnh khác để truy cập MySQL shell. Lệnh sau sẽ chạy MySQL client của bạn với các đặc quyền người dùng thông thường và bạn sẽ chỉ có được các đặc quyền của admin trong cơ sở dữ liệu bằng cách xác thực:
mysql -u root -p
Khi có quyền truy cập vào lời nhắc MySQL, bạn có thể tạo người dùng mới bằng câu lệnh CREATE USER. Chúng tuân theo cú pháp chung sau:
CREATE USER 'username'@'host' IDENTIFIED WITH authentication_plugin BY 'password';
Sau CREATE USER, bạn chỉ định tên người dùng. Ngay sau đó là dấu @ và tiếp đến là tên máy chủ mà người dùng này sẽ kết nối. Nếu bạn chỉ định truy cập cục bộ người dùng này từ máy chủ Ubuntu của mình, bạn có thể chỉ định localhost. Việc gói cả tên người dùng và máy chủ trong một dấu ngoặc kép không phải lúc nào cũng cần thiết, nhưng làm như vậy có thể giúp tránh lỗi.
Bạn có một số tùy chọn khi chọn plugin xác thực người dùng. Plugin auth_socket được đề cập trước đây có thể thuận tiện, vì nó cung cấp khả năng bảo mật mạnh mẽ, mà không yêu cầu người dùng hợp lệ nhập mật khẩu để truy cập cơ sở dữ liệu. Nhưng nó cũng ngăn chặn các kết nối từ xa, điều này có thể làm phức tạp mọi thứ khi những chương trình bên ngoài cần tương tác với MySQL.
Thay vào đó, bạn có thể loại bỏ hoàn toàn phần plugin xác thực WITH của cú pháp để người dùng xác thực với plugin mặc định của MySQL, caching_sha2_password. Tài liệu MySQL đề xuất plugin này cho người dùng muốn đăng nhập bằng mật khẩu do tính năng bảo mật mạnh mẽ của nó.
Chạy lệnh sau để tạo người dùng xác thực bằng caching_sha2_password. Đảm bảo thay đổi sammy thành tên người dùng và password thành một mật khẩu mạnh mà bạn chọn:
CREATE USER 'sammy'@'localhost' IDENTIFIED BY 'password';
Lưu ý: Một số phiên bản PHP gây ra sự cố với caching_sha2_password. Nếu bạn định sử dụng cơ sở dữ liệu này với một ứng dụng PHP - ví dụ: phpMyAdmin - bạn có thể muốn tạo một người dùng sẽ xác thực với plugin mysql_native_password cũ hơn, nhưng vẫn bảo mật, thay vào đó:
sudo apt install mysql-server
0Nếu không chắc chắn, bạn luôn có thể tạo người dùng xác thực bằng caching_sha2_plugin, rồi thay đổi nó sau này bằng lệnh này:
sudo apt install mysql-server
1Sau khi tạo người dùng mới, bạn có thể cấp cho họ các đặc quyền thích hợp. Cú pháp chung để cấp đặc quyền người dùng như sau:
sudo apt install mysql-server
2Giá trị PRIVILEGE trong cú pháp ví dụ này xác định những hành động mà người dùng được phép thực hiện trên cơ sở dữ liệu và bảng được chỉ định. Bạn có thể cấp nhiều đặc quyền cho cùng một người dùng trong một lệnh bằng cách phân tách từng đặc quyền bằng dấu phẩy. Bạn cũng có thể cấp đặc quyền người dùng bằng cách nhập dấu hoa thị [*] vào vị trí của cơ sở dữ liệu và tên bảng. Trong SQL, dấu hoa thị là các ký tự đặc biệt được sử dụng để đại diện cho "tất cả" cơ sở dữ liệu hoặc bảng.
Để minh họa, lệnh sau đây cấp cho người dùng đặc quyền để CREATE, ALTER và DROP cơ sở dữ liệu, bảng và người dùng, cũng như quyền INSERT, UPDATE và DELETE dữ liệu từ bất kỳ bảng nào trên máy chủ. Nó cũng cấp cho người dùng khả năng truy vấn dữ liệu với SELECT, tạo khóa ngoại Foreign Key với từ khóa REFERENCES và thực hiện các hoạt động FLUSH với đặc quyền RELOAD. Tuy nhiên, bạn chỉ nên cấp cho người dùng các quyền mà họ cần, vì vậy, hãy thoải mái điều chỉnh các đặc quyền của người dùng nếu cần.
Bạn có thể tìm thấy danh sách đầy đủ các đặc quyền có sẵn trong tài liệu MySQL chính thức.
sudo apt install mysql-server
3Chạy câu lệnh GRANT này, thay sammy bằng tên người dùng MySQL của riêng bạn, để cấp các đặc quyền này cho người dùng mong muốn:
sudo apt install mysql-server
4Lưu ý rằng lệnh này cũng bao gồm WITH GRANT OPTION. Điều này sẽ cho phép người dùng MySQL cấp bất kỳ quyền nào mà họ có cho người dùng khác trên hệ thống.
Cảnh báo: Một số người dùng có thể muốn cấp cho MySQL user của họ đặc quyền ALL PRIVILEGES, sẽ cung cấp cho họ các đặc quyền siêu người dùng rộng rãi giống như đặc quyền của người dùng root, như sau:
sudo apt install mysql-server
5Không nên coi nhẹ việc cấp các đặc quyền rộng rãi như vậy, vì bất kỳ ai có quyền truy cập vào user MySQL này sẽ có toàn quyền kiểm soát mọi cơ sở dữ liệu trên máy chủ.
Sau đây, bạn nên chạy lệnh FLUSH PRIVILEGES. Điều này sẽ giải phóng bất kỳ bộ nhớ nào mà máy chủ đã lưu vào bộ nhớ cache do kết quả của các câu lệnh CREATE USER và GRANT trước đó:
sudo apt install mysql-server
6Sau đó, bạn có thể thoát khỏi MySQL client:
sudo apt install mysql-server
7Trong tương lai, để đăng nhập với tư cách là người dùng MySQL mới, bạn sẽ sử dụng một lệnh như sau:
sudo apt install mysql-server
8Flag -p sẽ khiến MySQL client nhắc bạn nhập mật khẩu của người dùng MySQL để xác thực.
Cuối cùng, hãy kiểm tra cài đặt MySQL.
Bước 4 - Kiểm tra MySQL
Bất kể bạn đã cài đặt nó như thế nào, MySQL phải bắt đầu chạy tự động. Để thử nghiệm, hãy kiểm tra trạng thái của nó.
sudo apt install mysql-server
9Bạn sẽ thấy đầu ra tương tự như sau:
sudo mysql_secure_installation
0Nếu MySQL không chạy, bạn có thể khởi động nó bằng sudo systemctl start mysql.
Để kiểm tra thêm, bạn có thể thử kết nối với cơ sở dữ liệu bằng công cụ mysqladmin, là một client cho phép bạn chạy các lệnh admin. Ví dụ, lệnh này cho biết kết nối với tư cách người dùng MySQL có tên sammy [-u sammy], nhắc nhập mật khẩu [-p] và trả về phiên bản. Đảm bảo thay đổi sammy thành tên của người dùng MySQL chuyên dụng của bạn và nhập mật khẩu của người dùng đó khi được nhắc:
sudo mysql_secure_installation
1Bạn sẽ thấy đầu ra tương tự như sau:
sudo mysql_secure_installation
2Điều này có nghĩa là MySQL đang hoạt động.
- Hướng dẫn cài đặt LAMP trên Ubuntu cho người mới bắt đầu
- Cài đặt MongoDB vào Raspberry Pi
- Cách cài đặt Putty SSH Client trên Ubuntu 20.04 LTS
- Cài đặt Google Cloud SDK trên Ubuntu 20.04
Thứ Hai, 07/12/2020 16:59
5 ★ 5 👨 10.757
#Ubuntu #
0 Bình luận
Sắp xếp theo
Xóa Đăng nhập để Gửi
Bạn nên đọc
- “Samsung thống lĩnh thị trường smartphone Việt Nam”
- 4 đặc điểm khiến Galaxy Note 4 vẫn là một phablet đáng mua
- Samsung ra mắt hệ thống âm thanh không dây thế hệ mới
- Samsung dự kiến đạt lợi nhuận 7,7 tỉ USD trong quý I 2013
- 2 mẹo hay cho người dùng iOS 7
- Đăng nhập nhiều tài khoản email một lúc trên IE8
Linux
- 4 cách rút ngắn các lệnh Linux và tiết kiệm thời gian
- Cách kích hoạt/vô hiệu hóa tính năng đăng nhập tự động trên Linux Mint
- Cách truy cập Recovery Mode [Safe Mode] trong Ubuntu
- Cách cài đặt Metasploit Framework trên Ubuntu
- Cách khôi phục các file đã xóa trên Linux
- Biến Linux Xfce thành Windows retro với Chicago95
- Cách cài đặt Manjaro Linux trên PC
- Cách sử dụng lệnh head và tail để xử lý văn bản trên Linux
- Cách tùy chỉnh để dock Ubuntu trông giống như macOS
- Công nghệ
- Ứng dụng
- Hệ thống
- Game - Trò chơi
- iPhone
- Android
- Linux
- Nền tảng Web
- Đồng hồ thông minh
- Chụp ảnh - Quay phim
- macOS
- Phần cứng
- Thủ thuật SEO
- Kiến thức cơ bản
- Raspberry Pi
- Dịch vụ ngân hàng
- Lập trình
- Dịch vụ công trực tuyến
- Dịch vụ nhà mạng
- Nhà thông minh
- Download
- Ứng dụng văn phòng
- Tải game
- Tiện ích hệ thống
- Ảnh, đồ họa
- Internet
- Bảo mật, Antivirus
- Họp, học trực tuyến
- Video, phim, nhạc
- Lưu trữ đám mây
- Giao tiếp, liên lạc, hẹn hò
- Hỗ trợ học tập
- Máy ảo
- Tiện ích
- Khoa học
- Khoa học vui
- Khám phá khoa học
- Bí ẩn - Chuyện lạ
- Chăm sóc Sức khỏe
- Khoa học Vũ trụ
- Khám phá thiên nhiên
- Điện máy
- Tủ lạnh
- Tivi
- Điều hòa
- Máy giặt
- Cuộc sống
- Kỹ năng
- Món ngon mỗi ngày
- Làm đẹp
- Nuôi dạy con
- Chăm sóc Nhà cửa
- Kinh nghiệm Du lịch
- Halloween
- Mẹo vặt
- Giáng sinh - Noel
- Tết 2023
- Quà tặng
- Giải trí
- Là gì?
- Nhà đẹp
- TOP
- Phong thủy
- Video
- Công nghệ
- Cisco Lab
- Microsoft Lab
- Video Khoa học
- Ô tô, Xe máy
- Giấy phép lái xe
- Làng Công nghệ
- Tấn công mạng
- Chuyện công nghệ
- Công nghệ mới
- Trí tuệ nhân tạo [AI]
- Anh tài công nghệ
- Bình luận công nghệ
- Tổng hợp
- Học CNTT
- Quiz công nghệ
- Microsoft Word 2016
- Microsoft Word 2013
- Microsoft Word 2007
- Microsoft Excel 2019
- Microsoft Excel 2016
- Hàm Excel
- Microsoft PowerPoint 2019
- Microsoft PowerPoint 2016
- Google Sheets - Trang tính
- Code mẫu
- Photoshop CS6
- Photoshop CS5
- HTML
- CSS và CSS3
- Python
- Học SQL
- Lập trình C
- Lập trình C++
- Lập trình C#
- Học HTTP
- Bootstrap
- SQL Server
- JavaScript
- Học PHP
- jQuery
- Học MongoDB
- Unix/Linux
- Học Git
- NodeJS
Giới thiệu | Điều khoản | Bảo mật | Hướng dẫn | Ứng dụng | Liên hệ | Quảng cáo | Facebook | Youtube | DMCA
Giấy phép số 362/GP-BTTTT. Bộ Thông tin và Truyền thông cấp ngày 30/06/2016. Cơ quan chủ quản: CÔNG TY CỔ PHẦN MẠNG TRỰC TUYẾN META. Địa chỉ: 56 Duy Tân, Dịch Vọng Hậu, Cầu Giấy, Hà Nội. Điện thoại: 024 2242 6188. Email: info@meta.vn. Chịu trách nhiệm nội dung: Lê Ngọc Lam.
Bản quyền © 2003-2023 QuanTriMang.com. Giữ toàn quyền. Không được sao chép hoặc sử dụng hoặc phát hành lại bất kỳ nội dung nào thuộc QuanTriMang.com khi chưa được phép.