diephan
Moderator
- Joined
- Sep 7, 2020
- Messages
- 58
- Reaction score
- 19
- Points
- 8
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:
Thư muc này phải được sở hữu bởi mysql
1. Xác định mục lưu trữ dữ liệu hiện tại
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:
Sau đó, sao chép nội dung của /var /lib/mysql sang /Backup/mysql-data
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 )
Tìm phần [mysqld] và [client] và thực hiện các thay đổi sau:
4. Đặt SELinux Security Context
Thêm SELinux Security Context vào /Backup /mysql-data trước khi khởi động lại MariaDB.
Khởi động lại dịch vụ MySQL
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:
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. Xác định mục lưu trữ dữ liệu hiện tại
Sau khi nhập mật khẩu sẽ hiển thị mục lưu trữ như sau:mysql -u root -p -e "SELECT @@datadir;"
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
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
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. Đặ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
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;"
Attachments
Last edited: