Thay đổi thư mục lưu trữ cơ sở dữ liệu sẽ giúp người dùng tăng dung lượng lưu trữ trong trường hợp ổ đĩa chứa hệ điều hành bị quá tải.
Đầu tiên ta sẽ tạo thư mục lưu trữ và phân quyền cho thư mục đó dưới quyền mysql:mysql
bằng lệnh
$ sudo mkdir /home/mysql-data $ sudo chown -R mysql:mysql /home/mysql-data
Tiếp đó xác định nơi lưu trữ cơ sở dữ liệu bằng lệnh
$ sudo mysql -u root -p -e "SELECT @@datadir;" Kết quả +-----------------+ | @@datadir | +-----------------+ | /var/lib/mysql/ | +-----------------+
Tiếp đó để tránh dữ liệu bị lỗi ta cần tắt dịch vụ MariaDB đi (câu lệnh thứ nhất là tắt dịch vụ, câu lệnh thứ 2 là kiểm tra xem dịch vụ còn chạy không)
$ sudo systemctl stop mariadb $ sudo systemctl is-active mariadb Kết quả inactive
Sau đó copy thư mục đang chứa các file cơ sở dữ liệu sang thư mục vừa tạo
$ sudo cp -R -p /var/lib/mysql/* /home/mysql-data
Tiếp đến là chỉnh sửa file cấu hình của MySQL. Đầu tiên kiểm tra file này
$ sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
Thay đổi thông số của datadir như bên dưới (chủ yếu là thay đổi đường dẫn của của datadir thôi, những cái khác giữ nguyên)
[mysqld] user = mysql pid-file = /run/mysqld/mysqld.pid socket = /run/mysqld/mysqld.sock port = 3306 basedir = /usr datadir = /home/mysql-data tmpdir = /tmp lc-messages-dir = /usr/share/mysql
Ấn Ctrl + O để lưu và Ctrl + X để thoát. Tiếp theo, để MariaDB bật lên không bị lỗi thì bạn cần tạo một file cấu hình “/etc/systemd/system/mariadb.service.d/override.conf” để tắt chức năng ProtectHome theo chính sách của Debian. Bạn tạo file sau bằng lệnh
$ sudo systemctl edit mariadb
Sau đó thêm đoạn code sau:
[Service] # Prevent accessing /home, /root and /run/user ProtectHome=false
Ấn Ctrl + O để lưu và Ctrl + X để thoát. Sau đó reload lại dịch vụ daemon
$ sudo systemctl daemon-reload
Cuối cùng bật lại dịch vụ MariaDB và tận hưởng thành quả
$ sudo systemctl start mariadb $ sudo systemctl is-active mariadb Kết quả: active $ sudo mysql -u root -p -e "SELECT @@datadir;" Kết quả: +------------------------+ | @@datadir | +------------------------+ | /home/mysql-data/ | +------------------------+
Trên đây mình đã trình bày cách thay đổi đường dẫn mặc định của MariaDB. Bài viết sử dụng Ubuntu 20.4 và MariaDB 10.3. Chúc các bạn thành công