Bài 13: Database cơ bản cho SysAdmin
Bài này giúp anh kiểm tra trạng thái database, kết nối, port, log và backup cơ bản ở vai trò SysAdmin.
Sau bài này anh sẽ biết:
- SysAdmin cần biết gì về database.
- Kiểm tra MySQL/MariaDB/PostgreSQL service.
- Kiểm tra port, log và kết nối.
- Backup/restore cơ bản.
1. SysAdmin có cần biết database không?
Có. Không cần thành DBA ngay, nhưng cần biết service DB có chạy không, disk có đầy không, app có kết nối được không, backup có restore được không.
2. Kiểm tra service và port
systemctl status mysql || systemctl status mariadb systemctl status postgresql ss -tulpn | grep -E '3306|5432'
3. Kết nối MySQL/MariaDB
mysql -u root -p SHOW DATABASES; SELECT USER, HOST FROM mysql.user; EXIT;
4. Kết nối PostgreSQL
sudo -u postgres psql \l \du \q
5. Đọc log database
journalctl -u mysql --since "1 hour ago" || journalctl -u mariadb --since "1 hour ago" journalctl -u postgresql --since "1 hour ago"
6. Backup cơ bản
mysqldump -u root -p database_name > database_name.sql pg_dump database_name > database_name.sql
Backup xong cần kiểm tra file có dung lượng hợp lý và nên test restore.
7. Tình huống thực tế
App báo “cannot connect to database”. Anh kiểm tra DB service, port listen, credential, firewall nội bộ, disk có đầy không và log DB.
8. Lỗi thường gặp
- Mở database public ra Internet.
- Không test restore.
- Backup nằm cùng server production duy nhất.
- Không theo dõi disk khiến DB dừng ghi.
Lưu ý production: Không chạy lệnh xóa/sửa dữ liệu nếu chưa backup và chưa hiểu impact.
9. Checklist database
- Service active.
- Port listen đúng interface.
- Disk còn đủ.
- Backup có lịch và có test restore.
- User app có quyền tối thiểu cần thiết.
10. Bài tập
- Kiểm tra service database trên máy lab.
- Liệt kê database/user.
- Tạo một file dump test.
- Viết checklist xử lý app không kết nối DB.
Bài tiếp theo: Backup và restore cơ bản.
