9/29/2549

Dumpdatabase again

จากวันก่อนที่ได้ทดลองคำสั่ง mysqldump เพื่อสร้างความคุ้นเคย
พอวันใช้จริงได้เจอรูปแบบที่แตกต่างออกไป อึ้งไปนิดนึง
1. mysqldump -A -uroot -p | gzip -9c > /root/mis-all-db.gz
2. gzip -d mis-all-db.gz | mysql -uroot
พอลองทดสอบดูปรากฏว่าได้ข้อมูลมาไม่ครบ ข้อมูลที่ได้มาไม่เป็นปัจจุบันมากพอ
วันนี้ได้รับความช่วยเหลือจากวีร์ในการ dumpdatabase เพื่อให้ข้อมูลเป็นปัจจุบันมากที่สุด
สิ่งที่ทำก็คือ
1. drop database ก็คือการลบ database นั่นเอง
- mysql -uroot -p
- ใส่ password
- drop database databasemane;
หรือสั่งที่ shell คือ mysql -uroot -e 'drop database databasename;'
2. จากนั้นลอง dumpdatabase มาใหม่
- mysqldump -p -uroot mis > mis_only.sql
3. คัดลอกไปยังเครื่องปลายทาง
- scp source 'username@hostname:destination'
4. ทำการสร้าง database
- mysql -uroot -e 'create database databasename;'
5. นำข้อมูลที่ dump มาใส่ database ที่สร้างขึ้น
- mysql -uroot databasename < mis_only.sql
ปรากฏว่าได้ error
ERROR 1064 (42000) at line 2968: You have an error in your SQL syntax;
check the manual that corresponds to your MySQL server version for
the right syntax to use near 'tinyint(1) unsigned NOT NULL default '0',
chkdate datetime NOT NULL default '0' at line 4
จาก error ดังกล่าว
เริ่มต้นด้วยการตรวจสอบ version mysql ของทั้ง gentoo และ ubuntu
ง่าย ๆ แค่สั่ง mysql ตอนต้นของโปรแกรมจะบอกข้อมูลเกี่ยวกับ version
สั่ง dpkg -l | grep 'mysql-server' บน ubuntu
หรือสั่ง mysql -V ก็ได้ทั้ง Gentoo และ Ubuntu
พบว่าเป็น version ที่แตกต่างกันชัดเจน ซึ่งเดาว่าอาจจะมีบางคำสั่งที่เข้ากันไม่ได้ระหว่าง mysql4
กับ mysql5 แต่ก็ไม่แน่ใจนัก
ตอนที่สั่ง mysql -uroot mis < mis_only.sql แล้วมันมี error ออกมา
จาก error ที่ได้ ERROR 1064 (42000) at line 2968: You have an error in
your SQL syntax;check the manual that corresponds to your MySQL server version for the right syntax
คือ check เป็น reserved word แต่มีการใช้เป็นชื่อ field วิธีแก้คือใส่ quote คล่อม ชื่อ field ไว้

