BMS-HOSxP Community
HOSxP => แจ้งปัญหา / ขอความช่วยเหลือ => ข้อความที่เริ่มโดย: the205 ที่ กุมภาพันธ์ 19, 2008, 14:19:28 PM
-
ปัญหารายวันครับ อาจารย์
ขณะนี้ผมใช้ server ตัวใหม่แล้วครับ
แต่เวลา ลูกข่าย login เข้าจะ ฟ้อง InnoDB warning ครับ โดยระบบแจ้งว่าหากไม่ เพิ่ม innodb_file_per_table
จะทำให้ระบบ ช้าเวลาให้บริการลูกข่ายมากๆครับ
ผมเพิ่ม innodb_file_per_table ทำตาม Help แล้ว
restart mysql แล้ว และลอง login ใหม่ มันก็ยังเตือนเหมือนเดิมครับ
แฮ่ๆๆ ตามเดิมครับ ช่วยหน่อยครับ
-
ช่วยส่ง my.cnf มาให้ดูด้วยครับ
แล้วบอกด้วยว่า ram เท่าไรครับ
;D
-
ขอความช่วยเหลือหน่อยครับ ของผมลง Server ใหม่ เป็น CentOS 5 แล้วเจอแบบนี้เหมือนกัน แต่ My.cnf หาไม่เจอครับ ตอนลงครั้งแรกก้ Run MySql 5.1.23 ได้เลย โดยที่ไม่ต้อง Comment บรรทัดอะไรเลย Run ได้เลย
ก็ยังงงอยู่ แล้วไปหา my.cnf ที่ /etc/my.cnf ก็ไม่มี เลย ลอง copy มาใส่ ก็รู้สึกว่ามันไม่ได้เรียกจากตัวนี้ แล้วมันไปเก็บที่ไหน จะแก้ไขได้ไงครับ
-
whereis my.cnf
-
ลองแล้วครับ ไม่เจอครับ
แต่ ใช้ Hosxp ได้ปกติครับ ที่มีก็ที่มันขึ้นมาแจ้ง ภาพข้างบนแค่นั้นครับ
ผมเลยไปหาใน Google ก็เจอแบบนี้เลยลองทำดู แต่ก็ยังไม่หายครับ
ปรกติแล้ว MySQL ไม่มีไฟล์ my.cnf นี้ให้โดยตรงครับ แต่จะเป็นไฟล์ my-medium.cnf แทน และเราต้องเลือกใช้ให้ถูกต้องกับสเป็คเครื่อง โดยเฉพาะหน่วยความจำ ดังนี้ครับ
1. /usr/local/share/mysql/my-innodb-heavy-4G.cnf
สำหรับเครื่องที่มีหน่วยความจำ 4 GB , จะใช้ innodb อย่างเดียว
2. /usr/local/share/mysql/my-huge.cnf
สำหรับเครื่องที่มีหน่วยความจำ 1-2 GB
3. /usr/local/share/mysql/my-large.cnf
สำหรับเครื่องที่มีหน่วยความจำ 512 MB
4. /usr/local/share/mysql/my-medium.cnf
สำหรับเครื่องที่มีหน่วยความจำ 32-64 MB , หรือ 128 MB กรณีที่มี Web Server ด้วย
5. /usr/local/share/mysql/my-small.cnf
สำหรับเครื่องที่มี หน่วยความจำ น้อยกว่า 64 MB รัน mysql อย่างเดียว
สมมุติน่ะครับ ... สมมุติ เครื่องมีหน่วยความจำ 512 MB เราต้องใช้ไฟล์ /usr/local/share/mysql/my-large.cnf
ด้วยการก็อบปี้ และเปลี่ยนชื่อไฟล์ดังนี้
#cp /usr/local/share/mysql/my-medium.cnf /etc/my.cnf
# chown root:sys /etc/my.cnf
# chmod 644 /etc/my.cnf
# rehash
เท่านี้ คุณก็เข้าไปเซตอัพไฟล์ my.cnf ได้แล้วครับ
โชคดีครับ
อ.บัณฑิต
คิดว่าน่าจะเป็นกับ CentOS 5 เพราะ Fedora ใช้ได้ปกติ หรือว่า CentOS 5 มันไปเรียกมาจากที่อื่น
-
ตอนนี้ไม่ขึ้นแล้วครับ ไปลบ file ที่ขึ้นต้นด้วย ib* ออก จากห้อง /var/lib/mysql
;D
-
ตอนนี้ไม่ขึ้นแล้วครับ ไปลบ file ที่ขึ้นต้นด้วย ib* ออก จากห้อง /var/lib/mysql
;D
ถ้ามีการ update ตารางเป็น innodb ไปแล้ว ห้าม ทำการลบ ib* ออก นะครับ
-
ขอผมก็เป็นเหมือนกันครับ ใช้ CentOS 5.1 mysql MySQL5.1.29 ram 4GB แล้ว hosxp version 3.51.12.14 ครับแนะนำผมหน่อยครับ
-
ข้อความโดย: sulaiman_hosxp
ใส่การอ้างถึงคำพูด
ขอผมก็เป็นเหมือนกันครับ ใช้ CentOS 5.1 mysql MySQL5.1.29 ram 4GB แล้ว hosxp version 3.51.12.14 ครับแนะนำผมหน่อยครับ
หา my.cnf เจอไหมครับ
-
my.cnf มีครับ ช่วยดูให้ผมหน่อยครับ
-
up ตารางเป็น innodb ยังครับ
ยังไงก็สำรองข้อมูลไว้ก่อน
ถ้ายังไม่ได้ up ตารางเป็น innodb เข้าไปลบ file ที่ขึ้นต้นด้วย ib* ออก จากห้อง /var/lib/mysql
ก็น่าจะหายครับ
-
http://hosxp.net/index.php?option=com_smf&Itemid=28&topic=7771
-
เวลา up ตารางเป็น innodb ยังงั้ยครับ ผมลบ ib* ใน /var/lib/mysql/ แล้วครับก็ยังเป็นครับ
-
เมนู tool ==> Miscellaneous ==> checkDB
คลิกแท็บ Advance
คลิกเมนูด้านซ้าย ==> Update Structure
ติ๊กหน้า Upgrade to InnoDB
คลิก High Performance ==>นั่งรอ..จนเสร็จ
-
เมนู tool ==> Miscellaneous ==> checkDB
คลิกแท็บ Advance
คลิกเมนูด้านซ้าย ==> Update Structure
ติ๊กหน้า Upgrade to InnoDB
คลิก High Performance ==>นั่งรอ..จนเสร็จ
ยืนยันครับ
-
ผมลองแล้วครับก็ยังเป็นครับ ไม่ทราบต้องไปแก้ตรงนั้ยครับ
-
ต้องดูใน log error ของ mysql ครับ มันจะบอกว่าทำไมถึงใช้ InnoDB ไม่ได้ ถ้าหาไม่เจอจะอยู่ในห้อง data ของ mysql ครับ ไฟล์ชื่อ *ชื่อโฮส*.err ครับ
-
ชื่อ hosxp.err ครับแล้วแก้แบบนั้ยครับ แนะนำหน่อยครับ
-
ชื่อ hosxp.err ครับแล้วแก้แบบนั้ยครับ แนะนำหน่อยครับ
คงต้อง copy ข้อความใน hosxp.err บรรทัด ท้าย ๆ ที่มี error เกิดขึ้น
หรือไม่ก็ต้องแนบไฟล์ hosxp.err มาให้ดูด้วยครับ
-
ผมแนบไฟล์มาให้ครับ
-
มีไฟล์แนบครับ
-
น่าจะเป็น ที่ my.cnf ครับ รบกวนส่งให้อีกหน่อยครับ
-
นี้ครับ
-
ลองทำตามนี้ครับ
# service mysql stop
แก้ไข my.cnf ตามนี้ดูครับ
[mysqld]
innodb_file_per_table บรรทัดนี้ เอาออกก่อนครับ ใช้ด้านล่างอันเดียวก็พอแล้ว เนื่องจากซ้ำกัน เอาอันนี้ออก
key_buffer = 512M
myisam_sort_buffer_size = 128M
query_cache_size= 512M
# skip-name-resolve ถ้าเน็ตเวิร์กมี DNS Server ก็ไม่ต้อง uncomments บรรทัดนี้ก็ได้ครับ
innodb_buffer_pool_size = 2G ทดลองใช้ แค่ 2 GB ก่อนครับ
ถ้าได้แล้ว capture หน้าจอที่ได้จากการใช้คำสั่ง top > Shift + M ให้หน่อยครับ
ปล. ถ้าเป็นไปได้ ผมทำแบบนี้เลย
[mysqld]
port = 3306
socket = /var/lib/mysql/mysql.sock
default-storage-engine = INNODB
default_table_type = INNODB
-
ได้แล้วครับ ขอบคุณมาก จริงๆ ผมใช้ ram 4G ครับ เป็นเพราะผมใช้ CentOS 32bit หรือเปล่าครับ ช่วยอธิบายผมด้วยครับ ขอบคุณล่วงหน้าอีกครั้งครับ
-
ได้แล้วครับ ขอบคุณมาก จริงๆ ผมใช้ ram 4G ครับ เป็นเพราะผมใช้ CentOS 32bit หรือเปล่าครับ ช่วยอธิบายผมด้วยครับ ขอบคุณล่วงหน้าอีกครั้งครับ
OS 32 bit เรียกใช้ความจำได้มากสุด 4 GB ครับ ถึงแม้จะใส่ RAM 6-8 GB ก็ไม่มีประโยชน์ครับ
ถ้า Hardware สนับสนุน น่าจะทำเป็น 64 bit เลยนะครับ
-
ได้แล้วครับ ขอบคุณมาก จริงๆ ผมใช้ ram 4G ครับ เป็นเพราะผมใช้ CentOS 32bit หรือเปล่าครับ ช่วยอธิบายผมด้วยครับ ขอบคุณล่วงหน้าอีกครั้งครับ
เหอๆๆ ขอเปลี่ยนจากคำขอบคุณเป็นการกดปุ่ม Thanks แทนได้ใหมคะ อิอิ :D
-
http://hosxp.net/index.php?option=com_smf&Itemid=28&topic=8180.0
;D :D ;D :D