mysql « แลกเปลี่ยนเรียนรู้:km tool

archive page

คำสำคัญ ‘mysql’

บทเรียนเกี่ยวกับ apache

โดย บุรินทร์ รุจจนพันธุ์ เมื่อ Monday, February 6th, 2012

6 ก.พ.55 มีบทเรียนด้านคอมพิวเตอร์มาฝาก 2 เรื่อง
เกี่ยวกับ apache web server (ใช้ appserv)
1. พบคำว่า “Could not connect to the database”
ในหน้าแรกของ wordpress หลังจากปรับระบบนิดหน่อย ซึ่งเดิมใช้งานได้ปกติ
ปัญหานี้เกิดรหัสผ่านเข้า mysql ใน wp-config.php ไม่ตรงกับที่กำหนดไ…ว้
สรุปว่า รหัสของ mysql ไม่ถูกต้อง (หลายมือครับ)

2. เครื่องบริการหนึ่งเครื่องมี ip จำนวน 2 เบอร์
ต้องการให้เบอร์หนึ่งชี้ไปที่ host ตัวหนึ่ง และอีกตัวชี้ไปที่ host อีกตัว
จึงต้องกำหนด virtual host ใน httpd.conf

NameVirtualHost 10.10.10.10
<VirtualHost 10.10.10.10>
ServerAdmin burin_ruj@nation.ac.th
DocumentRoot C:\www\class
ServerName class.nation.ac.th
</VirtualHost>


ใช้บล็อกเป็นโน๊ตย่อ หรือบันทึกช่วยจำ เรื่องการเขียน sql

โดย บุรินทร์ รุจจนพันธุ์ เมื่อ Tuesday, March 8th, 2011

8 มี.ค.54 มีโอกาสจัดการข้อมูลประมาณมาก กับหลายตารางที่มีโครงสร้างต่างกัน
พบว่าคำสั่ง delete กับ truncate ให้ผลใกล้เดียงกันคือ clear ข้อมูลที่เคยทดสอบออกหมด แต่ truncate จะทำให้ auto_increment เริ่มต้นจาก 1 มิใช่ต่อจากเลขเดิมที่เคยมีในตารางนั้น
ส่วนคำสั่งเพิ่มข้อมูลหลายระเบียนเดิมใช้
insert into behavior (bid,bname) values (1,’tom’);
insert into behavior (bid,bname) values (2,’boy’);
แบบใหม่เขียนสั้นลงคือ
insert into behavior (bid,bname) values (1,’tom’), (2,’boy’);
ส่วนการแก้ไขข้อมูลหลายเขตข้อมูลจะใช้ , หลัก set แต่ใช้ and หลัง where
เช่น
update behavior set bsex=0, bname=’jack’ where bid=1 and bgroup=2

ตัวอย่างการ clear ข้อมูลก่อนเปิดใช้จริง
delete from administration;
truncate administration;
truncate behavior;
truncate favorite;
truncate president;
truncate rart;
truncate rart_d;
truncate rdevelop;
truncate rdevelop_d;
truncate reval;
truncate rexecutive;
truncate rexecutive_d;
truncate rother;
truncate rother_d;
truncate rpublish;
truncate rpublish_d;
truncate rresearch;
truncate rresearch_d;
truncate rservice;
truncate rservice_d;
truncate rteaching;
truncate rteaching_d;
truncate ryour;
truncate ryour_d;
truncate salary;


การเตรียมข้อมูลไปประมวลผลใน MySQL

โดย บุรินทร์ รุจจนพันธุ์ เมื่อ Sunday, March 6th, 2011
การใช้ excel เตรียมข้อมูลสำหรับ mysql

การใช้ excel เตรียมข้อมูลสำหรับ mysql

6 มี.ค.54 ต.ย. การใช้ excel จัดการข้อมูลเป็น SQL Command ก่อนส่งไปประมวลผลในเครื่องบริการ
- เมื่อกรอกข้อมูลใน excel แล้ว เขียนสูตรสร้าง SQL Command แล้วคัดลอก SQL Command ไปประมวลผล
- ตัวอย่างนี้มีตารางชื่อ friends และในตารางมีเขตข้อมูล 3 ระเบียน

http://www.thaiall.com/mysql
http://www.thaiall.com/office


ทดสอบ ajax กับ mysql พบปัญหาคำว่า form ผ่าน div