ก็เลยต้องเริ่มต้นกลับไป dumpdatabase อีกครั้ง โดยการเพิ่ม option -Q เข้าไป
ทำใหม่อีกครั้ง
mysqldump -Q -p -uroot mis > mis_only.sql
nana mis_only.sql ว่ามี quote หรือเปล่า
CREATE TABLE `mis_adviser` (
`teacher_id` int(6) NOT NULL default '0',
`stdcode` bigint(11) NOT NULL default '0',
`year` varchar(4) NOT NULL default ''

เป็นอันว่าใช้ได้
ก็เข้าสู่ขั้นตอนเดิม จากนั้นก็เช็คทางเว็บว่าข้อมูล update หรือยังเป็นอันเสร็จ

9/27/2549

apt-get update เจ้าปัญหา

เมื่อวานนี้ได้ลอง update ubuntu ดูว่า /etc/apt/sources.list มีปัญหามั้ยก็ปรากฏ error ดังนี้

Err http://th.archive.ubuntu.com dapper Release.gpg
Cannot initiatethe connection to 3128:80 (0.0.12.56).
- connect (22 Invalid argument) -

เป็นไรหว่า - -" นั่งแก้ไปแก้มาก็ไม่ได้เลยตัดสินใจลงใหม่ตามคำแนะนำ
ขั้นตอนการติดตั้ง ubuntu ตามไปอ่านที่นี่ได้
มีหลายแบบให้เลือก (อิ อิ ลงง่ายมั่ก ๆ จะเอาไปเผยแพร่ผู้อยากเริ่มต้นใช้ linux แถวบ้าน
คงตื่นเต้นน่าดู)
- ทำการแก้ /etc/apt/sources.list ตามนี้
deb http://belldandy.kitty.in.th:9999/ubuntu dapper main restricted universe
deb http://belldandy.kitty.in.th:9999/ubuntu dapper-updates main restricted universe
deb http://belldandy.kitty.in.th:9999/ubuntu dapper-security main restricted universe
- ทำการแก้ /etc/apt/apt.conf เพื่อกำหนด proxy ตามนี้
Acquire::http::Proxy "http://ip address ของ proxy:port";
- สั่ง apt-get update ทดสอบดูว่าได้ไหม ถ้าไม่ได้ก็ restart ไม่ใช่ reboot 1 ครั้ง ;P
เพื่อให้ค่า config ที่ได้แก้ไปทั้งสองไฟล์ทำงาน(ตรงนี้ยังมีคำถาม)
- ทำการ upgrade ซะ
apt-get install linux-image-686
dpkg -l linux-*
apt-get install linux-restricted-modules-686
- จากนั้นทำการ reboot 1 ครั้ง(ถูกต้อง) กดปุ่ม ESC 1 ครั้งเพื่อเลือก boot kernel
จาก linux-image-686
- ทำการ remove เอา kernel เดิมออก
apt-get remove --purge linux-image-386
หรือไปที่ System -> Synapic Package Manager
แล้วก็ apt-get update ได้ไม่มีปัญหา


ปล. ขอขอบคุณผู้สนับสนุนอย่างเป็นทางการ อาจารย์กิตต์ เธียรโนปจัย

9/22/2549

การ Redirect ของ Unix

ไม่มีอะไรมากค่ะ แค่เก็บ link ไว้เฉย ๆ
ถึงแม้จะเล็กน้อย ก็ขอเก็บเล็กผสมน้อยละกันคะ
http://en.wikipedia.org/wiki/Redirection

9/21/2549

Mysqldump Command Test

เป็นคนที่ใช้ลีนุกซ์ก็เป็นปีแล้ว เจอปัญหาก็หลายครั้ง แต่ไม่เคยเขียน blog เกี่ยวกับลีนุกซ์สักที
วันนี้ได้มีโอกาสเรียนรู้การ dumpdatabase เป็นครั้งแรกในชีวิต และได้รับการสนับสนุนจากท่านวีร
์ ก็เลยถือโอกาส blog ไว้ซะ อีกอย่างเป็นคนที่ลืมอะไรง่าย ๆ หลายครั้งก็จะได้รับคำแนะนำว่าให้ blog ไว้
(ข้าน้อยปฏิบัติตามแล้วคร๊าบบ ;P)
ขั้นตอนขอแบบผู้เริ่มต้นละกัน
Gnome : 2.14.3
Distributor : Ubuntu 6.06 LTS - the Dapper Drake
1. การใช้คำสั่ง ssh ติดต่อไปยัง server
#ssh -l username username@hostname
หรือ #ssh -v username@hostname
2. หลังจกานั้นก็สั่ง dumpdatabase
mysqldump --databases databasename > namefile.sql
หรือ mysqldump -A > xxx.sql
3. ทำการสำเนาไฟล์ไปไว้ที่ปลายทาง
scp source 'username@hostname:destination'
4. เข้า dbmysql < xxx.sql

9/20/2549

First blog

สวัสดีค่ะ
ขอต้อนสู่ unticha 's blog อยากเอาไว้เขียนเรื่อง linux ที่ได้เรียนรู้อยู่ทุกวันและอื่น ๆ