Nhiều trường hợp đặc biệt là trong quá trình sao lưu và khôi phục database một số anh em sử dụng những plugin sao lưu và khôi phục không thực sự chất lượng, họ không sao lưu và khôi phục dữ liệu cấu trúc schema hoặc bạn nghịch ngu xóa linh tinh database hay anh em vọc thủ tự viết sửa đổi lại index cho hiệu suất tốt hơn cho website WordPress của mình nhưng hiệu suất còn kém hơn mà quên cách quay trở về như thế nào rất nhiều lý do…
Điều gì diễn ra nếu không có cấu trúc schema index?
Hiệu suất tốc độ sẽ giảm đi rất nhiều khi database càng lớn thì càng nhận ra hậu quả rõ rệt hơn. Database giống như một quyển sách cấu trúc schema nó giống như mục lục, nếu như bạn đọc sách nếu muốn tìm nội dung bạn cần tìm thì nhờ có mục lục thì tốc độ bạn tìm được đến thứ bạn cần tìm sẽ nhanh hơn, chứ không phải mở một từng trang một. Nếu một quyển sách nhiều trang thì mục lục càng quan trọng và ngược lại nếu quyển sách ít trang thì mục lục bớt quan trọng, thì ở đây database cũng vậy database càng lớn thì cấu trúc schema càng quan trọng.
Khi bạn mất cấu trúc schema việc chèn dữ liệu và sử lý sẽ dễ bị lỗi và đặc biệt truy vấn dữ liệu chậm đi khá nhiều.
nhưng về cơ bản website bạn vẫn sử dụng hoạt động được nhưng hoạt động không phát huy được hiệu suất của mình.
Vì sao nhiều plugin sao lưu không sao lưu schema?
vì cho file backup nó nhẹ nhưng tác hại thì rất lớn và rất nhiều lý do.
trên mạng cũng có vài bài viết hướng dẫn về chủ đề này nhưng thực sự cách thức của họ đề là ghi đè schema thực sự không hiệu quả. Vì vậy mình sáng tạo ra kỹ thuật này sẽ giúp khôi phục tuyệt đối schema về gốc chuẩn WordPress mới như lúc ban đầu.
Hướng dẫn khôi phục schema mặc định WordPress
Bài viết này mình chia sẻ hơi nâng cao một chút, nhưng mình sẽ cố gắng giải thích đơn giản nhất có thể.
Để thực hiện được yêu cầu bạn cần phải sử dụng vps hoặc máy chủ riêng chạy hệ điều hành linux bạn cần có tài khoản root thì mới có thể thực hiện theo bài viết này.
Trước khi thực hiện theo bạn vui lòng backup sao lưu website trước khi thực hiện theo bài viết để đảm bảo an toàn.
Bước 1: bạn login vào ssh tài khoản root của bạn.
Bước 2: yêu cầu bạn cần tải những phần mềm này về máy chủ của bạn
- mydumper (đây là phần mềm sao lưu và khôi phục database cực mạnh dành cho những website database cực lớn database trên 10GB thì không lạ lẫm gì còn database nhỏ thì anh em cũng chả cần phải quan tâm, với phần mềm này rồi phần mềm này rất mạnh, trong trường hợp này mình tận dụng nó để tác dữ liệu schema cấu trúc)
- máy chủ database mariadb hoặc mysql
- wget (để tải file)
khi đã chuẩn bị đầy đủ các phần mềm yêu cầu cần thiết thì giờ chuyển sang bước tiếp theo.
bước 3: Bạn tạo một thư mục tạm. bạn gõ lệnh:
mkdir -p /tmp/backup-db
bước 4: Bạn tải đoạn backup schema mặc định này về máy chủ bạn gõ lệnh.
cách 1: tải trực tiếp từ máy chủ
cái này yêu cầu máy chủ của bạn phải có phần mềm wget
cd /tmp/backup-db
wget https://wptangtoc.com/share/schema-wp.sql
cách 2: tải về máy tính của bạn
Downloadbạn click vào download để tải đoạn schema về máy tính, rồi sau đó bạn có thể dùng sftp hay ftp uploads file này vào thư mục /tmp/backup-db
bước 5: thay đổi tiền tố.
Nhiều anh em thay đổi tiền tố database để nâng cao bảo mật, nếu như bạn không thay đổi tiền tố vẫn giữ tiền tố mặc định là wp_ thì bạn có thể bỏ qua bước này.
nếu như bạn đã thay đổi tiền tố thì yêu cầu bạn cần sửa lại file schema-wp.sql mình vừa gửi cho bạn ở bước 4 trên.
Bạn thay nội dung bên trong file .sql mình gửi. wp_ bằng đúng tiền tố của bạn đang sử dụng.
Bạn có thể dùng lệnh này vào terminal, bạn thay wpgiatuan_ bằng đúng tiền tố database bạn đang sử dụng.
sed -i "s/wp_/wpgiatuan_/g" /tmp/backup-db/schema-wp.sql
hoặc bạn có thể dùng, những công cụ chỉnh sửa code như vscode, notepad… ấn ctrl + H thay thế nội dung wp_ bằng tiền tố của bạn đang sử dụng.
bước 6: code toàn bộ những đoạn code mình viết này.
#!/bin/bash
DB_User_web='hãy thay thế tên user database'
DB_Password_web='hãy điền password user database'
DB_Name_web='hãy điền tên database'
mydumper --host='localhost' --user="$DB_User_web" --password="$DB_Password_web" --database="$DB_Name_web" --outputdir=/tmp/backup-db
database_goc_wordpress=('commentmeta' 'comments' 'links' 'options' 'postmeta' 'posts' 'termmeta' 'term_relationships' 'terms' 'term_taxonomy' 'usermeta' 'users')
for database_xoa_backup_schema in ${database_goc_wordpress[@]};do
database_xoa_backup_schema=$(echo ${database_xoa_backup_schema}-schema.sql)
check=$(ls -At /tmp/backup-db | grep $database_xoa_backup_schema)
if [[ $check ]];then
rm -rf /tmp/backup-db/$check
fi
done
find /tmp/backup-db -type f -name "*-schema-create.sql" -delete
mysql -u $DB_User_web -p"$DB_Password_web" -e "DROP DATABASE IF EXISTS ${DB_Name_web}"
mysql -u $DB_User_web -p"$DB_Password_web" -e "CREATE DATABASE IF NOT EXISTS ${DB_Name_web}"
mysql -u $DB_User_web -p"$DB_Password_web" $DB_Name_web </tmp/backup-db/schema-wp.sql
rm -f /tmp/backup-db/schema-wp.sql
for DUMP in /tmp/backup-db/*.sql;
do
if [[ $(echo $DUMP | grep -c '-schema.sql') = '1' ]];then
mysql -u $DB_User_web -p"$DB_Password_web" ${DB_Name_web} --force < ${DUMP}
fi
done
for DUMP in /tmp/backup-db/*.sql;
do
if [[ $(echo $DUMP | grep -c '-schema.sql') = '0' ]];then
mysql -u $DB_User_web -p"$DB_Password_web" ${DB_Name_web} --force < ${DUMP}
fi
done
echo "Hoàn tất reset cài đặt gốc cấu trúc schema WordPress"
bạn copy toàn bộ nội dung đoạn code sau đó bạn thay dòng 2,3,4 bạn thay đúng tên username database, password username, database nhớ để trong dấu ngoặc đơn nhé.
Sau đó bạn lưu ra một cái file dưới dạng .sh bạn thích đặt tên nào tùy bạn, ví dụ ở đây mình sẽ đặt là giatuandz.sh
bước 6: thực thi lệnh.
bạn uploads file giatuandz.sh vào máy chủ của bạn, vào thư mục nào đó ở đây mình chuyển luôn vào thư mục: /tmp/backup-db
sau đó gõ lệnh:
bash /tmp/backup-db/giatuandz.sh
như vậy là xong chúc bạn thành công.
Kết luận.
bài viết này mình đã chia sẻ hướng dẫn các bạn cách khôi phục schema index cài đặt gốc của WordPress để giúp website hoạt động hiệu suất tốt hơn và ổn định hơn và sửa lỗi database. lỗi này dễ gặp phải khi bạn sử dụng một số plugin sao lưu và khôi phục website không thực sự chất lượng hoặc bạn nghịch ngu xóa linh tính
Để lại một bình luận