Cách Xóa Cơ Sở Dữ Liệu MySQL An Toàn: Lệnh, Danh Sách Kiểm Tra, Phục Hồi và Xử Lý Sự Cố

目次

1. Giới thiệu

Xóa một cơ sở dữ liệu trong MySQL là một công việc quan trọng để dọn dẹp dữ liệu và quản lý các cơ sở dữ liệu không còn cần thiết. Tuy nhiên, một khi bạn xóa một cơ sở dữ liệu, thao tác này không thể hoàn tác, vì vậy cần thực hiện các bước cẩn thận. Bài viết này giải thích chi tiết cách xóa một cơ sở dữ liệu MySQL, đồng thời cung cấp danh sách kiểm tra để tránh sai sót và cách khắc phục sau khi xóa.

Lưu Ý Quan Trọng Khi Xóa Cơ Sở Dữ Liệu trong MySQL

Việc xóa một cơ sở dữ liệu đi kèm với các rủi ro sau:

  • Nếu bạn xóa nhầm, có thể không khôi phục được dữ liệu.
  • Các ứng dụng hiện có có thể bắt đầu gặp lỗi.
  • Dữ liệu cho các người dùng và bảng phụ thuộc có thể bị mất.

Đặc biệt khi xóa một cơ sở dữ liệu được sử dụng cho hoạt động kinh doanh, việc xác minh cẩn thận trước khi thực hiện là điều thiết yếu.

Rủi Ro Khi Xóa và Tại Sao Khôi Phục Khó Khăn

Nếu bạn chạy lệnh DROP DATABASE, toàn bộ dữ liệu trong cơ sở dữ liệu sẽ bị xóa và về cơ bản không có cách nào để phục hồi.
Tuy nhiên, nếu bạn đã sao lưu trước đó, bạn có thể khôi phục lại. Các phương pháp sao lưu sẽ được giải thích ở phần sau, nhưng nếu dữ liệu quan trọng, hãy chắc chắn sao lưu trước khi xóa.

Danh Sách Kiểm Tra Trước Khi Xóa

Trước khi xóa một cơ sở dữ liệu, hãy kiểm tra các mục sau.

Bạn đã sao lưu dữ liệu chưa?
Bạn có chắc rằng đây là cơ sở dữ liệu cần xóa không? (Xác minh để tránh xóa nhầm)
Có bất kỳ ứng dụng nào đang sử dụng cơ sở dữ liệu này không? (Kiểm tra xem các ứng dụng đang chạy có bị lỗi không)
Bạn có quyền thích hợp không? (Việc xóa yêu cầu quyền người dùng phù hợp)
Bạn hiểu được tác động sau khi xóa không? (Kiểm tra ảnh hưởng tới các người dùng và bảng liên quan)

2. Cách Xóa Cơ Sở Dữ Liệu MySQL

Trong MySQL, bạn sử dụng lệnh DROP DATABASE để xóa một cơ sở dữ liệu không còn cần thiết. Khi thực hiện thao tác này, hãy xác nhận kỹ rằng bạn không xóa nhầm cơ sở dữ liệu. Phần này giải thích các bước cụ thể để xóa một cơ sở dữ liệu MySQL.

Cách Kết Nối tới MySQL

Để xóa một cơ sở dữ liệu, trước tiên bạn phải kết nối tới MySQL.
Bạn có thể kết nối bằng dòng lệnh MySQL (CLI) hoặc phpMyAdmin, nhưng ở đây chúng tôi sẽ hướng dẫn cách sử dụng CLI.

  1. Đăng nhập vào MySQL
    mysql -u username -p
    
  • Chỉ định tên người dùng MySQL sau -u (thường là root ).
  • Với -p , bạn sẽ được yêu cầu nhập mật khẩu.
  1. Sau khi đăng nhập thành công, bạn sẽ thấy một dấu nhắc như sau
    mysql>
    

Bạn đã kết nối thành công tới MySQL.

Kiểm Tra Danh Sách Cơ Sở Dữ Liệu

Để tránh xóa nhầm cơ sở dữ liệu, trước tiên hãy kiểm tra danh sách các cơ sở dữ liệu hiện có.

SHOW DATABASES;

Khi thực thi, bạn sẽ nhận được đầu ra tương tự như sau:

+--------------------+
| Database          |
+--------------------+
| information_schema |
| my_database       |
| test_db           |
| wordpress_db      |
+--------------------+

