Trong quá trình cài đặt MySQL trên Ubuntu 22.04, bạn có thể gặp một số lỗi phổ biến gây cản trở. Bài viết này sẽ liệt kê các lỗi thường gặp và cách khắc phục chúng một cách đơn giản và hiệu quả.

Trước tiên, bạn cần xác định lỗi cụ thể, ví dụ như kiểm tra log file để nhận diện chính xác nguyên nhân MySQL gặp phải. Sau đó, kết hợp với các lỗi phổ biến dưới đây để tìm ra cách khắc phục hiệu quả và chính xác.
1. Lỗi: “E: Unable to locate package mysql-server”
Nguyên nhân:
- Kho lưu trữ của Ubuntu chưa được cập nhật.
- Phiên bản MySQL không có trong kho mặc định của Ubuntu.
Cách khắc phục:
Sử dụng package (kho lưu trữ) chính thức từ Ubuntu:
sudo add-apt-repository universe sudo apt update
Sau đó chạy lệnh update
và bạn có thể cài đặt mysql-server
2. Lỗi: “E: Package ‘mysql-server’ has no installation candidate”
Nguyên nhân:
- Phiên bản MySQL bạn muốn cài không có sẵn trong kho lưu trữ.
- Cấu hình kho lưu trữ bị lỗi hoặc không được thêm.
Cách khắc phục:
- Xoá repository cũ: Tìm trong file
/etc/apt/sources.list
hoặc thư mục/etc/apt/sources.list.d
xoá tất cả những gì liên quan đến mysql. - Thêm lại kho lưu trữ MySQL chính thức: Lần lượt sao chép và chạy các lệnh bên dưới trên Terminal.
cd ~/Downloads wget https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb sudo dpkg -i mysql-apt-config_0.8.33-1_all.deb sudo apt update
Sau đó bạn có thể cài đặt MySQL bằng lệnh: sudo apt install mysql-server
3. Lỗi: “Failed to start MySQL service”
Nguyên nhân:
- MySQL không khởi động được do xung đột cài đặt, thiếu file cấu hình hoặc quyền không chính xác.
- Do ổ đĩa đầy, không còn không gian lưu trữ cũng khiến MySQL không thể khởi động.
- Bất kỳ lỗi nào trong một database cũng có thể làm dừng MySQL.
Cách khắc phục
Khắc phục file cấu hình lỗi:
- Kiểm tra file cấu hình:
/etc/mysql/my.cnf
hoặc/etc/mysql/conf.d/mysql.cnf
- Sửa lỗi nếu có hoặc khôi phục file mặc định ví dụ:
sudo mv /etc/mysql/my.cnf /etc/mysql/my.cnf.bak
Khởi động lại MySQL:
Lưu ý: Nếu bạn xóa file my.cnf
hoặc mysql.cnf
và khởi động lại MySQL, hệ thống sẽ tự động tạo lại cấu hình mặc định. Nếu MySQL vẫn không khởi động, có thể bạn cần xoá thư mục /var/lib/mysql
.
Lưu ý quan trọng: Trước khi xóa thư mục /var/lib/mysql
, hãy sao lưu dữ liệu của bạn.
sudo mv /var/lib/mysql /var/lib/mysql.bak
Sau khi xoá /var/lib/mysql
và /etc/mysql/my.cnf
hoặc /etc/mysql/conf.d/mysql.cnf
hãy khởi động lại một lần nữa.
sudo systemctl restart mysql
4. Lỗi: “Access denied for user ‘root’@’localhost'”
Nguyên nhân:
- Quyền truy cập của tài khoản root không được thiết lập chính xác.
- Authentication plugin của MySQL không phù hợp (unix_socket thay vì mysql_native_password).
Cách khắc phục:
Đăng nhập vào MySQL:
sudo mysql -u root -p
Thiết lập lại quyền root:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_password'; FLUSH PRIVILEGES;
Hoặc:
ALTER USER 'root'@'127.0.0.1' IDENTIFIED WITH mysql_native_password BY 'your_password'; FLUSH PRIVILEGES;
Sau đó khởi động lại MySQL.
5. Lỗi: “Cannot connect to MySQL server on ‘localhost’ (10061)”
Nguyên nhân:
- MySQL chưa được khởi động hoặc không lắng nghe kết nối trên cổng 3306.
Cách khắc phục:
Kiểm tra trạng thái dịch vụ:
sudo systemctl status mysql
Nếu chưa chạy, khởi động lại:
sudo systemctl start mysql
Kiểm tra cổng MySQL:
sudo ss -tuln | grep 3306
Nếu không thấy cổng 3306, kiểm tra file cấu hình:
sudo nano /etc/mysql/my.cnf Hoặc: sudo nano /etc/mysql/conf.d/mysql.cnf
Đảm bảo phần [mysqld]
có dòng cấu hình sau: bind-address = 127.0.0.1
Mở cổng tường lửa (nếu cần kết nối từ xa):
sudo ufw allow 3306; sudo ufw reload
6. Lỗi: “dpkg was interrupted, you must manually run ‘sudo dpkg –configure -a'”
Nguyên nhân:
- Quá trình cài đặt trước đó bị gián đoạn.
Cách khắc phục:
Bạn cần gỡ sạch sẽ MySQL ra khỏi hệ thống và thực hiện lại từ đầu.
Bước 1: Chạy lại lệnh cấu hình: hệ thống tự động sử chữa những gói cài đặt sai.
sudo dpkg --configure -a
Bước 2: Sau khi thực hiện bước 1, thực sự nó vẫn chưa đủ, và quan trọng là bạn đang cài mới MySQL nên phương pháp hay nhất là loại bỏ sạch sẽ trước khi cài lại.
sudo service mysql stop sudo apt purge 'mysql*' mysql-server mysql-client mysql-common mysql-server-core-* mysql-client-core-* sudo apt remove 'mysql*' && sudo apt autoremove && sudo apt autoclean sudo rm -rf /etc/mysql /var/lib/mysql /var/log/mysql sudo apt update && sudo apt upgrade -y
Và bây giờ, bạn có thể bắt đầu cài đặt MySQL hoặc MariaDB.
7. Lỗi: “Could not open file ‘/var/log/mysql/error.log'”
Nguyên nhân:
- Quyền truy cập file nhật ký MySQL không đúng.
Cách khắc phục:
Kiểm tra cấu hình: Thông thường cấu hình sẽ nằm trong /etc/mysql/my.cnf
hoặc /etc/mysql/conf.d
/mysql.cnf
. ở đây bạn hãy tìm xem cấu hình log được ghi ở thư mục nào.
Ví dụ cấu hình log được ghi tại: /var/log/mysql/error.log
, bạn cần đảm bảo file thuộc quyền sở hữu của user mysql
.
Chỉnh sửa quyền:
sudo chown mysql:mysql /var/log/mysql/error.log sudo chmod 640 /var/log/mysql/error.log
Các lỗi phổ biến khi cài đặt MySQL trên Ubuntu 22.04 có thể xuất phát từ cấu hình hệ thống, kho lưu trữ, hoặc quyền truy cập. Việc hiểu rõ nguyên nhân và làm theo các bước khắc phục trên sẽ giúp bạn giải quyết hầu hết các vấn đề. Nếu vẫn gặp lỗi, hãy kiểm tra kỹ nhật ký hệ thống để tìm nguyên nhân cụ thể hoặc tìm kiếm trợ giúp từ cộng đồng. 😊
Bài viết được đúc kết từ kinh nghiệm cá nhân và các nguồn tài liệu mà bạn có thể tham khảo: