ก็ไม่รู้ว่าจะมีใครเหมือนหรือเปล่า คือมี Notebook บางเฉียบแต่ไม่มี Cd-Rom ที่ Boot ได้ต่อภายนอก ทำให้ลง OS ไม่ได้ (ง่ายๆ)
ขอท้าวความจากเมื่อปีก่อน เรื่องมีอยู่ว่าไปซื้อ Notebook toshiba มือสองของประเทศญี่ปุ่นเค้ามาเป็นแบบ Ultra portable (แบบบางเฉียบ) แต่ไม่มี Cd-Rom ติดมาด้วย แต่ก็คิดว่าไม่ใช่ปัญหาก็เอามา แล้วไปซื้อ CD-Rom ของ Desktop มาต่อภายนอกแทน แต่ปัญหาคือ Bios ของเครื่องนี้มันจะไม่ Boot แผ่นจากเครื่อง Cd-Rom ที่ตัวไม่รู้จัก คือไม่ใช่ของ Toshiba จะ Boot ไม่ได้ ซวยแล้ว Boot ไม่ได้แล้วจะลง Os อย่างไร
เลยต้องไปหาวิธีซึ่งกว่าจะได้ก็กินเวลาไปเป็นสัปดาห์ ที่ลงไปรอบนั้นไม่ได้ Blog เอาไว้เพราะยังไม่เคยใช้ Blog
เอาวิธีลง Windows ก่อน
ถ้าจะลง Window ด้วย ผมใช้ Floppy Drive ที่ Boot ได้ แน่นอนต้องปะยี่ห้อ Toshiba ด้วย เป็น USB ซื้อหาได้ที่ Pantip ชั้น 4 ตอนนั้นซื้อมาตัวละ 800 บาท (ตอนนั้นเท่าไรก็จ่าย ขอให้ Boot ได้เป็นพอ) ผมใช้วิธีสร้าง ฺBoot disk จาก File ที่มีอยู่แล้วในแผ่น Windows นั่นแหละ หา file ที่ชื่อว่า makeboot.exe สั่ง Run มันแล้วมันจะขึ้นให้ใส่แผ่น Disk เพื่อสร้าง แผ่น Boot ผมลง Windows 2000 ใช้ 4 แผ่น เพราะเป็นตัว License ที่ติดมากับเครื่อง ถ้าเป็น Windows XP มันจะมี file exe สร้างแผ่น Boot ไปหาเอาจากเว็บ Microsoft ได้แล้วก็ Boot เครื่องปกติด้วย Floppy Drive ใส่ครบสี่แผ่นแล้ว มันก็จะหา CD-Rom ที่ต่อภายนอกไว้อีกตัวเจอ แล้วก็ลง Windows ไปตามปกติ
คราวนี้มาที่ตัวปัญหา Linux หลังจาก Kernel 2.6 ขึ้นไปรึไงเนี่ย มันจะจุแผ่น Boot ลง Floppy ไม่ไหวแล้ว พอดีว่าเจ้า Dynabook เครื่องนี้มันมี ฺBoot ผ่าน Lan ด้วย PXE Boot (รู้สึกจะเป็นชื่อ Protocol) ความหวังก็ผุดขึ้นมาอีกครั้ง รอบนี้ผม Upgrade จาก Ubuntu Breezy Badger เป็น Ubuntu Dapper Drake
สิ่งที่ต้องเตรียมใช้ Computer อีกเครื่องหนึ่งที่ลง Ubuntu เอาไว้แล้ว จะ Version ไหนก็ได้ แล้วลง 2 ตัวนี้
- tftpd-hpa
- dhcp3-server
- apache2
ใน /etc/inetd.conf กำหนดดังนี้ รู้สึก Default จะเป็นอย่างนี้แหละ
tftp dgram udp wait root /usr/sbin/in.tftpd /usr/sbin/in.tftpd -s /var/lib/tftpboot
ใน /etc/dhcp3/dhcpd.conf ใส่
subnet 0.0.0.0 netmask 0.0.0.0 {
}
host pxeinstall {
#ใส่ Mac address ของ Ethernet เครื่อง Notebook
hardware ethernet 00:08:0D:17:98:15;
#fix address สำหรับให้ ip กับเครื่อง Notebook อะไรก็ได้
fixed-address 192.168.1.6;
filename "pxelinux.0";
}
เอา file ที่อยู่ใน folder netboot/ ทั้งหมดจาก CD-Rom ไปไว้ใน /var/lib/tftpboot ถ้าหาไม่เจอเข้าไปเอาได้ที่ http://archive.ubuntu.com/ubuntu/dists/dapper/main/installer-i386/current/images/netboot/
เอามาแค่ 3 ตัวก็พอ คือ pxelinux.0 pxelinux.cfg ubuntu-installer
เสร็จแล้ว reboot service ทั้ง 2 ตัว
$sudo /etc/init.d/tftpd-hpa restart
$sudo /etc/init.d/dhcp3-server restart
แต่พอมาถึงขึ้นตอนนี้ผมเจอมาแล้วมันยังไม่สามารถใช้การได้ ผมต้อง reboot เครื่องที่เป็น server ก่อน จึงจะ reboot service นี้ได้ ตอนนั้นก็ทำเอาสติแตกเหมือนกันว่าทำไมไม่ได้สักที
ทีนี้ก็ copy file จาก CD Ubuntu ทั้งหมดไปลงไว้ใน folder ที่เป็น Root ของ Webserver โดย default เลย หลังลง Apache แล้ว Root จะอยู่ที่ /var/www/ จะ copy ไปไว้ที่นี่เลยก็ได้ อันนี้ทำเพื่อให้มันเป็น Local Repository
ต่อมา ต่อสาย Lan แบบ Peer-to-Peer หรือจะแบบไหนก็ได้ให้มันเห็นเครื่องกัน เปิดเครื่อง Notebook แล้วรีบกด F2 ก่อนมันจะเข้า ไป Boot Hdd แล้วมันจะให้เลือก Boot ก็เลือกที่มันเป็นรูป Lan แล้วก็รอมันจะเข้าไปหน้า ฺBoot Screen ของ Ubuntu ตามปกติ พอถึงขั้นตอนเลือก Repositories ให้เลือกแบบ กำหนดเอง แล้วพิมพ์ address ของ ตัว server ไป เช่น http://192.168.1.1/ แต่ถ้าจะดึงจาก Net โดยตรงเลยก็ได้ ใช้ Repository ที่มันมีให้เลือกได้เลย เลือกของไทยจะเร็วดี แต่ Net ต้องแรงพอดูเลย อย่างผมหมดสิทธิ์เลยต้องตั้งเป็น Local Repository แทน
เอามาจาก
http://wiki.koeln.ccc.de/index.php/Ubuntu_PXE_Install
MrsJan
8 ต.ค. 2549
12 ตุลาคม 2549
10 วิธีแก้ปัญหาโลกร้อน ง่ายๆ ทำได้ทุกคน
1. เปลี่ยนหลอดไฟ จากหลอดกลมหันมาใช้หลอดตะเกียบแทน เชื่อไหมว่าลดการใช้คาร์บอนไดออกไซด์ได้ 150 ปอนด์ต่อปี
2. ขับรถน้อยลง หันมาเดิน ขี่จักรยาน บริการขนส่งมวลชน หรือเลือกติดรถเพื่อน ทางเดียวกันไปด้วยกัน แค่นี้ ก็สามารถลดคาร์บอนไดออกไซด์ได้ 1 ปอนด์ทุกๆ 1 ไมล์ที่เราลดการขับขี่
3. รีไซเคิลของให้มากขึ้น แค่รีไซเคิลขยะในบ้านเพียงครึ่งหนึ่งก็ช่วยลดคาร์บอนไดออกไซด์ได้ถึง 2,400 ปอนด์ต่อปี
4. เช็คลมยาง รักษาระดับลมยางให้เหมาะสม ช่วยประหยัดการใช้น้ำมันได้ถึง 3% และการประหยัดน้ำมันในทุกๆ แกลลอน จะช่วยลดคาร์บอนไดออกไซด์ในชั้นบรรยากาศได้ 20 ปอนด์
5. ใช้น้ำร้อนน้อยลง เปิดเครื่องทำน้ำอุ่นแต่ละครั้งใช้พลังงานจำนวนมาก อาบน้ำด้วยน้ำอุ่นน้อยลง และอย่าเปิดฝักบัวแรงสุด ลดคาร์บอนไดออกไซด์ได้ 350 ปอนด์ต่อปี
6.การเลือกซักผ้าในน้ำธรรมดาช่วยลดคาร์บอนไดออกไซด์ได้ถึง 500 ปอนด์ต่อปี
7. เลี่ยงซื้อสินค้าที่ใช้บรรจุภัณฑ์สิ้นเปลือง ลดขยะได้ 10% ลดคาร์บอนไดออกไซด์ได้ถึง 1,200 ปอนด์ต่อปี
8. ตั้งอุณหภูมิเครื่องปรับอากาศให้เหมาะสม ปรับตั้งเครื่องปรับอากาศไว้ 25 องศา ช่วยลดคาร์บอนไดออกไซด์ได้โข
9. ปลูกต้นไม้ ต้นไม้ 1 ต้นดูดซึมคาร์บอนไดออกไซด์ได้ถึง 1 ตัน
10. ปิดเครื่องใช้ไฟฟ้า แค่เพียงปิดโทรทัศน์ เครื่องเล่นดีวีดี เครื่องเสียง คอมพิวเตอร์ หรือเครื่องใช้ไฟฟ้าอื่นๆ เมื่อไม่ใช้ ช่วยโลกลดคาร์บอนไดออกไซด์ได้เป็นพันๆ ปอนด์ต่อปี
MrsJan
8 ต.ค. 2549
2. ขับรถน้อยลง หันมาเดิน ขี่จักรยาน บริการขนส่งมวลชน หรือเลือกติดรถเพื่อน ทางเดียวกันไปด้วยกัน แค่นี้ ก็สามารถลดคาร์บอนไดออกไซด์ได้ 1 ปอนด์ทุกๆ 1 ไมล์ที่เราลดการขับขี่
3. รีไซเคิลของให้มากขึ้น แค่รีไซเคิลขยะในบ้านเพียงครึ่งหนึ่งก็ช่วยลดคาร์บอนไดออกไซด์ได้ถึง 2,400 ปอนด์ต่อปี
4. เช็คลมยาง รักษาระดับลมยางให้เหมาะสม ช่วยประหยัดการใช้น้ำมันได้ถึง 3% และการประหยัดน้ำมันในทุกๆ แกลลอน จะช่วยลดคาร์บอนไดออกไซด์ในชั้นบรรยากาศได้ 20 ปอนด์
5. ใช้น้ำร้อนน้อยลง เปิดเครื่องทำน้ำอุ่นแต่ละครั้งใช้พลังงานจำนวนมาก อาบน้ำด้วยน้ำอุ่นน้อยลง และอย่าเปิดฝักบัวแรงสุด ลดคาร์บอนไดออกไซด์ได้ 350 ปอนด์ต่อปี
6.การเลือกซักผ้าในน้ำธรรมดาช่วยลดคาร์บอนไดออกไซด์ได้ถึง 500 ปอนด์ต่อปี
7. เลี่ยงซื้อสินค้าที่ใช้บรรจุภัณฑ์สิ้นเปลือง ลดขยะได้ 10% ลดคาร์บอนไดออกไซด์ได้ถึง 1,200 ปอนด์ต่อปี
8. ตั้งอุณหภูมิเครื่องปรับอากาศให้เหมาะสม ปรับตั้งเครื่องปรับอากาศไว้ 25 องศา ช่วยลดคาร์บอนไดออกไซด์ได้โข
9. ปลูกต้นไม้ ต้นไม้ 1 ต้นดูดซึมคาร์บอนไดออกไซด์ได้ถึง 1 ตัน
10. ปิดเครื่องใช้ไฟฟ้า แค่เพียงปิดโทรทัศน์ เครื่องเล่นดีวีดี เครื่องเสียง คอมพิวเตอร์ หรือเครื่องใช้ไฟฟ้าอื่นๆ เมื่อไม่ใช้ ช่วยโลกลดคาร์บอนไดออกไซด์ได้เป็นพันๆ ปอนด์ต่อปี
MrsJan
8 ต.ค. 2549
Firefox Extensions
Firefox Extensions เป็นส่วนเพิ่มเติมความสามารถของ Firefox ให้น่าใช้ยิ่งขึ้น และยิ่งขึ้นจริงๆ จนติดใจไปใช้เครื่องที่ไม่มี Extension ที่ใช้อยู่แล้วจะรู้สึกหงุดหงิดอย่างแรง อย่างที่ใช้อยู่ตอนนี้ จะมีอยู่ 3 ตัวคือ
1. Tab Mix Plus - แต่ก่อนจะมาใช้ตัวนี้ก็ไปใช้พวก recovery ต่างหากเจอตัวนี้ตัวเดียว combo หมดเลยตั้งแต่กำหนด Behavier mouse ปุ่มเปิดปิด tab จะวางไว้ทุก tab หรือไว้ที่เดียว ทำให้ scroll mouse tab ได้ สารพัดจนใช้ไม่หมด และพวก setting พวกนี้จะสามารถ export ไว้ได้ด้วยเวลาไปใช้ที่อื่นอาจต้องพกพาไปด้วย
2. Down Them All - อันนี้เอาไว้เติมเต็มเลยสำหรับ download manager ของ firefox ยังไม่ค่อยดีนัก เพราต่อ file ไม่ได้ แต่ตัวนี้ต่อได้ firefox น่าจะรวมตัวนี้ไว้ในตัวด้วยเลย
3. Remider Fox - ใช้สม่ำเสมอเหมือนกันตัวนี้ เอาไว้จดสิ่งที่จะต้องทำเอาไว้เตือนความจำ เพราะปกติ Firefox ต้องเปิดใช้อยู่ตลอดเวลาแล้ว
4. IE Tab - จำลอง Firefox เป็น IE น่าเสียดายที่ support เฉพาะบน Windows เท่านั้น
5. ColorZilla - Pick up สีเจ๋งมากๆ ปกติจะเปิด kcolorchooser มาใช้ช้ามากเพราะเป็น app ของ kde แต่น่าเสียดายไม่รู้ทำไมมันยังไม่ support version ที่ใช้อยู่ 1.5.0.3
6. Firebug - เอามา debug javascript ซะให้เข็ด พวก addon บน browser มันห่วย เห็นว่า debug ajax ได้ด้วย
7. Measureit - เอาไม้บรรทัดไปวัดขนาดบนหน้า browser จะได้ไม่ต้องนั่งเดา pixel ให้เสียเวลา เสียอย่างเดียวพอจะใช้มันแล้ว ลาก cursor จะอืดๆ กะยาก
แค่นี้ก็ IE ก็ตามลอกเลียนแบบไม่ทันแล้ว
หามาใช้ได้ที่นี่
https://addons.mozilla.org/extensions.php?app=firefox
MrsJan
8 ต.ค. 2549
1. Tab Mix Plus - แต่ก่อนจะมาใช้ตัวนี้ก็ไปใช้พวก recovery ต่างหากเจอตัวนี้ตัวเดียว combo หมดเลยตั้งแต่กำหนด Behavier mouse ปุ่มเปิดปิด tab จะวางไว้ทุก tab หรือไว้ที่เดียว ทำให้ scroll mouse tab ได้ สารพัดจนใช้ไม่หมด และพวก setting พวกนี้จะสามารถ export ไว้ได้ด้วยเวลาไปใช้ที่อื่นอาจต้องพกพาไปด้วย
2. Down Them All - อันนี้เอาไว้เติมเต็มเลยสำหรับ download manager ของ firefox ยังไม่ค่อยดีนัก เพราต่อ file ไม่ได้ แต่ตัวนี้ต่อได้ firefox น่าจะรวมตัวนี้ไว้ในตัวด้วยเลย
3. Remider Fox - ใช้สม่ำเสมอเหมือนกันตัวนี้ เอาไว้จดสิ่งที่จะต้องทำเอาไว้เตือนความจำ เพราะปกติ Firefox ต้องเปิดใช้อยู่ตลอดเวลาแล้ว
4. IE Tab - จำลอง Firefox เป็น IE น่าเสียดายที่ support เฉพาะบน Windows เท่านั้น
5. ColorZilla - Pick up สีเจ๋งมากๆ ปกติจะเปิด kcolorchooser มาใช้ช้ามากเพราะเป็น app ของ kde แต่น่าเสียดายไม่รู้ทำไมมันยังไม่ support version ที่ใช้อยู่ 1.5.0.3
6. Firebug - เอามา debug javascript ซะให้เข็ด พวก addon บน browser มันห่วย เห็นว่า debug ajax ได้ด้วย
7. Measureit - เอาไม้บรรทัดไปวัดขนาดบนหน้า browser จะได้ไม่ต้องนั่งเดา pixel ให้เสียเวลา เสียอย่างเดียวพอจะใช้มันแล้ว ลาก cursor จะอืดๆ กะยาก
แค่นี้ก็ IE ก็ตามลอกเลียนแบบไม่ทันแล้ว
หามาใช้ได้ที่นี่
https://addons.mozilla.org/extensions.php?app=firefox
MrsJan
8 ต.ค. 2549
Override apache config
มีอยู่วันนึง servertoday มันเปลี่ยนแปลง php config โดยพลการ จากที่มันเคย register global variable ไว้ให้อยู่ดีๆ มันก็ off ซะเฉยๆ ขอทางแก้มัน มันก็ไม่ตอบเมล์ งานนี้เครียดมากจนต้องปิดเว็บชั่วคราว มาแก้ไข script แต่จริงๆ แล้วไม่จำเป็นต้องแก้ไขก็ได้ ใช้วิธี override config ง่ายนิดเดียว (ถ้า Hosting มันอนุญาต ถ้าไม่อนุญาตก็ด่าแม่มันทีนึงก่อนหรือจะหลายทีก็ได้ให้หายโมโหแล้วค่อยๆ มาแก้ไข script ทั้งหมด)
สร้าง file .htaccess ไว้ที่ตำแหน่งที่จะให้ได้ผล ก็ไว้ที่ root นั่นแหละ จะได้มีผลทั้ง site ภายใน .htaccess เช่น
//ถ้าต้องการให้ register global variable
php_flag register_globals on
//สำหรับถ้าต้องการให้เลือกภาษาได้โดย meta tag
AddDefaultCharset off
*** แต่ถึงอย่างไรตอนนี้ผมก็เลิกใช้ไปแล้วล่ะครับ ไอ้ global variable มันไม่ปลอดภัยเอาซะเลยว่า script เราจะใช้ได้หมดทุกที่ แล้วก็คำนึงถึงความปลอดภัยด้วย (ไม่รู้ช่องโหว่หรอกแต่เห็นมันบอกมาอย่างนั้น ก็เชื่อมัน เพราะมันเป็นคนสร้าง 55)
MrsJan
11 ต.ค. 2549
สร้าง file .htaccess ไว้ที่ตำแหน่งที่จะให้ได้ผล ก็ไว้ที่ root นั่นแหละ จะได้มีผลทั้ง site ภายใน .htaccess เช่น
//ถ้าต้องการให้ register global variable
php_flag register_globals on
//สำหรับถ้าต้องการให้เลือกภาษาได้โดย meta tag
AddDefaultCharset off
*** แต่ถึงอย่างไรตอนนี้ผมก็เลิกใช้ไปแล้วล่ะครับ ไอ้ global variable มันไม่ปลอดภัยเอาซะเลยว่า script เราจะใช้ได้หมดทุกที่ แล้วก็คำนึงถึงความปลอดภัยด้วย (ไม่รู้ช่องโหว่หรอกแต่เห็นมันบอกมาอย่างนั้น ก็เชื่อมัน เพราะมันเป็นคนสร้าง 55)
MrsJan
11 ต.ค. 2549
ต่อเวลาให้ sudo
ผมหงุดหงิดทุกครั้งเวลาใช้งาน sudo แล้วมันจะมีเวลาของมันอยู่ ทำให้ต้องมาใส่ password ซ้ำอีก เมื่อเวลามันหมด ทางแก้คือใส่บางสิ่งลงไปใน /etc/sudoers
Defaults !lecture,tty_tickets,!fqdn,timestamp_timeout=1000
ตัวที่เพิ่มเข้ามาจาก default คือ timestamp_timeout=1000 หน่วยของมันผมก็ไม่รู้หรอกไม่ได้ไปหาอ่านต่อ แต่พอใส่ไป 1000 ก็ยังไม่เคยเจอ timeout อีกเลย อาจจะเป็นนาทีมั้ง ใครทราบก็บอกด้วยละกัน
แต่มันก็ไม่ได้ให้แก้ง่ายๆ นะ เพราะมันอนุญาตให้ root เท่านั้น sudo ก็แก้ไม่ได้ ให้เข้าไปที่ root console โดยพิมพ์ su ก่อนอื่นต้องแก้ไข permission ก่อน ดั้งเดิมจะเป็น 440 แก้เป็น 600 ก็ได้ แก้เสร็จแล้วค่อยแก้กลับเป็น 440 เหมือนเดิม เพื่อความปลอดภัย
แบบละเอียด
$su
#chmod 600 /etc/sudoers
#vim /etc/sudoers หรือ #gedit /etc/sudoers ตามถนัด
ก็เป็นทางเลือกนึงถ้าไม่อยากเอาตัว Password ออก
อย่างง่ายไม่ต้อง chmod อันนี้เพิ่งนึกออกคือ #visudo
MrsJan
11 ต.ค. 2549
Defaults !lecture,tty_tickets,!fqdn,timestamp_timeout=1000
ตัวที่เพิ่มเข้ามาจาก default คือ timestamp_timeout=1000 หน่วยของมันผมก็ไม่รู้หรอกไม่ได้ไปหาอ่านต่อ แต่พอใส่ไป 1000 ก็ยังไม่เคยเจอ timeout อีกเลย อาจจะเป็นนาทีมั้ง ใครทราบก็บอกด้วยละกัน
แต่มันก็ไม่ได้ให้แก้ง่ายๆ นะ เพราะมันอนุญาตให้ root เท่านั้น sudo ก็แก้ไม่ได้ ให้เข้าไปที่ root console โดยพิมพ์ su ก่อนอื่นต้องแก้ไข permission ก่อน ดั้งเดิมจะเป็น 440 แก้เป็น 600 ก็ได้ แก้เสร็จแล้วค่อยแก้กลับเป็น 440 เหมือนเดิม เพื่อความปลอดภัย
แบบละเอียด
$su
#chmod 600 /etc/sudoers
#vim /etc/sudoers หรือ #gedit /etc/sudoers ตามถนัด
ก็เป็นทางเลือกนึงถ้าไม่อยากเอาตัว Password ออก
อย่างง่ายไม่ต้อง chmod อันนี้เพิ่งนึกออกคือ #visudo
MrsJan
11 ต.ค. 2549
11 ตุลาคม 2549
Mysql5+PHP5 Switched (ภาคต่อ ตอน "ปริศนาไขกระจ่างแล้ว")
คราวก่อนเขียนไว้เกี่ยวกับปัญหา mysql5 เรื่องภาษาไทย พบเจอโดยบังเอิญเนื่องจาก Host เช่าที่รับจ้างงานเค้าเปลี่ยนเป็น mysql5 แล้ว export ข้อมูลมันลงมาใส่ mysql5 บนเครื่องที่ใช้งานซึ่งเป็น mysql5 เหมือนกัน ปรากฏว่าใช้งานได้แฮะ เฮ้ยเลยลองมาดู sql ที่ export ออกมามันมี ตัวที่ระบุว่าจะ encoding อะไรต่อท้ายตอนสร้างตารางมาเช่น
CREATE TABLE `test` (
...
) ENGINE=MyISAM AUTO_INCREMENT=277 DEFAULT CHARSET=tis620 AUTO_INCREMENT=277 ;
ตรงที่ระบุไว้ว่า charset=tis620 เป็นตัวบ่งบอกว่าจะให้เข้ารหัสแบบใด มิน่าว่าในส่วนของตัวเก่า export จาก version เก่ามาลงทำไงก็ไม่ได้สักที เสร็จไปขั้นตอนหนึ่ง
ทีนี้เมื่อได้แล้วคราวนี้ลองไปเปิด phpmyadmin version ใหม่ล่าสุด 2.9.0.1 ใช้การได้เรียบร้อยแล้ว หลังจากนั้นปัญหาต่อมาถ้าเราต้องการ fetch ข้อมูลออกมาจาก database โดยตรงเหมือนแต่ก่อนจะไม่ได้แล้ว จะเป็นภาษา ????? ทันที ดังนั้นก่อนจะทำการใดๆ ต้อง query บรรทัดนึงไปก่อนคือ
set names utf8 collate utf8_unicode_ci; หรือถ้าเป็นไทยก็ set names tis620 collate tis620_thai_ci;
แต่สำหรับภาษาไทยต้องระวัง Host นอกอาจจะไม่มี Support ดังนั้นใช้ UTF8 จะปลอดภัยกว่าตอนนี้ผมเปลี่ยนมาใช้ UTF8 แทบจะร้อยเปอร์เซนต์แล้ว อีกอย่างตอนใช้ Linux file อะไรผมก็ save เป็น UTF8 ทั้งนั้น ไม่งอแงเหมือน tis620
เสริมอีกเรื่องการ export สำหรับ version 5 นี้อาจจะต้อง mysqldump อย่างเดียว ตัวอย่าง
การ dump ทั้งหมด
mysqldump -u root -p --default-character-set=utf8 --set-charset=true --all-databases > mysql.sql
การ dump แต่ละ db
mysqldump -u root -p --default-character-set=utf8 --set-charset=true -B mydb > mydb.sql
จริงๆ ตอนใส่ --default-character-set=utf8 ผมยังไม่เห็นความต่างกับไม่ใส่แต่อย่างใด แต่ใส่ไว้ก่อนกันเหนียวไว้ก็ดี
ตอนนี้ก็พร้อมรับมือแล้วสำหรับ version ใหม่ทั้ง php และ mysql อย่าง config อะไรก็เตรียมไว้ปรับเปลี่ยนแล้วเวลา Host มันเปลี่ยนแปลงโดยพลการจะได้ไม่เครียดมาก
*** ไม่ต้องใช้ phpmyadmin 2 version พร้อมกันแล้ว เสร่ออยู่ได้ตั้งหลายวัน
MrsJan
11 ต.ค. 2549
CREATE TABLE `test` (
...
) ENGINE=MyISAM AUTO_INCREMENT=277 DEFAULT CHARSET=tis620 AUTO_INCREMENT=277 ;
ตรงที่ระบุไว้ว่า charset=tis620 เป็นตัวบ่งบอกว่าจะให้เข้ารหัสแบบใด มิน่าว่าในส่วนของตัวเก่า export จาก version เก่ามาลงทำไงก็ไม่ได้สักที เสร็จไปขั้นตอนหนึ่ง
ทีนี้เมื่อได้แล้วคราวนี้ลองไปเปิด phpmyadmin version ใหม่ล่าสุด 2.9.0.1 ใช้การได้เรียบร้อยแล้ว หลังจากนั้นปัญหาต่อมาถ้าเราต้องการ fetch ข้อมูลออกมาจาก database โดยตรงเหมือนแต่ก่อนจะไม่ได้แล้ว จะเป็นภาษา ????? ทันที ดังนั้นก่อนจะทำการใดๆ ต้อง query บรรทัดนึงไปก่อนคือ
set names utf8 collate utf8_unicode_ci; หรือถ้าเป็นไทยก็ set names tis620 collate tis620_thai_ci;
แต่สำหรับภาษาไทยต้องระวัง Host นอกอาจจะไม่มี Support ดังนั้นใช้ UTF8 จะปลอดภัยกว่าตอนนี้ผมเปลี่ยนมาใช้ UTF8 แทบจะร้อยเปอร์เซนต์แล้ว อีกอย่างตอนใช้ Linux file อะไรผมก็ save เป็น UTF8 ทั้งนั้น ไม่งอแงเหมือน tis620
เสริมอีกเรื่องการ export สำหรับ version 5 นี้อาจจะต้อง mysqldump อย่างเดียว ตัวอย่าง
การ dump ทั้งหมด
mysqldump -u root -p --default-character-set=utf8 --set-charset=true --all-databases > mysql.sql
การ dump แต่ละ db
mysqldump -u root -p --default-character-set=utf8 --set-charset=true -B mydb > mydb.sql
จริงๆ ตอนใส่ --default-character-set=utf8 ผมยังไม่เห็นความต่างกับไม่ใส่แต่อย่างใด แต่ใส่ไว้ก่อนกันเหนียวไว้ก็ดี
ตอนนี้ก็พร้อมรับมือแล้วสำหรับ version ใหม่ทั้ง php และ mysql อย่าง config อะไรก็เตรียมไว้ปรับเปลี่ยนแล้วเวลา Host มันเปลี่ยนแปลงโดยพลการจะได้ไม่เครียดมาก
*** ไม่ต้องใช้ phpmyadmin 2 version พร้อมกันแล้ว เสร่ออยู่ได้ตั้งหลายวัน
MrsJan
11 ต.ค. 2549
Mysql5+PHP5 Switched
หลังจากลง Dapper Drake แล้วก็เลยทำใจกล้าเป็นหนูทดลองลง PHP5 พร้อมด้วย Mysql5 ที่ตอนนี้ Hosting ในเมืองไทยยังไม่ค่อยกล้าลงกันนัก ด้วยเหตุว่าอาจจะโดนลูกค้าด่ากระจาย ถ้าไม่ทดสอบให้ดีๆ หลังจากปล้ำกันมาหลายวันกว่าจะลง OS ได้แล้วก็อีกหลายวันกว่าจะปล้ำกับ Mysql5 กว่าจะได้ใช้เครื่อง งานเลยค้างตรึมเลย หยุดทำงานไปกว่า 1 สัปดาห์
ปัญหาที่เกิดกับ Mysql5 จากของเดิมที่ผมเจอ คือ
1. เดิมใส่ค่าเป็น float(4,2) ของเก่าใช้งานได้ แต่พอเป็นตัวใหม่ ใส่แล้วค่าที่เกินร้อยจะเป็น 99 หมดเลย เลยต้องแก้เป็น float(10,2) ซะเลย ตัดปัญหา
2. phpmyadmin ตั้งแต่ version ไหนก็ไม่รู้น่าจะเป็น 2.6 ขึ้นไป อาจมีปัญหาภาษาไทยเป็น เครื่องหมาย "????" เลยลองไปขุด 2.3.2 มาใช้ ปรากฏว่าใช้การได้ แต่ตอนนี้เว็บไซต์ผมเป็น Unicode UTF-8 หมดแล้ว แล้ว Version 2.3 นี้มันก็ไม่ Support Unicode เลยต้องไปแก้ Header ของ phpmyadmin ให้มันเลือก Encode เป็น Unicode UTF-8 เสมอ แล้วก็ใช้งานภาษาไทย แต่ปัญหาของมันคือ การอ่านโครงสร้างกับ Mysql5 มันเพี้ยนไปหมดเลย อย่างเช่น Field มัน เป็น Not Null แต่มันอ่านเป็น Null หมดเลย เลยต้องเอา phpmyadmin 2.6 มาใช้สำหรับการแก้ไข โครงสร้างแทน กลายเป็นว่าต้องมาใช้ phpmyadmin 2 version ควบคู่กันไปโคตรตลกเลย
3. ใช้ mysql -A ส่งออกข้อมูล ไม่ได้ซะแล้ว ต้องใช้ mysqldump แทนแต่ปัญหาในที่นี้คือพอ dump ออกมาแล้วภาษาไทยเพี้ยนไปเลย คราวนี้ไม่เป็น "????" แต่เป็น "??€??" ถ้าเลือก encode เป็นไทยแล้วจะเป็นภาษาถั่วงอกทันทีเลย
4. ถ้า export ออกมาจาก mysql5 อาจจะเอาไปใช้กับ 4 ไม่ได้สำหรับบาง Keyword ที่ version 4 ไม่รู้จักต้องมาเอาออกอีก
5. มีคำสงวนเพิ่มขึ้นเดือดร้อนต้องมาแก้ชื่อ field ที่ไม่ตรงกับคำสงวนใน version นี้ เคยเจอคำว่า release จะใช้ไม่ได้แล้ว อันนี้น่ากลัวเพราะ program จะ error แบบไม่รู้ตัว
6. จะลักไก่ ใส่ text ใน int ไม่ได้อีกแล้ว ไม่รู้ว่า Not Null จะศักสิทธิ์ด้วยหรือไม่สำหรับ Version นี้
เอาแค่ที่เจอก่อน แต่แค่นี้ก็อยากจะ Downgrade แล้ว
ต่อมาก็ PHP5 เท่าที่ลองใช้ดู ยังไม่เจอปัญหาใดๆ แต่จะมีปัญหากับ Tinyajax ตัวเก่าที่ทำไว้สำหรับ php4 มันจะใช้ไม่ได้ใน php5 ต้องไปเอาตัว php5 มันมาใช้ แต่ปัญหาคือ Hosting ที่ใช้มันยังเป็น php4 อยู่เลย ตอนนี้ tinyajax ก็เลยใช้ทั้ง 2 อัน เวลาใช้จริงก็ใช้ตัวเก่า เวลาเทสบนเครื่องก็ใช้ตัวใหม่
ก็คงจะไม่ Downgrade แล้ว ถือว่าเป็นการเตรียมความพร้อม เพราะถึงอย่างไรก็ต้องเปลี่ยนอยู่ดี
สรุป mysql5 จะปัญหาจะหนักกว่า แต่ในส่วนของ php5 ถ้า hosting ส่วนใหญ่เป็น php5 กันหมดแล้วคาดว่าน่าจะ Upgrade ได้เลย
MrsJan
8 ต.ค. 2549
ปัญหาที่เกิดกับ Mysql5 จากของเดิมที่ผมเจอ คือ
1. เดิมใส่ค่าเป็น float(4,2) ของเก่าใช้งานได้ แต่พอเป็นตัวใหม่ ใส่แล้วค่าที่เกินร้อยจะเป็น 99 หมดเลย เลยต้องแก้เป็น float(10,2) ซะเลย ตัดปัญหา
2. phpmyadmin ตั้งแต่ version ไหนก็ไม่รู้น่าจะเป็น 2.6 ขึ้นไป อาจมีปัญหาภาษาไทยเป็น เครื่องหมาย "????" เลยลองไปขุด 2.3.2 มาใช้ ปรากฏว่าใช้การได้ แต่ตอนนี้เว็บไซต์ผมเป็น Unicode UTF-8 หมดแล้ว แล้ว Version 2.3 นี้มันก็ไม่ Support Unicode เลยต้องไปแก้ Header ของ phpmyadmin ให้มันเลือก Encode เป็น Unicode UTF-8 เสมอ แล้วก็ใช้งานภาษาไทย แต่ปัญหาของมันคือ การอ่านโครงสร้างกับ Mysql5 มันเพี้ยนไปหมดเลย อย่างเช่น Field มัน เป็น Not Null แต่มันอ่านเป็น Null หมดเลย เลยต้องเอา phpmyadmin 2.6 มาใช้สำหรับการแก้ไข โครงสร้างแทน กลายเป็นว่าต้องมาใช้ phpmyadmin 2 version ควบคู่กันไปโคตรตลกเลย
3. ใช้ mysql -A ส่งออกข้อมูล ไม่ได้ซะแล้ว ต้องใช้ mysqldump แทนแต่ปัญหาในที่นี้คือพอ dump ออกมาแล้วภาษาไทยเพี้ยนไปเลย คราวนี้ไม่เป็น "????" แต่เป็น "??€??" ถ้าเลือก encode เป็นไทยแล้วจะเป็นภาษาถั่วงอกทันทีเลย
4. ถ้า export ออกมาจาก mysql5 อาจจะเอาไปใช้กับ 4 ไม่ได้สำหรับบาง Keyword ที่ version 4 ไม่รู้จักต้องมาเอาออกอีก
5. มีคำสงวนเพิ่มขึ้นเดือดร้อนต้องมาแก้ชื่อ field ที่ไม่ตรงกับคำสงวนใน version นี้ เคยเจอคำว่า release จะใช้ไม่ได้แล้ว อันนี้น่ากลัวเพราะ program จะ error แบบไม่รู้ตัว
6. จะลักไก่ ใส่ text ใน int ไม่ได้อีกแล้ว ไม่รู้ว่า Not Null จะศักสิทธิ์ด้วยหรือไม่สำหรับ Version นี้
เอาแค่ที่เจอก่อน แต่แค่นี้ก็อยากจะ Downgrade แล้ว
ต่อมาก็ PHP5 เท่าที่ลองใช้ดู ยังไม่เจอปัญหาใดๆ แต่จะมีปัญหากับ Tinyajax ตัวเก่าที่ทำไว้สำหรับ php4 มันจะใช้ไม่ได้ใน php5 ต้องไปเอาตัว php5 มันมาใช้ แต่ปัญหาคือ Hosting ที่ใช้มันยังเป็น php4 อยู่เลย ตอนนี้ tinyajax ก็เลยใช้ทั้ง 2 อัน เวลาใช้จริงก็ใช้ตัวเก่า เวลาเทสบนเครื่องก็ใช้ตัวใหม่
ก็คงจะไม่ Downgrade แล้ว ถือว่าเป็นการเตรียมความพร้อม เพราะถึงอย่างไรก็ต้องเปลี่ยนอยู่ดี
สรุป mysql5 จะปัญหาจะหนักกว่า แต่ในส่วนของ php5 ถ้า hosting ส่วนใหญ่เป็น php5 กันหมดแล้วคาดว่าน่าจะ Upgrade ได้เลย
MrsJan
8 ต.ค. 2549
08 ตุลาคม 2549
ฝนตกอีกแล้ว
ปัญหาน้ำท่วมในหลายภาคของประเทศไทยและหลายประเทศทั่วโลก ตอนนี้เห็นแล้วน่าเศร้าใจกว่าประชาธิปไตยถอยหลังมากนัก เพราไม่ว่ามันจะเดินหน้าหรือถอยหลังพวกเราก็อาจต้องสูญสลายได้ในอนาคตอันใกล้นี้ ปัญหาพวกนี้มันจะเกิดขึ้นอีกแน่นอนในปีหน้าและจะหนักขึ้นเรื่อยๆ ทีละน้อยๆ ในทุกๆ ปี และจะท่วมโลกในที่สุดจากปัญหาโลกร้อน ว่ากันว่าถ้าน้ำแข็งที่ขึ้วโลกละลาย ระดับน้ำทะเลจะหนุนสูงขึ้นถึง 6 เมตรเลยทีเดียว ถ้านึกไม่ออกก็ประมาณ Water World นั่นแหละ ถ้าเก่าไปก็อีกเรื่องคือ The Day After Tomorrow แต่เรื่องนี้ให้ภาพในเรื่องโลกร้อนเบาบางมาก แต่ไปให้ความสำคัญกับนิยายแบบ Hollywood
วิธีแก้ไขปัญหานี้ ไม่ยากมากมาย ก็แค่ปลูกป่าเพื่อดูดซับคาร์บอนไดออกไซด์ ลดการทำลายชั้นบรรยากาศให้มากกว่าที่ได้ทำลายไป แต่กลับเป็นเรื่องยากแล้วสำหรับมนุษย์ที่นิยมหาเงินมาหล่อเลี้ยงอำนาจและชีวิตเป็นกิจวัตร คงจะคิดทำเรื่องพวกนี้ไม่ออกแน่นอน
ถ้าให้เดาถึงการปรับตัวของมนุษย์ในอนาคต คงจะเป็นประมาณว่า พวกเราต้องสร้า้งโดมขนาดใหญ่แบบว่ากันน้ำอย่างดีพร้อมระบบปรับอากาศขนาดใหญ่ ให้มนุษย์ไปอยู่แออัดอยู่ในโดมนั้นแล้วค่อยๆ สร้างเมืองขึ้นมาใหม่ ภายใต้โดมหลังนั้น และที่ร้ายกว่านั้น โดมไม่มีขนาดใหญ่พอที่จะบรรจุมนุษย์ได้ทั้งหมด ดังนั้นจึงต้องมีบัตรผ่านให้คงเหลือแต่ระดับมันสมองของโลกหรือชนชั้นนำและกลุ่มผู้ร่ำรวยที่มีเงินสร้างมันขึ้นมาเท่านั้น ส่วนพวกมดปลวกอย่างที่เรียกว่าประชาชนตาดำๆ นั้น เชิญผจญการปรับตัวแบบจนๆ ของตัวเองต่อไปตามยถากรรม หรืออีกวิธีหนึ่งคือ อพยพกันไปอยู่ดาวอังคารประมาณ Total Recall นั่นแหละ
ปล. อยากดูเรื่อง An Inconvenient Truth จังเลย
MrsJan
8 ต.ค. 2549
วิธีแก้ไขปัญหานี้ ไม่ยากมากมาย ก็แค่ปลูกป่าเพื่อดูดซับคาร์บอนไดออกไซด์ ลดการทำลายชั้นบรรยากาศให้มากกว่าที่ได้ทำลายไป แต่กลับเป็นเรื่องยากแล้วสำหรับมนุษย์ที่นิยมหาเงินมาหล่อเลี้ยงอำนาจและชีวิตเป็นกิจวัตร คงจะคิดทำเรื่องพวกนี้ไม่ออกแน่นอน
ถ้าให้เดาถึงการปรับตัวของมนุษย์ในอนาคต คงจะเป็นประมาณว่า พวกเราต้องสร้า้งโดมขนาดใหญ่แบบว่ากันน้ำอย่างดีพร้อมระบบปรับอากาศขนาดใหญ่ ให้มนุษย์ไปอยู่แออัดอยู่ในโดมนั้นแล้วค่อยๆ สร้างเมืองขึ้นมาใหม่ ภายใต้โดมหลังนั้น และที่ร้ายกว่านั้น โดมไม่มีขนาดใหญ่พอที่จะบรรจุมนุษย์ได้ทั้งหมด ดังนั้นจึงต้องมีบัตรผ่านให้คงเหลือแต่ระดับมันสมองของโลกหรือชนชั้นนำและกลุ่มผู้ร่ำรวยที่มีเงินสร้างมันขึ้นมาเท่านั้น ส่วนพวกมดปลวกอย่างที่เรียกว่าประชาชนตาดำๆ นั้น เชิญผจญการปรับตัวแบบจนๆ ของตัวเองต่อไปตามยถากรรม หรืออีกวิธีหนึ่งคือ อพยพกันไปอยู่ดาวอังคารประมาณ Total Recall นั่นแหละ
ปล. อยากดูเรื่อง An Inconvenient Truth จังเลย
MrsJan
8 ต.ค. 2549
F.... Developer Foundation
อยู่ดีๆ ก็เบื่อคำว่า Freedom ขึ้นมาเฉยๆ อาจจะมาจาก 19sep.org ด้วย เห็นแล้วหมั่นไส้ ที่จริงก็ไม่ได้ชอบมานานแล้ว แต่ไม่ไ้ด้คิดใหม่สักที วันนี้เลยเปิดพจนานุกรม ได้คำที่เป็น Candidate ดังนี้
Feasible
Feather
Feathery
Forgotten
Foggy
Fulfill
Flow
Four
Forth
Flow
Footer
Funny
Function
Fundamental
ตอนนี้ชอบอยู่ 2 อัน คือ Feather อันนี้ชอบเวลาออกเสียงพร้อมกันมันคล้องจองดี แต่ Fundamental ชอบความหมาย แต่ก็ยังไม่ได้ข้อสรุปเพียงแต่เกริ่นนำเอาไว้ก่อน F... Developer
MrsJan
8 ต.ค. 2549
Feasible
Feather
Feathery
Forgotten
Foggy
Fulfill
Flow
Four
Forth
Flow
Footer
Funny
Function
Fundamental
ตอนนี้ชอบอยู่ 2 อัน คือ Feather อันนี้ชอบเวลาออกเสียงพร้อมกันมันคล้องจองดี แต่ Fundamental ชอบความหมาย แต่ก็ยังไม่ได้ข้อสรุปเพียงแต่เกริ่นนำเอาไว้ก่อน F... Developer
MrsJan
8 ต.ค. 2549
สมัครสมาชิก:
บทความ (Atom)