BMS-HOSxP Community

HOSxP => แจ้งปัญหา / ขอความช่วยเหลือ => ข้อความที่เริ่มโดย: mslangu ที่ มีนาคม 31, 2011, 10:27:18 AM

หัวข้อ: ขอความรู้หน่อยครับ
เริ่มหัวข้อโดย: mslangu ที่ มีนาคม 31, 2011, 10:27:18 AM
พอดีลองนั่งดูพื้นที่เก็บข้อมูลใน server แล้วเอ๊ะใจมากหน่อย ว่าทำไมฮาร์ดดิสก์พืนที่เหลือจัง ทั้งที่เพิ่งขึ้นระบบมาประมาณปีกว่าๆเองไหงฮาร์ดิสก์เหลือน้อยลงทุกที แล้วไปดูก็พบว่ามีไฟล์ mysql-bin.0000xx ที่มีทุกวัน ไม่ทราบว่าไฟล์ตัวนี้เก็บรายละเอียดไรไว้บ้าง และถ้าผมจะลบไฟล์นี้ได้หรือเปล่าครับ หรือผมจะ config ไม่ให้มีไฟล์นี้ได้หรือเปล่า ไฟลืนี้มีประโยชน์มากหรือเปล่าครับ รบกวนหน่อยนะครับ
หัวข้อ: Re: ขอความรู้หน่อยครับ
เริ่มหัวข้อโดย: dotAtainer ที่ มีนาคม 31, 2011, 10:35:24 AM
 ;D ;D ;D ขอดู my.cnf ครับ
หัวข้อ: Re: ขอความรู้หน่อยครับ
เริ่มหัวข้อโดย: nph2006 ที่ มีนาคม 31, 2011, 10:59:31 AM
ไฟล์ log ของ mysql copy  ออกมาเก็บไว้ เพื่อใช้กู้คืนระบบ เวลามีปัญหา หรือ จะลบทิ้งก็ได้ ถ้าคิดว่าไม่ได้ใช้
หัวข้อ: Re: ขอความรู้หน่อยครับ
เริ่มหัวข้อโดย: mslangu ที่ มีนาคม 31, 2011, 11:05:56 AM
My.cnf ครับผม
หัวข้อ: Re: ขอความรู้หน่อยครับ
เริ่มหัวข้อโดย: dotAtainer ที่ มีนาคม 31, 2011, 15:17:51 PM
 ;D ;D ;D ฟังค์ชั่นเหล่านี้ทำให้เกิด log ตัวที่ว่าขึ้นมาน่ะครับเป็น log เกี่ยวกับ Replication

# Replication Master Server (default)
# binary logging is required for replication
log-bin=mysql-bin
# binary logging format - mixed recommended
binlog_format=mixed
# required unique id between 1 and 2^32 - 1
# defaults to 1 if master-host is not set
# but will not function as a master if omitted
server-id   = 1
# Replication Slave (comment out master section to use this)
#
หัวข้อ: Re: ขอความรู้หน่อยครับ
เริ่มหัวข้อโดย: mslangu ที่ มีนาคม 31, 2011, 16:37:28 PM
ขอบคุณมากครับ แล้วผมต้องทำอย่างไรบ้างครับ เกี่ยวกับlog ตัวนี้ ถ้าไม่มีจะสงผลอย่างไรบ้างครับ
หัวข้อ: Re: ขอความรู้หน่อยครับ
เริ่มหัวข้อโดย: dotAtainer ที่ เมษายน 01, 2011, 06:22:24 AM
 ;D ;D ;D