Xác nhận tên cơ sở dữ liệu bạn muốn xóa và kiểm tra lại một lần nữa để chắc chắn.

Thực Thi Lệnh DROP DATABASE

Sau khi đã xác nhận cơ sở dữ liệu cần xóa, thực hiện việc xóa bằng lệnh DROP DATABASE.

DROP DATABASE my_database;
  • Thay my_database bằng tên của cơ sở dữ liệu bạn muốn xóa.
  • Khi lệnh được thực thi, cơ sở dữ liệu sẽ bị xóa vĩnh viễn.

Xác Nhận Sau Khi Xóa

Để xác nhận việc xóa thành công, chạy lại SHOW DATABASES; và kiểm tra xem cơ sở dữ liệu mục tiêu còn xuất hiện trong danh sách hay không.

SHOW DATABASES;

Thông Báo Lỗi Khi Xóa Cơ Sở Dữ Liệu

Bạn có thể gặp phải lỗi khi xóa một cơ sở dữ liệu. Dưới đây là các lỗi thường gặp và cách khắc phục chúng.

ErrorCauseSolution
ERROR 1008 (HY000): Can't drop databaseThe database does not existCheck with SHOW DATABASES; and specify the correct name
ERROR 1044 (42000): Access deniedThe user does not have DROP privilegesGrant privileges with GRANT ALL PRIVILEGES ON my_database.* TO 'user'@'host';
ERROR 1010 (HY000): Error dropping databaseThe database is in useCheck active processes with SHOW PROCESSLIST; and stop if necessary

Tóm Tắt

  • Sử dụng SHOW DATABASES; để xác nhận cơ sở dữ liệu mục tiêu.
  • Chạy DROP DATABASE database_name; để xóa nó.
  • Sau khi xóa, chạy lại SHOW DATABASES; để xác nhận cơ sở dữ liệu đã biến mất.
  • Nếu có lỗi, xác định nguyên nhân và xử lý thích hợp.

3. Các Phương Pháp Xóa Trong Trường Hợp Đặc Biệt

Trong hầu hết các trường hợp, bạn có thể xóa một cơ sở dữ liệu bằng lệnh tiêu chuẩn DROP DATABASE. Tuy nhiên, nếu tên cơ sở dữ liệu chứa các ký tự đặc biệt hoặc bạn gặp các lỗi ngăn cản việc xóa, có thể cần các bước bổ sung. Phần này giải thích cách xử lý những trường hợp đặc biệt đó.

Khi Tên Cơ Sở Dữ Liệu Chứa Các Ký Tự Đặc Biệt

Nếu tên cơ sở dữ liệu chứa các ký tự đặc biệt như dấu gạch ngang (-) hoặc khoảng trắng, lệnh DROP DATABASE thông thường có thể thất bại và đưa ra lỗi.

Lệnh Xóa Sai (Gây Lỗi)

DROP DATABASE my-database;

Trong trường hợp này, bạn có thể thấy một lỗi như sau:

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version

Phương Pháp Xóa Đúng

Đối với các tên cơ sở dữ liệu có ký tự đặc biệt, bạn phải đặt tên trong dấu backticks (`).

DROP DATABASE `my-database`;

Cách Khắc Phục Các Lỗi Ngăn Cản Việc Xóa

Bạn có thể gặp lỗi khi cố gắng xóa một cơ sở dữ liệu. Dưới đây là các lỗi thường gặp và giải pháp của chúng.

1. ERROR 1008 (HY000): Không thể xóa cơ sở dữ liệu; cơ sở dữ liệu không tồn tại

Lỗi này xảy ra khi cơ sở dữ liệu được chỉ định không tồn tại.

Giải Pháp

  • Chạy SHOW DATABASES; và xác nhận cơ sở dữ liệu mục tiêu tồn tại.
  • Kiểm tra lỗi chính tả và chỉ định đúng tên cơ sở dữ liệu.
    SHOW DATABASES;
    

2. ERROR 1044 (42000): Truy cập bị từ chối cho người dùng

Lỗi này xảy ra khi bạn không có quyền xóa cơ sở dữ liệu.

Giải Pháp

  • Kiểm tra xem người dùng hiện tại có quyền DROP hay không
    SELECT user, host FROM mysql.db WHERE db = 'target_database_name';
    
  • Nếu cần, đăng nhập dưới tài khoản root và cấp quyền thích hợp.
    GRANT ALL PRIVILEGES ON target_database_name.* TO 'username'@'localhost';
    FLUSH PRIVILEGES;
    

Sau đó thử xóa lại bằng DROP DATABASE.

3. ERROR 1010 (HY000): Lỗi khi xóa cơ sở dữ liệu (không thể rmdir './database', errno: 39)

Lỗi này xảy ra khi MySQL không thể xóa các tệp của cơ sở dữ liệu.

Giải Pháp

  • Kiểm tra các tiến trình của cơ sở dữ liệu và dừng chúng nếu cần
    SHOW PROCESSLIST;
    

Nếu cơ sở dữ liệu mục tiêu đang được sử dụng, dừng các tiến trình liên quan.

  • Xóa trực tiếp trên máy chủ Bạn cũng có thể truy cập thư mục dữ liệu của MySQL và xóa thủ công thư mục cơ sở dữ liệu.
    rm -rf /var/lib/mysql/target_database_name
    

Sau đó khởi động lại MySQL.

systemctl restart mysql

Tóm Tắt

  • Nếu tên cơ sở dữ liệu chứa ký tự đặc biệt, đặt nó trong dấu backticks (`).
  • Đối với lỗi “cơ sở dữ liệu không tồn tại”, xác minh bằng SHOW DATABASES;.
  • Đối với lỗi “từ chối quyền truy cập”, cấp quyền và thử lại.
  • Đối với lỗi “không thể xóa”, kiểm tra các tiến trình và xóa thư mục thủ công nếu cần.

