จำลองเหตุการณ์ ย้ายฐานข้อมูลระหว่าง Server สมมุติชื่อ wordpress_db
**เครื่องต้นทาง**
– ดูให้แน่ใจว่ามีฐานข้อมูลเป้าหมายมีอยู่จริง
mysql -u root -p -e “SHOW DATABASES;”
– Dump เฉพาะฐานข้อมูล wordpress_db ไปเก็บไว้ เช่น root/wordpress_db.sql
mysqldump -u root -p \
–routines \
–triggers \
–single-transaction \
–default-character-set=utf8mb4 \
wordpress_db > /root/wordpress_db.sql
-ส่ง ไปยังเครื่องใหม่ (User ต้องมีสิทธิ์เป็น Root)
scp /root/wordpress_db.sql root@[IP_เครื่อง_DB_ใหม่]:/root/
——————————-
**** เครื่องปลายทาง ***
-สร้างฐานข้อมูลเปล่ารองรับฝั่งปลายทาง
mariadb -u root -p -e “CREATE DATABASE wordpress_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;”
-นำเข้าข้อมูล
mariadb -u root -p wordpress_db < /root/wordpress_db.sql
-ตรวจสอบความสมบูรณ์ของโครงสร้างตาราง
mariadb-upgrade -u root -p
-สร้าง user ที่มีสิทธิ์เข้าใช้ ฐานข้อมูล wordpress_db
mariadb -u root -p
— กรณีระบุ IP เฉพาะเจาะจงของ Web Server (แนะนำที่สุดเพื่อความปลอดภัย)
CREATE USER ‘wp_user’@’IP_WEB_SERVER’ IDENTIFIED BY ‘กำหนดรหัสผ่านที่นี่’;
GRANT ALL PRIVILEGES ON wordpress_db.* TO ‘wp_user’@’IP_WEB_SERVER’;
— หรือกรณีอนุญาตทั้งวง LAN (เช่น 192.168.1.X)
— CREATE USER ‘wp_user’@’192.168.1.%’ IDENTIFIED BY ‘กำหนดรหัสผ่านที่นี่’;
— GRANT ALL PRIVILEGES ON wordpress_db.* TO ‘wp_user’@’192.168.1.%’;
FLUSH PRIVILEGES;
EXIT;
**ทดสอบการเชื่อมต่อที่เครื่อง WebServer
mariadb -h IP_เครื่อง_DB_ใหม่ -u wp_user -p wordpress_db