* ขอบคุณที่เข้ามาอ่านครับ ยาวหน่อยนะครับ *
MySql เป็นเวอร์ชั่น 4.1.7 เป็นปัญหามานานแล้วครับ ยังแก้ไม่ได้เลย
หลัง mysql_connect ผมก็สั่ง SET NAMES TIS620 แล้ว
เวลา สั่ง select ข้อมูลด้วยช่องว่าง หรือ ข้อมูลที่นำมา select นั้นเกิน 16 ตัวอักษร
MySql ก็จะดับไปเลย restart MySql อย่างเดียวก็ไม่ได้ ต้อง restart server เลยครับ
ผมกำหนด การเรียงลำดับ ใน phpMyAdmin เป็น tis620 ในทุก Table,Field
อันนี้เป็นฐานข้อมูลใหม่ของระบบใหม่ที่ผมสร้างขึ้นมา
ตัวอย่าง error log ครับ ตรง agent_id integer(5) ,name เป็น varchar(100)
key_buffer_size=67108864
read_buffer_size=1044480
max_used_connections=8
max_connections=650
threads_connected=3
It is possible that mysqld could use up to
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_connections = 2059730 K
bytes of memory
Hope that's ok; if not, decrease some variables in the equation.
thd=0x8d20808
Attempting backtrace. You can use the following information to find out
where mysqld died. If you see no messages after this, something went
terribly wrong...
Cannot determine thread, fp=0xa949ff84, backtrace may not be correct.
Stack range sanity check OK, backtrace follows:
0x814aecd
0x6688b8
Stack trace seems successful - bottom reached
Please read http://dev.mysql.com/doc/mysql/en/Using ... trace.html and follow instructions on how to resolve the stack trace. Resolved
stack trace is much more helpful in diagnosing the problem, so please do
resolve it
Trying to get some variables.
Some pointers may be invalid and cause the dump to abort...
thd->query at 0x8d6d708 = select agent_id,name from agent where (agent_id='') or (name='โซนี่ พิคเจอร์ส แอนิเมชั่น')
thd->thread_id=531
The manual page at http://www.mysql.com/doc/en/Crashing.html contains
information that should help you find out what is causing the crash.
Fatal signal 11 while backtracing
-----------------------------------------------------------------------------------------------------------------
แล้ว MySql ก็จะดับไปเลย ต้อง Restart Server อย่างเดียวเท่านั้น
-----------------------------------------------------------------------------------------------------------------
ที่ไม่ set ในMy.Cnf เป็น tis620 เพราะฐานข้อมูลเก่าๆ บันทึกเป็น latin1
เช่น board phpBB2 ถ้าเปลี่ยน default-character-set=tis620 ตรงคำสั่ง
Group by ที่เป้น field varchar ก็จะมี error ไม่สามารถใช้ group by กับ field ที่เป้น varchar หรือ text field ได้ MySql ก็จะดับไปเลย
error phpBB ครับ ถ้าตัด g.group_name ออกก็จะรันได้ครับ แต่ก็ไปติด group by ตัวอื่นอีก
Error ครับ
Could not query forum moderator information
DEBUG MODE
SQL Error : 2013 Lost connection to MySQL server during query
SELECT aa.forum_id, g.group_id, g.group_name FROM phpbb_auth_access aa, phpbb_user_group ug, phpbb_groups g WHERE aa.auth_mod = 1 AND g.group_single_user = 0 AND g.group_type <> 2 AND ug.group_id = aa.group_id AND g.group_id = aa.group_id GROUP BY g.group_id, g.group_name, aa.forum_id ORDER BY aa.forum_id, g.group_id
Line : 242
File : index.php
My.Cnf
[mysqld]
socket=/home/virtual/FILESYSTEMTEMPLATE/.mysqlsock/mysql.sock
datadir=/var/lib/mysql
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
# set-variable = wait_timeout=60
# set-variable = max_connections=650
old_passwords=1
# default-character-set=tis620
# safe-show-database
max_connections = 350
key_buffer = 64M
myisam_sort_buffer_size = 64M
join_buffer_size = 1M
read_buffer_size = 1M
sort_buffer_size = 2M
table_cache = 1800
thread_cache_size = 384
wait_timeout = 100
connect_timeout = 10
tmp_table_size = 64M
max_allowed_packet = 64M
max_connect_errors = 10
thread_concurrency = 4
query_cache_limit = 1M
query_cache_size = 64M
query_cache_type = 1
query_prealloc_size = 16384
query_alloc_block_size = 16384
[mysqldump]
quick
max_allowed_packet = 16M
[mysql.server]
user=mysql
basedir=/var/lib
[mysqld_safe]
err-log=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[client]
socket=/home/virtual/FILESYSTEMTEMPLATE/.mysqlsock/mysql.sock
[isamchk]
key_buffer = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M
[myisamchk]
key_buffer = 64M
sort_buffer_size = 64M
read_buffer = 16M
write_buffer = 16M
คนเข้าวันหนึ่งก็ประมาน 60,000 page views ครับ
แล้ว max_connections เซ็ตกันเท่าไหร่ครับ ถึงจะพอดี
ปัญหาทั้งหมด ที่กล่าวมา MySql version >5.0.x ไม่มีปัญหาเลยครับ
แต่จำเป็นต้องใช้ 4.1.7 ครับ ด้วยเหตุผลบางประการครับ
ปัญหาการ select ใน MySql ด้วย PHP
Moderator: mindphp, ผู้ดูแลกระดาน
- ilovephp
- PHP Newbie
- โพสต์: 2
- ลงทะเบียนเมื่อ: 01/01/1970 7:00 am
- mindphp
- ผู้ดูแลระบบ MindPHP
- โพสต์: 41374
- ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
- ติดต่อ:
อธิบาย มานาน ถามว่า
max_connections ?
max_connections ตามที่เค้าระบุไว้ เป็นค่า ที่เหมาะสมกับการใช้งาน ทั่วไป ก่อน ที่จะบอกได้ ว่า จะกำหนด เท่าไรนั้น ขึ้นอยู่ กับ โปรแกรมคุณครับ max_connections หมายถึง เวลานะเซี่ยว วินาทีนั้น เปิดให้ใช้งาน ได้ 8 คนพร้อมๆ กัน ในทางใช้งาน จริง วันละ 60000 view ลองคิดดู ว่ามีการเรียกใช้ ฐานข้อมูล ประมาณ ไหน
max_connections ?
max_connections ตามที่เค้าระบุไว้ เป็นค่า ที่เหมาะสมกับการใช้งาน ทั่วไป ก่อน ที่จะบอกได้ ว่า จะกำหนด เท่าไรนั้น ขึ้นอยู่ กับ โปรแกรมคุณครับ max_connections หมายถึง เวลานะเซี่ยว วินาทีนั้น เปิดให้ใช้งาน ได้ 8 คนพร้อมๆ กัน ในทางใช้งาน จริง วันละ 60000 view ลองคิดดู ว่ามีการเรียกใช้ ฐานข้อมูล ประมาณ ไหน
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
- ilovephp
- PHP Newbie
- โพสต์: 2
- ลงทะเบียนเมื่อ: 01/01/1970 7:00 am
อันนั้นไม่ใช่ปัญหาหลักครับ
ขอบคุณ mindphp ครับ ที่ช่วยตอบ
อันนั้นไม่ใช่ปัญหาหลักครับ ถามต่อท้ายเฉยๆ ผมอาจจะเขียนไม่ชัดเจน
ปัญหาหลักคือข้างบนที่กล่าวมา เกี่ยวกับ TIS620 ตอน select แล้วดับไป
ต้องการการแก้โดยไม่เปลี่ยน version ของ Mysql 4.1.7, Apache/2.0.52 (Red Hat) ,PHP 4.3.9
ถ้าจะเปลี่ยน server ไม่ใช่ของผมนะครับ มันอ้างอิงกับ control panel
เปลี่ยนต้องเปลี่ยน version control panel เป้น version ใหม่ด้วย
ทาง server เขาบอกมาว่าอย่างนั้น ซึ่งมันก็แพงโขอยู่
ตอนนี้ผมกำลังแก้ด้วยการเปลี่ยน input และหน้าเว็บทั้งหมด ให้เป็น UTF-8
แล้วselect ก็ใช้ function where (`name` = CONVERT( _utf8 'ชื่อทดสอบ' USING tis620 ) COLLATE tis620_thai_ci ) อยู่ ได้ผลอย่างไรเดี๋ยวมาบอกครับ
ถ้ามีวิธีแก้แบบอื่นก็แนะนำด้วยนะครับ
-----------------------
ขอบคุณครับ
-----------------------
อันนั้นไม่ใช่ปัญหาหลักครับ ถามต่อท้ายเฉยๆ ผมอาจจะเขียนไม่ชัดเจน
ปัญหาหลักคือข้างบนที่กล่าวมา เกี่ยวกับ TIS620 ตอน select แล้วดับไป
ต้องการการแก้โดยไม่เปลี่ยน version ของ Mysql 4.1.7, Apache/2.0.52 (Red Hat) ,PHP 4.3.9
ถ้าจะเปลี่ยน server ไม่ใช่ของผมนะครับ มันอ้างอิงกับ control panel
เปลี่ยนต้องเปลี่ยน version control panel เป้น version ใหม่ด้วย
ทาง server เขาบอกมาว่าอย่างนั้น ซึ่งมันก็แพงโขอยู่
ตอนนี้ผมกำลังแก้ด้วยการเปลี่ยน input และหน้าเว็บทั้งหมด ให้เป็น UTF-8
แล้วselect ก็ใช้ function where (`name` = CONVERT( _utf8 'ชื่อทดสอบ' USING tis620 ) COLLATE tis620_thai_ci ) อยู่ ได้ผลอย่างไรเดี๋ยวมาบอกครับ
ถ้ามีวิธีแก้แบบอื่นก็แนะนำด้วยนะครับ
-----------------------
ขอบคุณครับ
-----------------------
- mindphp
- ผู้ดูแลระบบ MindPHP
- โพสต์: 41374
- ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
- ติดต่อ:
คิดว่า ปัญหา น่าจะมา จากตอน ติดตั้งโปรแกรม น่ะครับ ถ้าคอมไพเอง อาจไม่ได้ใส่ ส่วนของ ภาษา ไทย ลงไป
mysql 4.1 เป็น เวอร์ชั่น แรก ที่เปลี่ยน มาใช้ utf8 และ ถ้าจำไม่ผิดที่ ผมเคยอ่านผ่านๆ มารู้สึกว่า เวอร์ชั่นนั้น ตัวที่ install ไม่มีไม่ได้ ใส่ส่วนของภาษา ไทยมาด้วย(ด้วยเหตุผลว่าไม่มีใครทำภาษาไทยใส่ให้เค้า) แต่ถ้าเราจะเอามาคอมไพเอง ก็ ได้ คิดว่า host ส่วนใหญ่ ที่ใช้ 4.1 น่าจะทำวิธีนี้
mysql 4.1 เป็น เวอร์ชั่น แรก ที่เปลี่ยน มาใช้ utf8 และ ถ้าจำไม่ผิดที่ ผมเคยอ่านผ่านๆ มารู้สึกว่า เวอร์ชั่นนั้น ตัวที่ install ไม่มีไม่ได้ ใส่ส่วนของภาษา ไทยมาด้วย(ด้วยเหตุผลว่าไม่มีใครทำภาษาไทยใส่ให้เค้า) แต่ถ้าเราจะเอามาคอมไพเอง ก็ ได้ คิดว่า host ส่วนใหญ่ ที่ใช้ 4.1 น่าจะทำวิธีนี้
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
-
- Similar Topics
- ตอบกลับ
- แสดง
- โพสต์ล่าสุด
-
- 4 ตอบกลับ
- 5654 แสดง
-
โพสต์ล่าสุด โดย mindphp
05/10/2014 10:22 pm
-
-
โพสต์ใหม่ ใครมีเทคนิคการเพิ่มความเร็วในการ select ข้อมูลจาก MySQL ยังไงแชร์กันหน่อยคับ
โดย M027 » 02/09/2015 6:32 pm » ใน SQL - Database - 5 ตอบกลับ
- 2800 แสดง
-
โพสต์ล่าสุด โดย M027
04/09/2015 11:30 am
-
-
-
โพสต์ใหม่ Mysql แยกเก็บ วีน เดือน ปี เกิด ไว้คนละฟิล เราจะ select เอาคนเกษียณอายุแต่ละปียังไงครับ
โดย Somkid Plingkratok » 08/08/2018 9:11 pm » ใน SQL - Database - 2 ตอบกลับ
- 3262 แสดง
-
โพสต์ล่าสุด โดย Somkid Plingkratok
08/08/2018 9:27 pm
-
-
-
โพสต์ใหม่ อัพเกรด Mysql Ubuntu จาก MySQL 5.5 เป็น MySQL 5.7
โดย mindphp » 12/06/2016 5:57 pm » ใน Linux - Web Server - 1 ตอบกลับ
- 3342 แสดง
-
โพสต์ล่าสุด โดย mindphp
12/06/2016 5:58 pm
-
-
-
โพสต์ใหม่ วิธีแสดงคำสั่ง ที่กำลังทำงานอยู่ของ MySQL / MariaDB ด้วยคำสั่ง show process command mysql
โดย mindphp » 29/06/2021 5:53 am » ใน SQL Knowledge - 0 ตอบกลับ
- 3652 แสดง
-
โพสต์ล่าสุด โดย mindphp
29/06/2021 5:53 am
-
-
-
โพสต์ใหม่ วิธีการหา Error ของการ Insert ข้อมูลลงฐานข้อมูล Mysql โดยใช้ Mysql
โดย Patipat » 17/06/2019 5:42 pm » ใน SQL Knowledge - 0 ตอบกลับ
- 6372 แสดง
-
โพสต์ล่าสุด โดย Patipat
17/06/2019 5:42 pm
-
-
-
โพสต์ใหม่ ปัญหา MySQL unknown column 'password_last_changed' หลังการอัพเกรด MySQL เป็นเวอร์ชั่น 5.7
โดย mindphp » 13/06/2016 5:42 pm » ใน SQL - Database - 1 ตอบกลับ
- 2424 แสดง
-
โพสต์ล่าสุด โดย mindphp
13/06/2016 5:44 pm
-
ผู้ใช้งานขณะนี้
สมาชิกกำลังดูบอร์ดนี้: Bing [Bot] และบุคลทั่วไป 104