4. Cách Khôi Phục Cơ Sở Dữ Liệu MySQL Đã Xóa

Bạn có thể khôi phục một cơ sở dữ liệu MySQL sau khi xóa hay không phụ thuộc vào việc bạn đã có bản sao lưu trước đó hay chưa. Phần này giải thích cách khôi phục một cơ sở dữ liệu sau khi xóa.

Bạn Có Thể Khôi Phục Sau Khi Xóa Không?

Khi bạn chạy lệnh MySQL DROP DATABASE, cơ sở dữ liệu mục tiêu sẽ bị xóa hoàn toàn và biến mất khỏi hệ thống MySQL. Các khả năng khôi phục như sau:

SituationCan Restore?
You created a backup in advance with mysqldump✅ Yes
The server has automatic backups✅ Yes (ask the administrator)
No backup exists❌ No

Kết luận: Nếu không có bản sao lưu, MySQL không thể khôi phục cơ sở dữ liệu.

Cách Khôi Phục Bằng mysqldump

Nếu bạn đã tạo bản sao lưu trước bằng mysqldump, bạn có thể khôi phục cơ sở dữ liệu bằng tệp sao lưu (.sql).

1. Xác Nhận Tệp Sao Lưu

Đầu tiên, xác nhận rằng có bản sao lưu. Thông thường, các tệp sao lưu MySQL có phần mở rộng .sql.

ls -l /backup/
-rw-r--r-- 1 root root  10M Feb 10 12:00 my_database_backup.sql

2. Tạo Cơ Sở Dữ Liệu Mới

Để khôi phục cơ sở dữ liệu đã xóa nguyên trạng, tạo một cơ sở dữ liệu mới với cùng tên.

CREATE DATABASE my_database;

3. Khôi Phục Tệp Sao Lưu

Áp dụng tệp sao lưu vào cơ sở dữ liệu đã tạo để khôi phục dữ liệu.

mysql -u root -p my_database < /backup/my_database_backup.sql
  • -u root : Đăng nhập dưới tài khoản root
  • -p : Yêu cầu nhập mật khẩu
  • my_database : Tên cơ sở dữ liệu cần khôi phục
  • /backup/my_database_backup.sql : Đường dẫn tới tệp sao lưu

Nếu thành công, dữ liệu trước khi xóa sẽ được khôi phục.

Khôi phục từ sao lưu tự động (Dành cho quản trị viên máy chủ)

Một số dịch vụ lưu trữ và môi trường đám mây (AWS RDS, Google Cloud SQL, MySQL Enterprise, v.v.) thực hiện sao lưu tự động định kỳ. Ngay cả khi bạn không sao lưu thủ công, vẫn có thể khôi phục bằng cách kiểm tra các mục sau.

1. Kiểm tra danh sách sao lưu của máy chủ

Trên Linux (phụ thuộc vào cấu hình máy chủ MySQL)

ls /var/backups/mysql/

Trên AWS RDS

aws rds describe-db-snapshots --db-instance-identifier mydb

Nếu có sao lưu, hãy yêu cầu quản trị viên khôi phục chúng.

