BMS-HOSxP Community
HOSxP => แจ้งปัญหา / ขอความช่วยเหลือ => ข้อความที่เริ่มโดย: Bluebird ที่ ธันวาคม 17, 2012, 09:37:33 AM
-
ฐานข้อมูล มีปัญหา ไม่รู้จัก ตารางที่เป็น InnoDB
เหตุการณ์เกิดขึ้น ไฟดับ หลายชั่วโมง ไม่มีผู้ปิด Server ทำให้ Server ดับเอง เมื่อไฟสำรองไม่พอ
พอรุ่งเช้า Restart ใหม่ ฐานขอมูล ไปเลย
-
HD server เต็มไหมครับ
-
เคยเป็นกับ server สำรอง
ดับเอง พอจะมาเปิด เปิดไม่ได้
สุดท้ายต้องลง linux ใหม่
ปล.ที่โรงพยาบาลไม่มีเครื่องปั่นไฟใช้เองหรือค้าบ
-
แก้อย่างไร ช่วยทีครับ
-
ลองใช้คำสั่ง df -h ดูพื่นที่ใน HD
-
HD ยังเหลือเยอะ
-
ลองดูที่นี่ครับ
http://hosxp.net/index.php?option=com_smf&Itemid=28&topic=11976.0;prev_next=next
-
ต้องดู error log ครับว่า mysql แสดง error อะไรไว้ครับ
-
121216 22:36:34 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
121216 22:36:34 [Note] Plugin 'FEDERATED' is disabled.
InnoDB: Error: log file /var/lib/mysql/ib_logfile0 is of different size 0 104857600 bytes
InnoDB: than specified in the .cnf file 0 1073741824 bytes!
121216 22:36:35 [ERROR] Plugin 'InnoDB' init function returned error.
121216 22:36:35 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
121216 22:36:35 [ERROR] /usr/sbin/mysqld: unknown variable 'innodb_use_sys_malloc=1'
121216 22:36:35 [ERROR] Aborting
121216 22:36:35 [Warning] Forcing shutdown of 1 plugins
121216 22:36:35 [Note] /usr/sbin/mysqld: Shutdown complete
121216 22:36:35 mysqld_safe mysqld from pid file /var/lib/mysql/server.rangaehospital.com.pid ended
121216 23:04:35 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
121216 23:04:36 [Note] Plugin 'FEDERATED' is disabled.
InnoDB: Error: log file /var/lib/mysql/ib_logfile0 is of different size 0 104857600 bytes
InnoDB: than specified in the .cnf file 0 1073741824 bytes!
121216 23:04:36 [ERROR] Plugin 'InnoDB' init function returned error.
121216 23:04:36 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
121216 23:04:36 [ERROR] /usr/sbin/mysqld: unknown variable 'innodb_use_sys_malloc=1'
121216 23:04:36 [ERROR] Aborting
121216 23:04:36 [Warning] Forcing shutdown of 1 plugins
121216 23:04:36 [Note] /usr/sbin/mysqld: Shutdown complete
121216 23:04:36 mysqld_safe mysqld from pid file /var/lib/mysql/server.rangaehospital.com.pid ended
121216 23:32:01 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
121216 23:32:01 [Note] Plugin 'FEDERATED' is disabled.
InnoDB: Error: log file /var/lib/mysql/ib_logfile0 is of different size 0 104857600 bytes
InnoDB: than specified in the .cnf file 0 1073741824 bytes!
121216 23:32:02 [ERROR] Plugin 'InnoDB' init function returned error.
121216 23:32:02 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
121216 23:32:02 [ERROR] /usr/sbin/mysqld: unknown variable 'innodb_use_sys_malloc=1'
121216 23:32:02 [ERROR] Aborting
121216 23:32:02 [Warning] Forcing shutdown of 1 plugins
121216 23:32:02 [Note] /usr/sbin/mysqld: Shutdown complete
121216 23:32:02 mysqld_safe mysqld from pid file /var/lib/mysql/server.rangaehospital.com.pid ended
121217 07:39:24 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
121217 7:39:24 [Note] Plugin 'FEDERATED' is disabled.
InnoDB: Error: log file /var/lib/mysql/ib_logfile0 is of different size 0 104857600 bytes
InnoDB: than specified in the .cnf file 0 1073741824 bytes!
121217 7:39:24 [ERROR] Plugin 'InnoDB' init function returned error.
121217 7:39:24 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
121217 7:39:24 [ERROR] /usr/sbin/mysqld: unknown variable 'innodb_use_sys_malloc=1'
121217 7:39:24 [ERROR] Aborting
121217 7:39:24 [Warning] Forcing shutdown of 1 plugins
121217 7:39:24 [Note] /usr/sbin/mysqld: Shutdown complete
121217 07:39:24 mysqld_safe mysqld from pid file /var/lib/mysql/server.rangaehospital.com.pid ended
121217 07:45:16 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
121217 7:45:17 [Note] Plugin 'FEDERATED' is disabled.
InnoDB: Error: log file /var/lib/mysql/ib_logfile0 is of different size 0 104857600 bytes
InnoDB: than specified in the .cnf file 0 1073741824 bytes!
121217 7:45:17 [ERROR] Plugin 'InnoDB' init function returned error.
121217 7:45:17 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
121217 7:45:17 [ERROR] /usr/sbin/mysqld: unknown variable 'innodb_use_sys_malloc=1'
121217 7:45:17 [ERROR] Aborting
121217 7:45:17 [Warning] Forcing shutdown of 1 plugins
121217 7:45:17 [Note] /usr/sbin/mysqld: Shutdown complete
-
นี้ ไฟล์ my.cnf รันผ่านครับ
[client]
port = 3306
socket = /var/lib/mysql/mysql.sock
default-character-set=tis620
[mysqld]
port = 3306
socket = /var/lib/mysql/mysql.sock
skip-locking
key_buffer = 128M
max_allowed_packet = 512M
table_cache = 1800
sort_buffer_size = 1M
read_buffer_size = 1M
read_rnd_buffer_size = 1M
myisam_sort_buffer_size = 128M
thread_cache = 8
query_cache_size= 50M
thread_concurrency = 8
default-character-set=tis620
skip-name-resolve
innodb_file_per_table
skip-character-set-client-handshake
init_connect = 'SET NAMES tis620'
max_connections = 1000
server-id = 1
innodb_data_home_dir = /var/lib/mysql/
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = /var/lib/mysql/
#innodb_log_arch_dir = /var/lib/mysql/
# You can set .._buffer_pool_size up to 50 - 80 %
# of RAM but beware of setting memory usage too high
innodb_buffer_pool_size = 512M
innodb_additional_mem_pool_size = 20M
# Set .._log_file_size to 25 % of buffer pool size
innodb_log_file_size = 256M
innodb_log_buffer_size = 32M
innodb_flush_log_at_trx_commit = 2
innodb_lock_wait_timeout = 50
innodb_thread_concurrency = 0
innodb_flush_method=O_DIRECT
innodb_doublewrite =0
innodb_support_xa =0
innodb_open_files = 1800
innodb_locks_unsafe_for_binlog=1
join_buffer_size = 2M
concurrent_insert = 2
max_heap_table_size = 50M
log_bin_trust_function_creators = 1
[mysqldump]
quick
max_allowed_packet = 512M
allow-keywords
[mysql]
no-auto-rehash
# Remove the next comment character if you are not familiar with SQL
#safe-updates
default-character-set=tis620
[isamchk]
key_buffer = 128M
sort_buffer_size = 128M
read_buffer = 2M
write_buffer = 2M
[myisamchk]
key_buffer = 128M
sort_buffer_size = 128M
read_buffer = 2M
write_buffer = 2M
[mysqlhotcopy]
interactive-timeout
-
แบบนี้
121216 22:36:34 [Note] Plugin 'FEDERATED' is disabled.
InnoDB: Error: log file /var/lib/mysql/ib_logfile0 is of different size 0 104857600 bytes
InnoDB: than specified in the .cnf file 0 1073741824 bytes!
เหมือนมีการไปเปลี่ยนขนาด log file size ใน my.cnf
ถ้ามีก็ลองแก้ให้เป็นขนาดเดิมครับ
-
บรรทัดไหนครับ
-
มีการปรับค่าใน my.cnf หรือป่าวล่ะครับ
ผมว่าส่ง error มาทั้งไฟล์เลยดีกว่าครับ จะได้ดูค่าตอนที่รันครั้งแรกด้วย
-
http://hosxp.net/index.php?option=com_smf&Itemid=28&topic=23377.0 ลองดูตามนี้
-
มีการปรับค่าใน my.cnf หรือป่าวล่ะครับ
ผมว่าส่ง error มาทั้งไฟล์เลยดีกว่าครับ จะได้ดูค่าตอนที่รันครั้งแรกด้วย
121217 15:25:22 InnoDB: Error: page 271881 log sequence number 31 2566095031
InnoDB: is in the future! Current system log sequence number 24 3966501067.
InnoDB: Your database may be corrupt or you may have copied the InnoDB
InnoDB: tablespace but not the InnoDB log files. See
InnoDB: http://dev.mysql.com/doc/refman/5.1/en/forcing-recovery.html
InnoDB: for more information.
121217 15:25:22 InnoDB: Error: page 248583 log sequence number 30 2428040772
InnoDB: is in the future! Current system log sequence number 24 3966501144.
InnoDB: Your database may be corrupt or you may have copied the InnoDB
InnoDB: tablespace but not the InnoDB log files. See
InnoDB: http://dev.mysql.com/doc/refman/5.1/en/forcing-recovery.html
InnoDB: for more information.
121217 15:25:22 InnoDB: Error: page 130359 log sequence number 31 3238051279
InnoDB: is in the future! Current system log sequence number 24 3966501220.
InnoDB: Your database may be corrupt or you may have copied the InnoDB
InnoDB: tablespace but not the InnoDB log files. See
InnoDB: http://dev.mysql.com/doc/refman/5.1/en/forcing-recovery.html
InnoDB: for more information.
121217 15:25:22 InnoDB: Error: page 117617 log sequence number 31 4096095501
InnoDB: is in the future! Current system log sequence number 24 3966501297.
InnoDB: Your database may be corrupt or you may have copied the InnoDB
InnoDB: tablespace but not the InnoDB log files. See
InnoDB: http://dev.mysql.com/doc/refman/5.1/en/forcing-recovery.html
InnoDB: for more information.
หมายถึงอะไรครับ ทำให้ขนาดไฟล์เพิ่มขึ้นเรื่อยๆ
-
มี ตัวอย่างไฟล์ Error และ my.cnf ครับ
เพราะขนาดไฟล์ เพิ่มขึ้นเรื่อย ๆ
-
ทำอะไรไปบ้างแล้วครับ
-
ตอนนี้ใช้งานได้แล้ว
แต่ ไฟล์ error เพิ่มขึ้นตลอด
-
ตอนนี้ใช้งานได้แล้ว
แต่ ไฟล์ error เพิ่มขึ้นตลอด
Error ที่ว่าเป็นอย่างไรครับ ส่งภาพมาให้ดูด้วยครับ
-
ตามไฟล์ที่แนบเลยครับ
บางส่วน
121217 15:25:22 InnoDB: Error: page 271881 log sequence number 31 2566095031
InnoDB: is in the future! Current system log sequence number 24 3966501067.
InnoDB: Your database may be corrupt or you may have copied the InnoDB
InnoDB: tablespace but not the InnoDB log files. See
InnoDB: http://dev.mysql.com/doc/refman/5.1/en/forcing-recovery.html
InnoDB: for more information.
121217 15:25:22 InnoDB: Error: page 248583 log sequence number 30 2428040772
InnoDB: is in the future! Current system log sequence number 24 3966501144.
InnoDB: Your database may be corrupt or you may have copied the InnoDB
InnoDB: tablespace but not the InnoDB log files. See
InnoDB: http://dev.mysql.com/doc/refman/5.1/en/forcing-recovery.html
InnoDB: for more information.
121217 15:25:22 InnoDB: Error: page 130359 log sequence number 31 3238051279
InnoDB: is in the future! Current system log sequence number 24 3966501220.
InnoDB: Your database may be corrupt or you may have copied the InnoDB
InnoDB: tablespace but not the InnoDB log files. See
InnoDB: http://dev.mysql.com/doc/refman/5.1/en/forcing-recovery.html
InnoDB: for more information.
121217 15:25:22 InnoDB: Error: page 117617 log sequence number 31 4096095501
InnoDB: is in the future! Current system log sequence number 24 3966501297.
InnoDB: Your database may be corrupt or you may have copied the InnoDB
InnoDB: tablespace but not the InnoDB log files. See
InnoDB: http://dev.mysql.com/doc/refman/5.1/en/forcing-recovery.html
InnoDB: for more information.
จะขึ้นมาแบบนี้ทุกๆ วินาทีเลยครับ
-
ผมแนบรูปให้ดูนะครับ
นอกจากไฟฟ้าจะดับแล้วผมว่าน่าจะเกิดจากการเปลี่ยนแปลงค่า variable ในไฟล์ my.cnf (ซึ่งเป็นค่าต้องห้ามซะด้วย) คือ
innodb_log_file_size = 100M เปลี่ยนไปเป็น innodb_log_file_size = 512M (ดูจาก my.cnf ที่ให้มา)
แต่ถ้าดูจากไฟล์ error ตอนแรก ๆ น่าจะเปลี่ยนจาก 100M --> 1024M
InnoDB: Error: log file /var/lib/mysql/ib_logfile0 is of different size 0 104857600 bytes
InnoDB: than specified in the .cnf file 0 1073741824 bytes!
-
และมีการปรับเปลี่ยนค่า innodb_log_file_size กลับไปกลับมาอีก
InnoDB: Error: log file /var/lib/mysql/ib_logfile0 is of different size 0 104857600 bytes
InnoDB: than specified in the .cnf file 0 1073741824 bytes!
InnoDB: Error: log file /var/lib/mysql/ib_logfile0 is of different size 0 104857600 bytes
InnoDB: than specified in the .cnf file 0 268435456 bytes!
เปลี่ยน innodb_data_file_path = ibdata1:10M:autoextend (ของเดิม) ไปเป็นค่าอื่น
InnoDB: Error: auto-extending data file /var/lib/mysql/ibdata1 is of a different size
InnoDB: 5760 pages (rounded down to MB) than specified in the .cnf file:
ซึ่งน่าจะทำให้ระบบรวนไปน่ะครับ .. และเหมือนจะมีการลบไฟล์ ib* ออกไปแล้วให้สร้างใหม่ด้วย (ผมเดาเอาว่าน่าจะ backup ไฟล์เก่าไว้แล้วนะครับ)
เลยไม่รู้ว่าจะช่วยแก้ไขให้อย่างไร ... :'( :'(
ขอให้ผ่านไปได้นะครับ เอาใจช่วยครับ
คิดซะว่าเป็นประสบการณ์ ;) ;)
-
ไม่รู้ตอนนี้เป็นงัยบ้างแล้ว :'( :'(
-
และมีการปรับเปลี่ยนค่า innodb_log_file_size กลับไปกลับมาอีก
InnoDB: Error: log file /var/lib/mysql/ib_logfile0 is of different size 0 104857600 bytes
InnoDB: than specified in the .cnf file 0 1073741824 bytes!
InnoDB: Error: log file /var/lib/mysql/ib_logfile0 is of different size 0 104857600 bytes
InnoDB: than specified in the .cnf file 0 268435456 bytes!
เปลี่ยน innodb_data_file_path = ibdata1:10M:autoextend (ของเดิม) ไปเป็นค่าอื่น
InnoDB: Error: auto-extending data file /var/lib/mysql/ibdata1 is of a different size
InnoDB: 5760 pages (rounded down to MB) than specified in the .cnf file:
ซึ่งน่าจะทำให้ระบบรวนไปน่ะครับ .. และเหมือนจะมีการลบไฟล์ ib* ออกไปแล้วให้สร้างใหม่ด้วย (ผมเดาเอาว่าน่าจะ backup ไฟล์เก่าไว้แล้วนะครับ)
เลยไม่รู้ว่าจะช่วยแก้ไขให้อย่างไร ... :'( :'(
ขอให้ผ่านไปได้นะครับ เอาใจช่วยครับ
คิดซะว่าเป็นประสบการณ์ ;) ;)
คงปรับค่า config my.cnf
ประสบการณ์ที่ ปัญหาเกิดจากตัว ADMIN
-
ไม่รู้ตอนนี้เป็นงัยบ้างแล้ว :'( :'(
เปลี่ยนชื่อ ib* เป็นชื่ออื่นก่อน (กันเสียหาย) แล้ว Restart MySQL ใหม่
จากนั้นผมไปลบ ไฟล์ .err ( มีผลอะไรไหมหากไม่มีไฟล์นี้ เพราะปล่อยไว้ ขนาดไฟล์ จะเพิ่มทุกวินาทีเลย )
ส่วนโปรแกรมใช้งานได้ ครับเดี่ยวมี MYSQL Workload มาให้ดู
-
MYSQL Workload
-
ยินดีด้วยครับ ;) ;)
ไฟล์ .err ลบไปก็ไม่มีปัญหาหรอกครับ เพราะเดี๋ยวมันก็จะถูกสร้างขึ้นใหม่ (เอาไว้ดูเพื่อใช้เป็นแนวทางในการแก้ไขปัญหา)
:D :D :D
-
;D login ปกติหรือปะ ขอรับ ;D
;D ถ้า login ได้ ให้ upstruc ที แล้วปรับตาราง Innodb 1 ครั้ง ;D
-
สุดยอดเลยครับพี่เข้มแม่นมากๆคาราวะเลย
ผมแนบรูปให้ดูนะครับ
นอกจากไฟฟ้าจะดับแล้วผมว่าน่าจะเกิดจากการเปลี่ยนแปลงค่า variable ในไฟล์ my.cnf (ซึ่งเป็นค่าต้องห้ามซะด้วย) คือ
innodb_log_file_size = 100M เปลี่ยนไปเป็น innodb_log_file_size = 512M (ดูจาก my.cnf ที่ให้มา)
แต่ถ้าดูจากไฟล์ error ตอนแรก ๆ น่าจะเปลี่ยนจาก 100M --> 1024M
InnoDB: Error: log file /var/lib/mysql/ib_logfile0 is of different size 0 104857600 bytes
InnoDB: than specified in the .cnf file 0 1073741824 bytes!