MariaDB Cách thay đổi mục lưu dữ liệu mặc định trong MySQL/MariaDB

diephan

Moderator
Cơ sở dữ liệu phát triển theo thời gian, đôi khi tăng thêm dung lượng trên hệ thống tệp và có thể xảy ra tranh chấp I / O khi chúng nằm trên cùng một phân vùng với phần còn lại của hệ điều hành. Trong trường hợp đó, bạn có thể muốn di chuyển cơ sở dữ liệu MySQL của mình từ phân vùng gốc sang một phân vùng khác.

Tạo một thư mục mới để lưu dữ liệu:

mkdir /Backup/mysql-data


Thư muc này phải được sở hữu bởi mysql

chown -R mysql:mysql /Backup/mysql-data
1.jpg


1. Xác định mục lưu trữ dữ liệu hiện tại

mysql -u root -p -e "SELECT @@datadir;"
Sau khi nhập mật khẩu sẽ hiển thị mục lưu trữ như sau:

2.jpg


2. Sao chép dữ liệu qua thư mục mới

Để tránh hỏng dữ liệu, hãy dừng dịch vụ nếu nó hiện đang chạy trước khi tiếp tục. Sử dụng lệnh:
systemctl stop mariadb
systemctl is-active mariadb
3.jpg


Sau đó, sao chép nội dung của /var /lib/mysql sang /Backup/mysql-data

cp -R -p /var/lib/mysql/* /Backup/mysql-data
8.jpg


3. Định cấu hình thư mục mới

Chỉnh sửa tệp cấu hình (my.cnf) để chỉ ra thư mục dữ liệu mới (/Backup/mysql-data )

vi /etc/my.cnf
Tìm phần [mysqld] và [client] và thực hiện các thay đổi sau:

[mysqld]
datadir=/Backup/mysql-data
socket=/Backup/mysql-data/mysql.sock

[client]:
port=3306
socket=/Backup/mysql-data/mysql.sock
4.jpg


4. Đặt SELinux Security Context

Thêm SELinux Security Context vào /Backup /mysql-data trước khi khởi động lại MariaDB.

semanage fcontext -a -t mysqld_db_t "/Backup/mysql-data(/.*)?"
restorecon -R /Backup/mysql-data
5.jpg

Khởi động lại dịch vụ MySQL

systemctl start mariadb
systemctl is-active mariadb
Bây giờ, sử dụng lệnh tương tự như trong Bước 1 để xác minh vị trí của thư mục dữ liệu mới:

mysql -u root -p -e "SELECT @@datadir;"
7.jpg
 

Attachments

Last edited:
Top