โดย บุรินทร์ รุจจนพันธุ์ เมื่อ Tuesday, September 14th, 2010
14 ก.ย.53 วันนี้ ปิดงานไม่ลง เพราะทดสอบการใช้ mysql update ในฟอร์มแบบ interactive แล้วทำงานร่วมกับ ajax กว่าจะพบว่า ส่งผลที่มีคำว่า form เข้าผ่าน div แล้วเป็นเหตุให้ไม่แสดงผล ก็ดึกพอดี จะแก้โปรแกรมต้นโค้ด 9137 ก็ไม่มีสมาธิซะแล้ว .. พักยกก่อนครับวันนี้ พบเหตุของปัญหาแล้วเพียงแต่ไม่ได้ปรับปรุงใหม่ทั้งชุด ให้ทำงานร่วมกับ ajax ที่สมบูรณ์แล้ว up เข้า thaiall.com/ajax เท่านั้น
ต้นโค้ดจาก http://www.thaiall.com/perlphpasp/source.pl?9137

แก้ปัญหาไม่แสดงชื่อนักศึกษาใน moodle

โดย บุรินทร์ รุจจนพันธุ์ เมื่อ Tuesday, August 24th, 2010

23 ส.ค.53 รับแจ้งจากหัวหน้าว่า รายชื่อนักศึกษาในระบบ e-learning ที่ใช้สคริปต์ของ Moodle หายไปหมด และงานนักศึกษาก็ยังตรวจไม่เรียบร้อย ผมจึงตั้งสมมติฐานว่าตารางหนึ่งในระบบฐานข้อมูลเสียอีกแล้ว เคยเกิดขึ้น และใช้โปรแกรม EMS  SQL Manager for MySQL เข้าไป Repair แต่ครั้งนี้ผมจะเปลี่ยนวิธี เพราะระบบฐานข้อมูล MySQL มีโปรแกรมที่สามารถซ่อมผ่าน Command Line จึงไม่ใช้โปรแกรมเสริมจากภายนอกอย่าง EMS

เข้า MySQL ผ่าน Command Line แล้ว use moodle; (แต่ไม่มีคำสั่งตรวจสอบตารางทั้งหมดอัตโนมัติ ถ้าจะเขียน php หรือ Shell script ก็จะยุ่งยากมากไป) จึงใช้ show tables; แล้วคัดลอกรายชื่อตารางไปไว้ใน notepad แล้วแทนที่สัญลักษณ์ | ด้วยสัญลักษณ์ , เนื่องจากคำสั่ง check table สามารถตรวจตารางพร้อมกันได้หลายตารางโดยใช้เครื่องหมาย , ขั้นระหว่างชื่อตาราง ผมจึงคัดลอกข้อมูลจาก notepad มาวางต่อคำสั่ง check table ก็พบตารางที่ error แบบ  corrupt มีจำนวน 2 ตาราง คือ  mdl_log และ mdl_user_students เมื่อสั่ง repair table mdl_user_students; ก็พบว่า moodle กลับมาแสดงรายชื่อนักศึกษาได้ตามปกติ
+ http://www.thaiall.com/mysql


ทดสอบโปรแกรม thaiabc.com รุ่น 6.5 กับการประมวลผลบน DVD

โดย ขวัญชนก รุจจนพันธุ์ เมื่อ Thursday, April 1st, 2010

