Tiếng Việt
Cơ sở dữ liệu
FlashPanel hỗ trợ MySQL, MariaDB, PostgreSQL và MongoDB. Sau khi cài, mỗi loại có một menu riêng mang tên ứng dụng (ví dụ MySQL, MariaDB) trong menu của máy chủ. Tại đó bạn tạo cơ sở dữ liệu, tạo người dùng, nhập/xuất dữ liệu và (với MySQL/MariaDB) chỉnh cấu hình.
Cài đặt cơ sở dữ liệu
Khi tạo máy chủ: ở bước Chọn ứng dụng cài đặt sẵn của trang kết nối máy chủ, chọn MySQL hoặc MariaDB (chỉ chọn được một trong hai; MySQL được chọn sẵn). Bạn có thể chọn thêm PostgreSQL và MongoDB.
Sau khi đã có máy chủ: cài từ menu Ứng dụng của máy chủ (xem Ứng dụng).
Tài khoản quản trị cơ sở dữ liệu
- MySQL/MariaDB: khi máy chủ cài đặt xong, FlashPanel gửi email thông báo cho bạn, trong đó có mục MySQL/MariaDB Information gồm tài khoản (
flashpanel) và mật khẩu được tạo ngẫu nhiên. - PostgreSQL: khi PostgreSQL cài xong, FlashPanel gửi email chứa tài khoản quản trị (Super User, cũng là
flashpanel) và mật khẩu.
Hãy lưu lại các thông tin này ở nơi an toàn.
Tạo cơ sở dữ liệu
- Mở menu cơ sở dữ liệu của máy chủ (ví dụ MySQL).
- Trong phần Cơ sở dữ liệu, bấm Tạo cơ sở dữ liệu.
- Nhập Tên cơ sở dữ liệu. Nếu muốn, chọn người dùng được phép truy cập ở ô Quản lý bởi.
- Bấm Lưu.
Tạo người dùng cơ sở dữ liệu
- Trong phần Người dùng cơ sở dữ liệu, bấm Tạo người dùng.
- Nhập Tên người dùng và Mật khẩu (bấm biểu tượng chìa khóa để tạo mật khẩu ngẫu nhiên).
- Với MySQL/MariaDB: bật Truy cập từ xa nếu người dùng cần kết nối từ máy khác (xem Truy cập MySQL từ xa), và chọn Authentication Plugin nếu ứng dụng của bạn yêu cầu (để mặc định nếu không chắc).
- Chọn các cơ sở dữ liệu người dùng được dùng:
- MySQL/MariaDB, PostgreSQL: chọn ở ô Cấp quyền cho cơ sở dữ liệu.
- MongoDB: chọn Cơ sở dữ liệu và Vai trò; bấm Thêm vai trò để thêm nhiều cặp.
- Bấm Lưu.
Nhập cơ sở dữ liệu
Bạn có thể nhập tệp dump .sql hoặc .sql.gz vào một cơ sở dữ liệu có sẵn.
Từ trang cơ sở dữ liệu
- Bấm Import ở dòng cơ sở dữ liệu cần nhập.
- Tải lên tệp dump. Đánh dấu Xóa file sau khi nhập nếu muốn xóa tệp khỏi máy chủ sau khi xong.
- Bấm Nhập cơ sở dữ liệu.
Từ Quản Lý File (khi tệp đã nằm trên máy chủ)
- Mở Quản Lý File, tìm tệp dump.
- Bấm chuột phải vào tệp, chọn Nhập cơ sở dữ liệu.
- Chọn cơ sở dữ liệu đích ở ô Cơ sở dữ liệu, bấm Gửi.
Xuất cơ sở dữ liệu
- Bấm Export ở dòng cơ sở dữ liệu cần xuất.
- Trong hộp thoại Tải xuống cơ sở dữ liệu, bấm Tạo bản sao lưu.
- Khi bản sao lưu được tạo xong, bấm Tải Về. Tệp tự động bị xóa khỏi máy chủ sau 3 giờ.
Để sao lưu định kỳ lên Google Drive, S3…, dùng tính năng Sao lưu.
Đồng bộ từ máy chủ
Nếu bạn tạo hoặc xóa cơ sở dữ liệu/người dùng trực tiếp trên máy chủ (không qua FlashPanel), bấm Đồng bộ từ máy chủ ở đầu trang để cập nhật danh sách theo thực tế.
Cập nhật cấu hình MySQL/MariaDB
Với MySQL/MariaDB, phần Cập nhật cấu hình MySQL (hoặc MariaDB) ở cuối trang cho phép chỉnh các thông số quan trọng mà không cần sửa tệp cấu hình. Mỗi ô có mô tả ngắn ngay bên dưới.
- Bấm Khuyến nghị để điền các giá trị khuyến nghị, hoặc tự sửa từng ô.
- Bấm Cập nhật để lưu và áp dụng.
Bấm my.cnf để xem tệp cấu hình hiện tại, Làm mới để tải lại giá trị đang dùng trên máy chủ.
Các thông số có thể chỉnh:
| Thông số | Ý nghĩa |
|---|---|
port | Cổng MySQL lắng nghe kết nối |
bind-address | Địa chỉ IP MySQL nhận kết nối (đổi khi cần truy cập từ xa) |
skip-log-bin | Tắt binary log để tăng hiệu suất khi không dùng replication |
max_connections | Số kết nối đồng thời tối đa |
max_allowed_packet | Kích thước tối đa của một gói dữ liệu (tăng nếu nhập dữ liệu lớn bị lỗi) |
innodb_buffer_pool_size | RAM dành cho bộ đệm dữ liệu InnoDB; thông số ảnh hưởng hiệu suất nhiều nhất |
innodb_buffer_pool_instances | Số phân vùng của bộ đệm InnoDB |
innodb_flush_log_at_trx_commit | Cân bằng giữa an toàn dữ liệu và tốc độ ghi |
slow_query_log | Bật ghi nhật ký các truy vấn chậm |
long_query_time | Số giây để một truy vấn bị coi là chậm |
sort_buffer_size | Bộ nhớ cho thao tác sắp xếp (ORDER BY, GROUP BY) |
binlog_expire_logs_seconds | Thời gian giữ binary log trước khi tự xóa |
innodb_flush_method | Cách InnoDB ghi dữ liệu xuống ổ đĩa |
TIP
innodb_buffer_pool_size thường đặt khoảng 70–80% RAM nếu máy chủ chỉ chạy cơ sở dữ liệu. Nếu máy chủ còn chạy web server và PHP, hãy đặt thấp hơn để chừa RAM cho chúng.
Khắc phục sự cố
Cảnh báo "'mysql_native_password' is deprecated"
Log của MySQL có dòng:
text
[Warning] Plugin mysql_native_password reported: 'mysql_native_password' is deprecated and will be removed in a future release. Please use caching_sha2_password insteadĐây chỉ là cảnh báo, MySQL vẫn hoạt động bình thường. Để tương thích với các ứng dụng cũ, FlashPanel bật plugin xác thực mysql_native_password khi cài MySQL, và MySQL ghi cảnh báo này mỗi khi một người dùng dùng plugin đó đăng nhập. MySQL 9 sẽ bỏ hẳn plugin này, vì vậy hãy chuyển người dùng sang caching_sha2_password khi thuận tiện:
- Trong phần Người dùng cơ sở dữ liệu, bấm biểu tượng sửa ở dòng của người dùng.
- Chọn
caching_sha2_passwordở ô Authentication Plugin. Nếu cột Có thể sử dụng yêu cầu đổi mật khẩu, nhập thêm Mật khẩu mới và cập nhật mật khẩu đó trong ứng dụng. - Bấm Lưu.
Ứng dụng chạy PHP 7.4 trở lên và các driver MySQL hiện nay đều hỗ trợ caching_sha2_password. Nếu một ứng dụng cũ không kết nối được nữa, chuyển người dùng đó về lại mysql_native_password.
Với MySQL 8.0, người dùng mới không chỉ định plugin cũng sẽ dùng mysql_native_password, do dòng default_authentication_plugin=mysql_native_password trong /etc/mysql/my.cnf. Để đổi mặc định, bấm Cấu hình ở dòng MySQL trong trang Ứng dụng, sửa dòng đó thành default_authentication_plugin=caching_sha2_password, lưu tệp rồi bấm Khởi động lại. Với MySQL 8.4, giữ nguyên dòng mysql_native_password=ON cho tới khi không còn người dùng nào dùng plugin cũ, nếu không những người dùng đó sẽ không đăng nhập được nữa.
Lỗi "Table is crashed and last repair failed" (Error 144)
MySQL/MariaDB không khởi động được và log lỗi có các dòng như:
text
[ERROR] mariadbd: Got error '144 "Table is crashed and last repair failed"' for './mysql/db'
[ERROR] Fatal error: Can't open and lock privilege tables: Got error '144 "Table is crashed and last repair failed"' for './mysql/db'Tệp của một bảng bị hỏng (thường sau khi máy chủ bị treo, mất điện hoặc đầy ổ đĩa) và lần sửa tự động cũng thất bại. Vì cơ sở dữ liệu không khởi động được, bạn cần sửa bảng ở chế độ offline. Các bước dưới đây sửa bảng mysql.db trên MariaDB; thay mariadb bằng mysql nếu máy chủ dùng MySQL. Chạy các lệnh bằng root trong Terminal hoặc qua SSH.
WARNING
Nếu ổ đĩa còn chỗ, hãy sao chép thư mục dữ liệu /var/lib/mysql ra nơi an toàn trước khi sửa.
Xác định storage engine của bảng qua phần mở rộng của tệp trong
/var/lib/mysql/<database>/:bashls -lh /var/lib/mysql/mysql/db.*.MAIvà.MAD: Aria, sửa bằngaria_chk..MYIvà.MYD: MyISAM, sửa bằngmyisamchk..ibd: InnoDB. Các công cụ này không áp dụng được, hãy liên hệ bộ phận hỗ trợ của FlashPanel.
Dừng hẳn cơ sở dữ liệu để nó không tự khởi động lại trong lúc sửa, rồi kiểm tra không còn tiến trình nào (lệnh cuối phải không in ra gì):
bashsudo systemctl stop mariadb sudo systemctl mask mariadb pgrep -a -f 'mysqld|mariadbd'Sửa bảng:
bash# Aria cd /var/lib/mysql/mysql sudo aria_chk -r db # MyISAM sudo myisamchk -r /var/lib/mysql/<database>/<table>.MYIThông báo kiểu
Can't find file ... aria_log_controllà bình thường, quá trình sửa vẫn tiếp tục.Khởi động lại cơ sở dữ liệu:
bashsudo systemctl unmask mariadb sudo systemctl start mariadbNếu vẫn lỗi và log nhắc tới một bảng khác (ví dụ
mysql.global_priv), lặp lại bước 1–4 cho bảng đó.Khi cơ sở dữ liệu đã chạy, kiểm tra toàn bộ bảng bằng tài khoản quản trị được gửi qua email khi cài MySQL/MariaDB:
bashmysqlcheck -u flashpanel -p -AscBảng nào còn lỗi thì sửa bằng
mysqlcheck -u flashpanel -p -r database_name table_name.
Xem thêm
- Truy cập MySQL từ xa
- phpMyAdmin: trong FlashPanel, phpMyAdmin được cài như một website độc lập.