Các trường hợp không thể khôi phục

Trong các trường hợp sau, việc khôi phục một cơ sở dữ liệu đã bị xóa là khó khăn:

  • Không có bản sao lưu nào → Khi bạn chạy DROP DATABASE, dữ liệu sẽ bị xóa hoàn toàn, vì vậy MySQL một mình không thể khôi phục được.
  • Các log InnoDB cũng đã mất → Bạn có thể khôi phục bằng binlog (log nhị phân), nhưng nếu log đã bị ghi đè, dữ liệu không thể phục hồi.

Tóm tắt

  • Nếu bạn có bản sao lưu mysqldump, có thể khôi phục bằng mysql < file.sql sau khi xóa.
  • Nếu máy chủ có sao lưu tự động, hãy liên hệ với quản trị viên.
  • Nếu không có bản sao lưu, việc khôi phục không thể thực hiện chỉ bằng MySQL (có thể cần các biện pháp đặc biệt như phân tích binlog).

5. Khắc phục sự cố sau khi xóa

Sau khi xóa một cơ sở dữ liệu trong MySQL, bạn có thể gặp các lỗi hoặc vấn đề không mong muốn. Ví dụ, cơ sở dữ liệu đã xóa vẫn xuất hiện, DROP DATABASE không thể hoàn thành, hoặc lỗi quyền. Phần này giải thích các vấn đề thường gặp sau khi xóa và cách khắc phục chúng.

Cơ sở dữ liệu vẫn xuất hiện sau khi xóa

Ngay cả khi đã chạy DROP DATABASE, cơ sở dữ liệu đã xóa có thể vẫn xuất hiện trong SHOW DATABASES;. Điều này có thể do caching hoặc thư mục vật lý chưa được xóa.

Giải pháp

  1. Làm mới MySQL
    FLUSH PRIVILEGES;
    

Điều này làm mới thông tin đặc quyền đã được lưu trong bộ nhớ cache của MySQL.

  1. Xóa thư mục máy chủ thủ công
  • Trên Linux, thư mục cơ sở dữ liệu có thể vẫn còn lại ngay cả sau khi đã xóa.
  • Kiểm tra thư mục dữ liệu của MySQL (ví dụ /var/lib/mysql/) và xóa thủ công bất kỳ thư mục nào còn lại.
    rm -rf /var/lib/mysql/my_database
    

Sau đó khởi động lại MySQL.

systemctl restart mysql

Khi DROP DATABASE không thể hoàn thành

Nếu DROP DATABASE không hoàn thành, có một số nguyên nhân có thể xảy ra.

1. Cơ sở dữ liệu đang được sử dụng

Ví dụ lỗi