ถ้าท่านมี Replication ที่ทำจาก Hosxp หมายถึง initial import & Run Agent อยู่แล้วก็ปิดฟังค์ชั่นนี้ไปเลยก็ได้ครับโดยใส่ # ไว้ข้างหน้า
เช่น #server-id   = 1
แต่ถ้าทำ Replication จาก my.cnf แนะนำว่าเอาไว้อย่างนั้นล่ะครับ  ;D

 
หัวข้อ: Re: ขอความรู้หน่อยครับ
เริ่มหัวข้อโดย: แอดวิน รพ.สหัสขันธ์ ที่ เมษายน 01, 2011, 09:12:14 AM
ผมยอมเสีย PC ไปหนึ่งเครื่องเพื่อทำ Replication ครับ เพื่อประกันความชัวร์  ;D
เพราะยังอ่อน เรื่อง my.cnf   ;D
หัวข้อ: Re: ขอความรู้หน่อยครับ
เริ่มหัวข้อโดย: mslangu ที่ เมษายน 01, 2011, 15:53:04 PM
ตอนนี้ทำ riplicate run agent อยู่ครับ ถ้าผมไปปิดฟังก์ชันตัวนี้ ปิดคำสั่งบรรทัดใดบ้างครับ รบกวนหน่อยครับผม ขอบคุณทุกคำตอบครับผม
หัวข้อ: Re: ขอความรู้หน่อยครับ
เริ่มหัวข้อโดย: เข้ม ที่ เมษายน 02, 2011, 00:04:11 AM
ขอบคุณมากครับ แล้วผมต้องทำอย่างไรบ้างครับ เกี่ยวกับlog ตัวนี้ ถ้าไม่มีจะสงผลอย่างไรบ้างครับ

สำหรับผม ผมว่ามันมีประโยชน์ในการ data recovery ตอนระบบมัน crash ครับ

ใน my.cnf
log-bin=mysql-bin
variable ตัวนี้ จะสร้างไฟล์ mysql-binxxx ขึ้นมา
และไฟล์นี้จะช่วยในการ recovery ข้อมูลกลับมาได้ ถ้า MySQL เกิด crash ขึ้นมา
ระบบจะไปดึงข้อมูลจากไฟล์ mysql-binxxx มาใช้ครับ

สำหรับที่ รพ. ใส่ไว้ครับ เพราะเห็นประโยชน์มาแล้ว ...
และอีกอย่าง ... ถึงเวลา upgrade structure ที ก็พิจารณาลบออกอีกทีครับ

ก็แล้วแต่จะพิจารณาครับว่าจะใส่หรือไม่  ;) ;)

ปล.
 
1. ถ้าจะลบออกหรือแ้ก้ไข my.cnf ขอให้ stop service mysql ก่อนนะครับ กรณีที่ยังต้องการให้มีการเก็บ log-bin มีสองทางเลือกครับ ...โดย

2. ถ้าต้องการลบ mysql-binxxx ออกทั้งหมดต้องลบไฟล์ mysql-bin.index ออกด้วยนะครับ เมือ start mysql ใหม่แล้วระบบจะเริ่มสร้าง mysql-binxxx ใหม่ และ พร้อมสร้างไฟล์ index  ที่ชื่อ mysql-bin.index ขึ้นมาใหม่ แต่ ...

3. ถ้าต้องการลบ mysql-binxxx แต่ต้องการเก็บไฟล์อันดับท้าย ๆ ไว้ จะต้องเข้าไปแก้ไขไฟล์ mysql-bin.index ด้วยโดยให้ลบบรรทัดที่เป็นชื่อไฟล์ mysql-binxxx ที่ลบออกไปเท่านั้น

...  ;) ;)
หัวข้อ: Re: ขอความรู้หน่อยครับ
เริ่มหัวข้อโดย: มดตานอย ครับ.. ที่ เมษายน 02, 2011, 00:59:24 AM
สำหรับ log ที่ว่านั้น จะใช้ทำระบบ replicate  ให้ server 2เครื่อง ทั้ง master และ slave replicate กัน
ซึ่งระบบนี้ต้อง set ค่า ที่ my.cnf ทั้ง master และ slave  และ สามารถ ให้ replicate ไปเก็บ ที่ slave ได้หลายเครื่อง  ระบบนี้ จะทำให้ข้อมูล เท่ากันทั้ง master และ slave  ในช่วงเวลาอันสั้น  เมื่อไหร่ ที่ master มีปัญหา ด้าน hardware  อย่างน้อยก็รับประกัน ได้ว่า ยัง มี ข้อมูล ใน slave ก็เชื่อถือได้ระดับหนึ่ง
ถ้าไม่ได้ทำตรงนี้ ก็ ให้ comment  log-bin=mysql-bin   ไว้ หรือลบออก เพราะมันจะสิ้นเปลืองพื้นที่เก็บ ข้อมูล
และอีกทางหนึ่งก็ ใช้ระบบ replicate ที่มากับ hosxp   แต่ต้องใช้  client อีกเครื่องมา รัน agent เอาไว้

