วิธีการก็มีหลายแบบครับ..แล้วแต่ว่าใครจะถนัดแบบไหน อีกทั้งก็ขึ้นอยู่กับจำนวนของข้อมูลเก่าที่มีด้วยว่ามีมากน้อยเพียงใดเพราะนั่นหมายถึงระยะเวลารอคอยในการปรับเปลี่ยนโครงสร้างที่มียาวนานขึ้นนั้นเอง...วิธีการที่ปลอดภัยที่สุด(ที่ผมทำ)ก็คือ หาเครื่องซักเครื่องนึง อาจจะเป็นวินโดว์ก็ได้ ทำ initial import ข้อมูลมาจากเครื่องเซิฟเวอร์จริง จากนั่น ก็เปลี่ยน ไอพีของเครื่องสำรองเป็นไอพีที่ใช้จริง..ในระหว่างนี้อาจจะต้องหยุดเซอร์วิสของมายเอสคิวแอลไว้ซัก แป๊บ...(ยูสเซอร์อาจจะไม่รู้สึก) แล้วก็เปลี่ยนไอพีของเซอร์เวอร์หลักที่เคยใช้เป็นไอพีอื่น..ไม่งั้นก็จะชนกับไอพีของเครื่องที่เราทำขึ้นใหม่.....เท่านี้ก็จะได้เครื่องไว้ให้บริการผู้ใช้งานแล้ว..และในระหว่างนี้เราก็จะอัพ จากมายเอสคิวแอล 4.1 เป็น 5 ด้วยขั้นตอน
ลีนุกซ์นะครับ...
1.สำรองข้อมูลทั้งหมดในฐานไว้ในเครื่องด้วยคำสั่ง(ถ้ามีหลายดาต้าเบสควรจะมีเหลือไว้แค่เพียงที่ใช้งานจริงฐานเดียวนะครับ)จะได้ไฟล์ เอสคิวแอล 1 ไฟล์ เก็บไว้ที่ /root/mysqldata.sql
mysqldump --opt --single-transaction -A > /root/mysqldata.sql
2.หยุดการใช้งานของมายเอสคิวแอล
service mysql stop
3. พื้นที่ชั่วคราวสำหรับพักข้อมูลในการติดตั้ง
export TMP=/tmp
export TMPDIR=/tmp
4.ลบไฟล์คอนฟิกเดิมออก...พร้อมทั้งเซอร์วิสและข้อมูลเดิม(ก๊อบไฟล์คอนฟิกเดิม my.cnf เอาไว้ก่อนด้วยครับเก็บไว้ที่เดีวกันกับที่เราโหลดไฟล์ อาพีเอ็มมา)
rm -fr /etc/my.cnf
rm -fr /var/lib/mysql
rm -f /etc/init.d/mysql*
5.ติดตั้ง แพคเกจของเวอร์ชั่นใหม่(หาโหลดเอาที่ใกล้เคียงก็ได้ครับ)
rpm -ivh MySQL-shared-compat-5.0.19-0.glibc23.i386.rpm --nodeps --force
rpm -ivh MySQL-client-5.0.19-0.glibc23.i386.rpm --nodeps --force
rpm -ivh MySQL-server-5.0.19-0.glibc23.i386.rpm --nodeps --force
6. หยุดการใช้งานชั่วคราว
service mysql stop
7.ก๊อปปี้ไฟล์คอฟิกกลับคืนสู่ที่เดิมพร้อมทั้งกำหนดสิทธิการเข้าอ่านไฟล์ด้วย 744
cp my.cnf /etc
chmod 744 /etc/my.cnf
8.เร่มการใช้งาน
service mysql start
9. สร้างฐานข้อมูล(แล้วแต่จะตั้งนะครับ.)
mysql -e "drop database if exists DBsbr"
mysql -e "create database DBsbr"
mysql -e "grant all on DBsbr.* to sa@'%' identified by 'sa'"
10.นำข้อมูลเข้าสู่ฐานข้อมูลด้วยคำสั่ง
mysql < /root/mysqldata.sql
หรือ
ใช้การ initial import กลับคืนมาจากเครื่องวินโดว์
จากนั้นรอให้อิมพอร์ตเสร็จ...แล้วก็รัน รีพลิเคชั้นให้ข้อมูลที่ใช้งานในช่วงระหว่างที่เราทำงานเข้ามาที่ฐานตัวใหม่นี้อีกที....เมื่อข้อมูลเท่ากันสองเครื่อง...ก็ควรจะทำการเปลี่ยนไอพีกลับคืนด้วย..เสร็จแล้วครับ.....
********** ลบ ไฟล์ mysqldata.sql ออกด้วยครับ..เพื่อฟรีฮาร์ดดิสก์
**********ref. อ.ชัยพร ครับ..
หรือจะใช้ตัวอัพเกรดเฮ้วเปอร์ที่ อ เคยทำไว้ก็ได้ครับ..แต่ผมยังไม่ได้ลองตัวนี้..ไฟล์แนบครับ