1 เม.ย.53 โปรแกรมแก้วสารพัดนึก คือ โปรแกรมที่ช่วย ติดตั้งเครื่องบริการเว็บ เครื่องบริการฐานข้อมูล โอเพนซอร์ส และรวมบทความมากมาย สำหรับนำไปเรียนรู้ได้ด้วยตนเอง หลังติดตั้งเสร็จจะได้โปรแกรม Apache + PHP + MySQL + Perl + Script เช่น e-Commerce, e-Learning, CMS, Article และ Source Code
     วันนี้เขียน software หลายร้อยโปรแกรมลง DVD หลายแผ่นไว้แจกนักศึกษาในชั้นเรียน ในนั้นมีโปรแกรม thaiabc.com แบบ no install ให้ประมวลผล apache + php + mysql ที่ใครเรียกว่าโปรแกรมประเภท WAMP จากการแก้ไขให้ run mysql แบบไม่ใช้ innodb พบว่า wordpress สามารถ run ผ่าน CD-ROM ได้ทันทีใช้ admin เข้าระบบก็ได้ เพราะการอ่าน blog ที่วางไว้สองร้อยกว่าเรื่องไม่มีการเก็บ log ของการอ่านไว้ในฐานข้อมูล  ส่วน learnsquare v2 ก็ไม่พบปัญหาแม้จะ login ด้วย admin ก็ใช้งานผ่าน DVD ได้ปกติ ส่วน phpmyadmin พบว่าสามารถเข้าดูข้อมูลใน mysql ได้ วันนี้คุณสามารถ download ชุดติดตั้งโปรแกรมแก้วสารพัดนึกจาก thaiabc.com ได้แล้ว 1) เมื่อติดตั้งแล้วก็ใช้งานใน Drive C 2)เลือกที่จะคัดลอกไปวางใน DVD หรือ CD ซึ่งเก็บข้อมูลได้มากและราคาถูก 3)เลือกที่จะคัดลอกไปวางไว้ใน Thumb Drive เพื่อใช้งานได้ในทุกที่
     แต่ moodle พบ error message เพราะมีการเขียน session ส่วน mambo มีการ insert เข้าฐานข้อมูลพบ error ส่วน oscommerce มีการ insert เข้าตาราง session พบ error ส่วน gallery ก็ใช้งานไม่ได้พบ error ส่วน phpbb3 ก็ใช้งานไม่ได้พบ error .. สรุปว่าผลการทดสอบกับ DVD ซึ่งเป็นสื่อเก็บข้อมูลแบบอ่านอย่างเดียว ถือเป็นปัญหาที่ไม่ใหญ่นัก เนื่องจากคาดไว้แล้ว แต่การใช้งานจริงก็จะใช้ผ่าน USB Drive หรือ Flash Drive เพราะเป็นอุปกรณ์ที่อ่านเขียนได้ ราคาถูกลงมาก และทำงานได้เร็วกว่า DVD แน่นอน .. ดังนั้นทุกบริการจึงทำงานได้ทั้งหมด


เก็บ log ของผู้ใช้ระบบอินทราเน็ตไม่เข้า

โดย บุรินทร์ รุจจนพันธุ์ เมื่อ Thursday, January 21st, 2010

สถิติ และข้อมูลผู้ใช้ล่าสุด

19 ม.ค.53 เมื่อ 2 วันก่อนคือวันอังคารที่ผ่านมา พบปัญหาว่า อ.อติชาต หาญชาญชัย เข้าสู่ระบบอินทราเน็ต (เป็นผู้ทดสอบที่ไม่ได้มาจากการรับบันทึกเชิญชวนบุคลากรของมหาวิทยาลัยให้เข้าทดสอบระบบ แต่มาจากการบอกต่อของบุคลากร) สิ่งที่พบคือไม่แสดงข้อมูลการเข้าใช้ในระบบเก็บ log และจำนวนผู้ใช้หยุดที่จำนวน 27 คนเท่านั้น จึงแจ้งไปยังคุณธรณินทร์ สุรินทร์ปันยศ ว่าเกิดอะไรขึ้น มีการปรับข้อมูลอะไรหรือไม่ เพราะข้อมูลล่าสุดเป็นของวันที่ 15 ม.ค.53 แล้วผมก็เห็นกับตาว่าท่านได้เข้าใช้ระบบเมื่อวานนี้ และผลลัพธ์ใน log ไม่ถูกปรับอย่างที่ควรจะเป็น เวลาผ่านไปประมาณ 2 ชั่วโมง ก็ได้ทราบว่าพบปัญหาจริง แต่ยังแก้ไขไม่สำเร็จ เพราะ code ทำงานในเครื่องจำลองที่ใช้เป็นฐานในการพัฒนานั้นทำงานอย่างถูกต้อง มีข้อสงสัยว่าระบบ mysql ในเครื่องหลักมีปัญหา .. ก็สงสัยว่าจริงหรือ
     เมื่อผมเข้าไปดู code ก็พบว่าปกติ แต่ insert record ใหม่ไม่เข้าเท่านั้น ไปตรวจจำนวนระเบียนพบว่ามี 127 ระเบียน และไม่มีการเพิ่มขึ้นอีก .. นึกไปนึกมา ก็นึกได้ว่า 127 คือครึ่งหนึ่งของ 256 ซึ่งเป็นเลขที่อาจเป็นข้อจำกัดของ data type ที่เก็บข้อมูล จึงเข้าไปดูโครงสร้างแฟ้มด้วย phpmyadmin ก็พบว่า autonumber กำหนดเป็น tinyint ซึ่งรับระหว่าง -128 – 127 เมื่อแก้ไขเป็น int แล้ว ก็เก็บข้อมูลของผู้ที่ login เข้าสู่ระบบได้ตามปกติ ถึงวันนี้มีผู้เข้าระบบไปแล้ว 33 คน สำหรับคณะวิทย์ฯ มีบุคลากรเข้าใช้งานไปแล้วร้อยละ 75 ซึ่งสูงที่สุดเมื่อเทียบในระดับคณะวิชาด้วยกัน