........ตามประสบการณ์ ที่เคยช่วยติดตั้งให้ รพ.ใกล้เคียง ผมใช้ replication โดย config ที่ my.cnf ทั้ง master และ slave   ข้อมูลทั้ง 2 เครื่อง เท่ากันทุกประการ  โดยไม่ต้อง เสียอีกเครื่อง รัน agent  และสามารถตั้ง ให้ files log ใน master  หมดอายุ นั้นก็คือ ลบ แบบ auto จะได้ไม่กวน พื่นที่จัดเก็บข้อมูล ใน master  ระบบนี้เรียก   master to slave replication เป็นแบบ one-way 

......อีกแบบ คือ master to master replication   อันนี้ ต้องมี server 2 เครื่องขึ้นไป  แต่ละเครื่อง ก็ให้บริการในโซนของตัวเอง  เช่น  server 1 วางที่โซน ipd   ,  server 2 วางที่โซน opd  ทั้ง 2 เครื่องจะ replication กัน ทำให้ข้อมูลเท่ากัน   ผมยังติดการทำเอกสารตัวนี้ครับ  มา 3 ปีแล้ว ยังหาเวลาว่างอยู่
ส่วน master to slave replication ผมทำไว้แล้วอยู่ใน ที่นี่ แหล่ะครับ ลองค้นดู

....ขอบพระคุณครับ

หัวข้อ: Re: ขอความรู้หน่อยครับ
เริ่มหัวข้อโดย: nummon ที่ เมษายน 02, 2011, 09:51:26 AM
ถ้าต้องการลบ mysql-binxxx แต่ต้องการเก็บไฟล์อันดับท้าย ๆ ไว้ จะต้องเข้าไปแก้ไขไฟล์ mysql-bin.index ด้วยโดยให้ลบบรรทัดที่เป็นชื่อไฟล์ mysql-binxxx ที่ลบออกไปเท่านั้น
...  ;) ;)

ถ้าต้องการลบไฟล์logถึง  mysql-binxxx
ให้ใช้คำสั่งใน mysql
PURGE BINARY LOGS TO 'mysql-bin.000xxx';

....สามารถตั้ง ให้ files log ใน master  หมดอายุ นั้นก็คือ ลบ แบบ auto จะได้ไม่กวน พื่นที่จัดเก็บข้อมูล ใน master  ......

ตอนนี้ตั้ง expire_logs_days ไว้กี่วันครับ

..... ;D
หัวข้อ: Re: ขอความรู้หน่อยครับ
เริ่มหัวข้อโดย: mslangu ที่ เมษายน 04, 2011, 09:32:51 AM
สำหรับ log ที่ว่านั้น จะใช้ทำระบบ replicate  ให้ server 2เครื่อง ทั้ง master และ slave replicate กัน
ซึ่งระบบนี้ต้อง set ค่า ที่ my.cnf ทั้ง master และ slave  และ สามารถ ให้ replicate ไปเก็บ ที่ slave ได้หลายเครื่อง  ระบบนี้ จะทำให้ข้อมูล เท่ากันทั้ง master และ slave  ในช่วงเวลาอันสั้น 
ขอบคุณมากครับผม ความรู้เพิ่มขึ้นเยอะเลย ถามต่อครับผม my.cnf  ขอ slave จะต้องเหมือนกับ master หรือเปล่าครับ หรือเราจะต้องเพิ่มคำสั่งในตัว slave  ครับ และคำสั่งในการสั่งลบ auto เราจะต้องเพิ่มทั้งสองฝั่งหรือเปล่าครับ ไม่ทราบว่าใช้คำสั่งอย่างไรครับ เมื่อคอนฟิกจาก my.cnf  แบบนี้แล้วเราไม่จำเป็นต้องไปรัน agentจากตัว hosxp ใช่หรือเปล่าครับ ข้อมูลจะไหลไป slave โดยอัตโนมัติใช่หรือเปล่าครับ ขอบคุณมากครับ