ERROR 1010 (HY000): Error dropping database (can't rmdir './database', errno: 39)

Giải pháp

  • Đầu tiên, kiểm tra tiến trình nào đang sử dụng cơ sở dữ liệu.
    SHOW PROCESSLIST;
    
  • Dừng các tiến trình liên quan và thử lại DROP DATABASE.

2. Không thể xóa do ràng buộc khóa ngoại

Ví dụ lỗi

ERROR 1217 (23000): Cannot delete or update a parent row: a foreign key constraint fails

Giải pháp

  • Thử xóa sau khi tạm thời tắt kiểm tra khóa ngoại.
    SET FOREIGN_KEY_CHECKS = 0;
    DROP DATABASE my_database;
    SET FOREIGN_KEY_CHECKS = 1;
    

Cách khắc phục lỗi quyền

Tùy thuộc vào cài đặt MySQL, quyền chạy DROP DATABASE có thể bị hạn chế.

1. Lỗi do thiếu quyền

Ví dụ lỗi

ERROR 1044 (42000): Access denied for user 'user'@'localhost' to database 'my_database'

Giải pháp

  • Đăng nhập dưới tài khoản root và cấp các quyền thích hợp.
    GRANT ALL PRIVILEGES ON my_database.* TO 'user'@'localhost';
    FLUSH PRIVILEGES;
    

Mã lỗi thường gặp và cách khắc phục

Here is a summary of common errors after deletion and how to fix them.

Error CodeDescriptionSolution
ERROR 1008The database does not existCheck the correct name with SHOW DATABASES;
ERROR 1010Failed to remove the database folderStop processes using it via SHOW PROCESSLIST;
ERROR 1044The user lacks DROP privilegesGRANT ALL PRIVILEGES ON database.* TO 'user'@'localhost';
ERROR 1217Cannot delete due to foreign key constraintsRun SET FOREIGN_KEY_CHECKS = 0;, then delete

Summary

  • Nếu một cơ sở dữ liệu đã xóa vẫn xuất hiện, hãy thử xóa bộ nhớ đệm (FLUSH PRIVILEGES) và xóa thư mục thủ công.
  • Nếu DROP DATABASE không hoàn thành, hãy kiểm tra xem cơ sở dữ liệu có đang được sử dụng hoặc bị ràng buộc khóa ngoại không.
  • Nếu xảy ra lỗi quyền, cấp quyền thích hợp dưới quyền root.

6. FAQ (Các Câu Hỏi Thường Gặp và Câu Trả Lời)

Khi xóa một cơ sở dữ liệu MySQL, người dùng từ mới bắt đầu đến nâng cao thường có nhiều câu hỏi. Phần này tổng hợp các câu hỏi và câu trả lời thường gặp.

1. Sự khác nhau giữa DROP DATABASEDELETE hoặc TRUNCATE là gì?

Có nhiều cách để xóa dữ liệu trong MySQL. Hiểu sự khác nhau giúp bạn chọn phương pháp phù hợp.

CommandPurposeImpact
DROP DATABASEDelete the entire databaseAll tables and data are removed; cannot be restored
DELETE FROM table_nameDelete data in a tableThe table remains; data is deleted (rollback may be possible)
TRUNCATE TABLE table_nameDelete all data in a tableFaster than DELETE, but rollback is not possible

Các điểm chính

  • Để xóa toàn bộ cơ sở dữ liệu → DROP DATABASE
  • Để chỉ xóa dữ liệu trong một bảng cụ thể → DELETE
  • Để nhanh chóng xóa dữ liệu bảng và đặt lại ID → TRUNCATE

2. Có cách nào khôi phục cơ sở dữ liệu đã xóa không?

Nếu bạn có bản sao lưu

  • Nếu bạn có bản sao lưu được tạo bằng mysqldump, bạn có thể khôi phục nó.
  • Bạn có thể khôi phục dữ liệu bằng cách sử dụng mysql < backup.sql.

Nếu bạn không có bản sao lưu

  • Bạn không thể khôi phục nó chỉ bằng MySQL.
  • Nếu nhật ký nhị phân (binlog) được bật, có thể thực hiện khôi phục một phần, nhưng sẽ tốn thời gian.
  • Trong môi trường đám mây (AWS RDS, Google Cloud SQL, v.v.), hãy yêu cầu quản trị viên máy chủ kiểm tra các bản sao lưu.

3. Tại sao cơ sở dữ liệu vẫn xuất hiện trong danh sách sau khi xóa?

Các nguyên nhân có thể bao gồm:

  • Bộ nhớ đệm chưa được làm mới
  • Chạy FLUSH PRIVILEGES; để làm mới bộ nhớ đệm.
  • Thư mục cơ sở dữ liệu chưa được xóa
  • Kiểm tra thư mục dữ liệu của MySQL ( /var/lib/mysql/ ) và xóa thủ công.
  • Một tiến trình vẫn đang sử dụng nó
  • Kiểm tra các tiến trình đang hoạt động bằng SHOW PROCESSLIST; và dừng chúng nếu cần.

4. Làm thế nào để chỉ cho phép một người dùng cụ thể xóa cơ sở dữ liệu?

Để ngăn ngừa việc xóa nhầm, bạn có thể cấp hoặc hạn chế quyền DROP DATABASE cho các người dùng cụ thể.

Cấp quyền xóa cho một người dùng cụ thể

GRANT DROP ON my_database.* TO 'user'@'localhost';
FLUSH PRIVILEGES;

Thu hồi quyền xóa từ một người dùng cụ thể

REVOKE DROP ON my_database.* FROM 'user'@'localhost';
FLUSH PRIVILEGES;

Cấu hình này hạn chế việc xóa cơ sở dữ liệu chỉ cho quản trị viên.

5. Những biện pháp phòng ngừa nào nên thực hiện khi chạy DROP DATABASE một cách an toàn?

Trước khi xóa một cơ sở dữ liệu, hãy xác nhận các mục sau:

Tên cơ sở dữ liệu có đúng không?
Bạn đã tạo bản sao lưu chưa? (Cần thiết cho hệ thống sản xuất)
Có ứng dụng hoặc người dùng nào sẽ bị ảnh hưởng không?
Việc xóa có được giới hạn chỉ cho người dùng có quyền không?

Để an toàn, hãy chạy SHOW DATABASES; trước khi xóa để đảm bảo bạn có đúng tên cơ sở dữ liệu.

6. Tôi vô tình chạy DROP DATABASE! Tôi nên làm gì?

  1. Ngừng máy chủ MySQL ngay lập tức
    systemctl stop mysql
    

Để ngăn dữ liệu bị ghi đè, hãy dừng máy chủ càng sớm càng tốt.

  1. Tìm kiếm bản sao lưu và nhật ký nhị phân
  • Nếu bạn có bản sao lưu mysqldump → khôi phục ngay lập tức.
  • Nếu binlog được bật → thử khôi phục bằng mysqlbinlog.
  1. Nếu bạn đang ở môi trường đám mây, hãy liên hệ với quản trị viên
  • Trên AWS RDS hoặc Google Cloud SQL, việc khôi phục từ snapshot có thể khả thi.

Tóm tắt

  • DROP DATABASE không thể hoàn tác → Luôn sao lưu trước khi xóa.
  • Đừng nhầm lẫn nó với DELETE hoặc TRUNCATE → Nếu bạn chỉ cần xóa dữ liệu, không cần dùng DROP.
  • Bạn có thể hạn chế quyền xóa → Quản lý bằng GRANTREVOKE.
  • Nếu bạn xóa nhầm, hãy dừng máy chủ ngay lập tức và kiểm tra bản sao lưu/nhật ký.

7. Kết luận

This article explained how to delete a MySQL database, covering basic steps, troubleshooting, and restore methods after deletion. Finally, let’s review the key points and best practices for managing databases safely.

Các điểm quan trọng khi xóa cơ sở dữ liệu MySQL

Thực thi DROP DATABASE sẽ xóa toàn bộ cơ sở dữ liệu
Nếu bạn xóa một cơ sở dữ liệu, không thể khôi phục lại nếu không có bản sao lưu
Trước khi xóa, chạy SHOW DATABASES; và xác nhận cơ sở dữ liệu mục tiêu
Hình thành thói quen tạo bản sao lưu bằng mysqldump trước khi xóa
Nếu việc xóa thất bại, kiểm tra quyền hạn, các tiến trình và trạng thái tệp
Nếu xóa nhầm, dừng máy chủ ngay lập tức và đánh giá các tùy chọn khôi phục

Các thực hành tốt nhất để quản lý cơ sở dữ liệu an toàn

Để quản lý các cơ sở dữ liệu MySQL một cách an toàn hơn, hãy thực hiện các thực hành tốt nhất sau.

1. Đảm bảo sao lưu trước khi xóa

Việc xóa một cơ sở dữ liệu là không thể đảo ngược. Tạo bản sao lưu bằng mysqldump trước khi xóa để bạn có thể khôi phục nếu cần.

mysqldump -u root -p my_database > /backup/my_database_backup.sql

2. Hạn chế quyền xóa

Để ngăn ngừa việc thực thi nhầm DROP DATABASE, nên tránh cấp quyền DROP cho người dùng không phải quản trị viên.

REVOKE DROP ON my_database.* FROM 'user'@'localhost';
FLUSH PRIVILEGES;

3. Thiết lập quy trình để ngăn ngừa xóa nhầm

  • Trước khi xóa, xác nhận với nhóm rằng việc xóa là an toàn.
  • Chạy SHOW DATABASES; và kiểm tra lại tên cơ sở dữ liệu.
  • Chạy FLUSH PRIVILEGES; để xóa bộ nhớ đệm dữ liệu quyền hạn.

4. Chuẩn bị các tùy chọn khôi phục sau khi xóa

  • Trong môi trường đám mây, kiểm tra cài đặt snapshot và sao lưu tự động.
  • Kích hoạt binary logs để theo dõi các thay đổi.
    SHOW BINLOG EVENTS;
    
  • Nếu việc xóa xảy ra, dừng máy chủ ngay lập tức để ngăn chặn việc ghi đè.
    systemctl stop mysql
    

Lưu ý cuối cùng

Lệnh MySQL DROP DATABASE là một công cụ mạnh mẽ, nhưng phải được xử lý cực kỳ cẩn thận. Đặc biệt trong môi trường sản xuất, việc hiểu trước tác động và thực hiện các biện pháp phòng ngừa thích hợp là vô cùng quan trọng.

Sử dụng hướng dẫn trong bài viết này để quản lý các cơ sở dữ liệu một cách an toàn.