วันอังคาร, สิงหาคม 30, 2548

Reset root password ของ MySQL

บางครั้งเครื่องที่ตัวเองดูแลมีเยอะมาก จนนานๆ ทีถึงจะเข้ามา manage ซักที และบางครั้งถึงกับให้ลืม password ตัวนั้นตัวนี้จนได้ และลืมมาก จนบางทีลืม password root ของ mysql ไปเลย :(

เรามาดูวิธี reset root password ของ mysql กัน ทำดังนี้

  1. เ พิ่ม "skip-grant-tables" ลงใน file my.cnf โดยปกติทั่วไปจะเก็บอยู่ที่ /etc/my.cnf โดยเพิ่มในส่วนของ [mysqld] สำคัญมากห้ามลืม อย่าใส่ผิดที่ ไม่ัอย่างนั้นจะไม่สามารถ reset password ได้

  2. สั่ง restart mysql service ซะ ในที่นี้ ผมใช้ RH base เป็นหลัก ใครใช้อย่างไหน ก็ restart อย่างนั้นล่ะ
    ถ้าเป็น RH สั่งแบบนี้
    # /etc/init.d/mysqld restart
    หรือแบบนี้
    # service mysql restart

  3. ตั้งค่า mysql root password ใหม่ซะ จะสั่งแบบไหนก็ได้ จะเข้า console หรือสั่งผ่าน command line ก็ตามสะดวก

  4. นำ skip-grant-tables ออกจาก file my.cnf ซะ

  5. restart mysql service เป็นอันเสร็จ
จากนั้นให้ลองเข้า mysql ดู ลองสั่งดังนี้

mysql -uroot -p
Enter password: ใส่ pass ที่เพิ่ง reset ซะ
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 151906 to server version: 4.1.10a

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>


ถ้าเข้าได้แบบด้านบน แสดงว่าเรียบร้อย

.

วันพุธ, สิงหาคม 24, 2548

web จะ design ให้ง่ายต้อง css ซิ

แปลกใจ web ในเมืองไทยไม่ค่อยเห็นใช้ css กันมากมายเท่าไรเหมือนเมืองนอกเล่นประเดประดัง graphic ลงไปอย่างเดียว เวลามีการแก้ไขข้อมูลคราวนี้ก็จุกเลยรื้อทำใหม่

หากจะให้ง่ายมาใช้ css ซิ ผมว่าง่ายต่อการจัด style ของ website ด้วย เพียงแค่เปลี่ยน css อารมณ์และ theme ของ web ก็เปลี่ยนแล้วไม่เชื่อลองดู web นี้ซิ css Zen Garden

ง่ายๆ ลองใส่ตามนี้ แล้วลองสังเกต content ที่อยู่ดู content เดียวกันเปลี่ยนแต่เพียง css

http://www.csszengarden.com/?cssfile=/xxx/xxx.css&page=0

เปลี่ยนตรง xxx เป็นเลขที่ต้องการ เช่น 123, 023 หรืออื่นๆ ทำเป็น Link ให้กดง่ายๆ แล้วกัน เอาที่สวยๆ หน่อย

Sample1
Sample2
Sample3

วันอังคาร, สิงหาคม 23, 2548

Linux Live CD

พอดีมีรุ่นน้องคนหนึ่งมาถามมี linux ตัวไหนที่มี live cd อีก นอกจาก ubuntu เนื่องจากไม่ใจเลยไปค้นๆ ใน google เลยเจอ web ที่รวบรวม List ของ linux ที่มี live cd ไว้ มีรายละเอียดพอสมควร เข้าไปดูๆ ก็แปลกใจเหมือนกัน ว่ามันมี distro ที่เป็น live cd เยอะขนาดนี้เลยหรือ

FrozenTech's LiveCD List

ทำไมคนไทยชอบทำอะไรซ้ำซ้อน

อันนี้โดนมากับตัวเองก็รู้สึกว่าทำไม คนเราต้องทำอะไรที่มันซ้ำซ้อนยุ่งยาก หรืออาจจะติด policy หรือเปล่าหว่า !! ??

เนื่องจากช่วงนี้มีการ implement project หนึ่งให้กับบริษัทที่เป็น mobile operator เจ้าหนึ่ง ซึ่งมันต้องมีการทำ house keeping (งานจัดการด้านหลังบ้าน) โดยจะมีส่วนที่ผมต้องจัดการตัว log file ที่เกิดจาก application ของผมเอง โดยจะต้องมาทำการ log rotate โดยผมต้องมาเขียน application มาจัดการตรงนี้ แล้วมาตั้งผ่าน cron อีกที

ด้วยความที่จับงานด้านนี้มาพอควร แปลกใจกับทำไม ต้องมาเขียน app แยกเพื่อที่จะมาจัดการ log ด้วยหว่า ทำไมถึงไม่ใช้ logrotate กัน ทั้งๆ ที่วิธีการใช้ก็ง่ายแสนจะง่าย

ไว้ว่างๆ จะมาเขียนวิธีใช้ให้แล้วกัน ขอตัวไปทำ app ที่จัดการ log ก่อนล่ะ :-(

วันจันทร์, สิงหาคม 22, 2548

add user โดยใช้ skeleton dir

ไม่รู้จะเอาอะไรมาเขียนดี ขุดของเก่าๆ มาเล่าสู่กันฟังดีกว่าทราบกันหรือไม่ว่า parameter ของคำสั่ง useradd ที่เป็น -k นั้นไว้ทำอะไรบางคนอาจจะไม่เคยสังเกต หรือไม่ได้สนใจ ในบางทีที่เรามีการ add user เพื่องานหนึ่งๆ ซึ่งใน home ของ user ที่สร้างขึ้นมาใหม่นั้น จำเป็นต้องมี default file หรือ directory เพื่อทำงานที่เราต้องการ ยกตัวอย่างง่ายๆ เช่น การ add user เพื่อใช้สำหรับ website เป็นต้น (ขึ้นอยู่กับว่าแต่คนจะวางยังไง)

ยกตัวอย่างเช่นใน skel dir ที่สร้างมีการ define ไว้แบบนี้เป็นต้น

HOME
|
+-- cgi-bin
|
+-- http
|
+-- https
|
+-- logs
|
+-- .bash_profile

หากว่าตัวเครื่องของเราที่มีการทำ website มี web หลายๆ web ที่ต้องแยก user ออกมาแบบนี้ล่ะก็มันคงลำบากที่จะต้องไปสร้าง dir แต่ละอันเพื่อจะให้แต่ล่ะ user ใช่ไหม วิธีที่จะพูดต่อไปนี้มันจะทำให้เราสะดวกขึ้น

  1. ให้สร้างทำการสร้าง skeleton dir ขึ้นมาก่อนโดยให้ structure ของ dir เป็นดังข้างต้นจะไว้ที่ไหนก็ได้ตามสะดวก สมมุติว่า ผมไว้ที่ /usr/local/skel/webskel

  2. ทำการ add user ตามปกติโดยเพิ่ม parameter ลงไปโดยสั่งดังนี้
    [root@xxx root]# useradd -g www -s /bin/bash -k /usr/local/skel/webskel -m -d /somepath/homename username
แค่นี้เองจะได้ dir แบบที่เราทำไว้เป็น skeleton แล้วง่ายๆ ไม่ยุ่งยากอาจจะต้องมาแก้ permission นิดหน่อยเท่านั้นเอง

วันศุกร์, สิงหาคม 19, 2548

เบื่อ default shell ของ sol

เนื่องจากตัวเองถนัด bash มากกว่า ksh ทุกครั้งที่ไปทำเครื่องไหน ต้องไปนั่งแก้มาเป็น bash ทุกครั้ง หลายๆ ครั้งที่ต้อง set เพิ่มเติม และหลายครั้งที่จำไม่ได้ จดไว้กันลืมดีกว่า

file: /etc/profile
PS1='\[\033[01;31m\]\h \[\033[01;34m\]\W \$ \[\033[00m\]'
PS2='> '
PS4='+ '
IFS=$' \t\n'
MANPATH=/usr/local/share/man:/usr/local/man:$MANPATH

alias rm='rm -i'
alias mv='mv -i'
alias cp='cp -i'
alias ls='ls --color -a'
alias ll='ls -l'



หมายเหตุ
config ใน profile บาง command และ parameter บางอันไม่สามารถใช้ได้หาก coreutil ไม่ใช่ของ gnu ซึ่งสามารถหาได้จาก Sun Freeware ใช้แล้วความสะดวกในการทำงานที่เหมือนบน linux จะกลับมาหา

ปล. อย่าลืมบางครั้ง คำสั่ง su อาจจะก่อเกิดปัญหาได้ให้ทำการ mv เป็นชื่ออื่นซะก่อน

cert นั้นสำคัญไฉน

เมื่อวานกับวันก่อนได้เข้าไปลง server ให้กับราชการหน่วยงานหนึ่ง พอดีไปเจอกับเด็กบริษัทหนึ่งเข้ามาทำเหมือนกันแต่รายนี้เค้าทำ Project กับราชการนี้อยู่

ไอ้เราก็ทำงานของเราตามปกติ (ไปลงเครื่อง sun 2 ตัว) เด็กมันก็เดินไปเดินมา ตอนแรกเราก็นึกว่าอยู่หน่วยงานนั้น อยู่ก็เดินมาถาม ไม่ทราบว่าสอบ cert ของ sun ได้ตัวไหนบ้างแล้ว เราก็งงๆ หันไปมองหน้า พร้อมคิดในใจจะถามตูทำไมวะเนี้ย เลยบอก อ่อไม่ได้สอบซักใบขี้เกียจ เท่านั้นล่ะ บอกทันทีผมสอบ cert มาสองใบแล้ว เนี้ยเดี๋ยวจะไปสอบอีกใบ ทางเด็กก็บอก cert ตัวนั้นดีนะ ไม่ได้ยากสอบง่ายๆ เราก็อืมๆ พยักหน้าตามระเบียบ (คิดในใจว่า เมื่อไรมันจะหยุดพูดซักทีวะ)

คุยไปคุยมาซักพัก ทางนั้นก็เดินไป แล้วก็ไม่มาคุยอีกเลย อืม Ok ไม่ได้คิดไร แต่รู้สึกแปลกๆ กรูไม่สอบ cert แล้วหนักหัวใครฟ่ะ


มาอีกวัน คราวนี้เพื่อนมันเข้ามาด้วย เราก็ทำงานของเราตามปกติเหมือนเมื่อวาน เพราะเหลือเครื่องต้องจัดการอีกหนึ่งเครื่อง เนื่องจากในห้อง server เสียงมันดัง เราก็เลยเอา ipod เสียบหูเปิดเพลงดังๆ แก้รำคาญ ด้วยความไม่รู้ตัวก็เหยียบสายไฟ ของไอ้น้องที่เพิ่งมามันอยู่ แทนที่มันจะสะกิดดีๆ ดันมาตีขา ไม่มีมารยาทเลยเด็กสมัยนี้


มีความรู้สึกว่า ทำไมไอ้คนที่มันสอบ cert มาแล้วจะเป็นงี้ทุกคนเปล่าวะ ถ้าเป็นนี่แย่ๆ แน่ ego เยอะฉิบเป๋ง อีกอย่างผมต้องไปจัดการ server ตัวหนึ่งที่เจ้าเด็กคนนี้ลงไว้ อืมมมดีมากกก config ได้เยี่ยมจริงๆ service เปิดไว้เพียบ ลง webmin อีก แถมลง solaris ยังไงให้ vga ไม่ติด ผมต้องไปจัดการผ่าน console แม่มเหนื่อยตูจริงๆ ถ้าไม่ติดเรื่องเวลาจะลง os ใหม่ล่ะ เซ็งจริงๆ