របៀបស្វែងរកកំណែ mysql centos ។ MySQL ជ្រើសរើសកំណែ និងរបៀបស្វែងរកកំណែ MySQL ។ ជំនួយ - ការភ្ជាប់ mod ទៅម៉ាស៊ីនមេ mysql

ការចេញផ្សាយការចេញផ្សាយដែលមានស្ថេរភាពនៃ MySQL កំណែ 5.6 ។ ការងារជាច្រើនត្រូវបានធ្វើរួចនៅក្នុងកំណែថ្មី។ កិច្ចខិតខំប្រឹងប្រែងចម្បងគឺសំដៅលើការកែលម្អការអនុវត្ត ការធ្វើមាត្រដ្ឋាន និងភាពបត់បែន។ ម៉ាស៊ីន InnoDB បានឆ្លងកាត់ការផ្លាស់ប្តូរសំខាន់ៗ។

ការកែលម្អសំខាន់ៗរួមមានៈ ការគាំទ្រសម្រាប់ឧបករណ៍ស្វែងរកអត្ថបទពេញលេញ សមត្ថភាពក្នុងការចូលប្រើទិន្នន័យតាមរយៈ memcached API ការកើនឡើងនៃដំណើរការក្នុងអំឡុងពេលការកត់ត្រាទិន្នន័យដែលពឹងផ្អែកខ្លាំង និងបង្កើនទំហំនៅពេលដំណើរការសំណើក្នុងពេលដំណាលគ្នាមួយចំនួនធំ។

ការច្នៃប្រឌិតមួយផ្សេងទៀតនៅក្នុងកំណែ 5.6 គឺសមត្ថភាពក្នុងការប្រតិបត្តិប្រតិបត្តិការ DDL (ភាសានិយមន័យទិន្នន័យ) ដោយមិនចាំបាច់ប្រើ DBMS ក្រៅបណ្តាញ និងរំខានការចូលប្រើតារាង។ អ្នកគ្រប់គ្រងអាចអនុវត្តប្រតិបត្តិការដែលទាក់ទងនឹងការកំណត់គ្រោងការណ៍ឡើងវិញ បន្ថែម ឬលុបជួរឈរទិន្នន័យ ឬប្តូរឈ្មោះជួរឈរដោយមិនបិទ DBMS ។ ពីមុន មុខងារបែបនេះមានតែនៅក្នុងផលិតផល NoSQL ប៉ុណ្ណោះ។

បើប្រៀបធៀបទៅនឹងកំណែ 5.5 ឥឡូវនេះ ផលិតផលថ្មីអាចដំណើរការលើម៉ាស៊ីនមេ 48-core ធៀបនឹង 32-core នៅក្នុង MySQL 5.5

ព័ត៌មានលម្អិតបន្តិចអំពីមុខងារសំខាន់ៗ៖

  • ចំណុចប្រទាក់មួយត្រូវបានអនុវត្តសម្រាប់ការចូលប្រើដោយផ្ទាល់ទៅកាន់តារាង InnoDB នៅក្នុងរចនាប័ទ្មនៃប្រព័ន្ធ NoSQL ដោយប្រើ API ដែលគ្រប់គ្រងគូសោ/តម្លៃ និងត្រូវគ្នាជាមួយ memcached ។
  • ឥឡូវនេះវាអាចធ្វើទៅបានដើម្បីបង្កើតលិបិក្រមអត្ថបទពេញលេញនៅក្នុង InnoDB ដើម្បីរៀបចំការស្វែងរករហ័សតាមទម្រង់ពាក្យក្នុងចំណោមមាតិកាអត្ថបទដែលរក្សាទុកក្នុងតារាង InnoDB ។ ពីមុន ការស្វែងរកអត្ថបទពេញលេញគឺអាចប្រើបានសម្រាប់តែតារាង MyISAM ប៉ុណ្ណោះ។
  • ការកែលម្អប្រសិទ្ធភាពនៃកម្មវិធីបង្កើនប្រសិទ្ធភាពសំណួរ ធ្វើឱ្យដំណើរការនៃការជ្រើសរើសលទ្ធផលនៃតម្លៃ តម្រៀប និងប្រតិបត្តិសំណួរ។ New Index Condition Pushdown (ICP) និងការបង្កើនប្រសិទ្ធភាព Batch Key Access (BKA) ផ្តល់នូវការបញ្ជូនបន្តរហូតដល់ 280x សម្រាប់សំណួរមួយចំនួន។ ប្រសិទ្ធភាពនៃការប្រតិបត្តិសំណួរដូចជា “SELECT... FROM single_table... ORDER BY non_index_column LIMIT N;” ត្រូវបានកើនឡើង។ ដំណើរការនៃសំណួរ "SELECT... LIMIT N" ដែលបង្ហាញតែផ្នែកនៃជួរដេកពីគំរូធំមួយត្រូវបានធ្វើឱ្យប្រសើរឡើង។
  • ឧបករណ៍វិភាគដែលមានប្រសិទ្ធភាពត្រូវបានពង្រីក ជំនួយពន្យល់ត្រូវបានបន្ថែមសម្រាប់ប្រតិបត្តិការ INSERT, UPDATE និង DELETE ។ លទ្ធផល EXPLAIN ឥឡូវនេះអាចចេញជាទម្រង់ JSON ។ របៀបតាមដានការបង្កើនប្រសិទ្ធភាពថ្មីអនុញ្ញាតឱ្យអ្នកតាមដានរាល់ការសម្រេចចិត្តដែលបានធ្វើឡើងកំឡុងពេលបង្កើនប្រសិទ្ធភាពសំណួរ។
  • ការបង្កើនប្រសិទ្ធភាពបន្ថែមសម្រាប់ការប្រតិបត្តិនៃសំណួររង ដែលក្នុងនោះសំណួរដែលជាប់គ្នានៃទម្រង់ "SELECT... FROM table1 WHERE... IN (SELECT... FROM table2 ...))" ត្រូវបានបកប្រែទៅជាតំណាងដ៏ល្អប្រសើរជាងនៅដំណាក់កាល ឧទាហរណ៍ មុនពេលដែលសំណួរត្រូវបានប្រតិបត្តិដោយផ្ទាល់ ជំនួសដោយ JOIN ដែលមានប្រសិទ្ធភាពជាងមុន។
  • ផ្នែកបន្ថែមនៃការអនុវត្តប្រព័ន្ធវិនិច្ឆ័យ PERFORMANCE_SCHEMA ដែលផ្តល់ឧបករណ៍កម្រិតទាបសម្រាប់ត្រួតពិនិត្យការប្រតិបត្តិនៃសំណួរ និងព្រឹត្តិការណ៍ផ្សេងៗក្នុងអំឡុងពេលប្រតិបត្តិការរបស់ DBMS ។ PERFORMANCE_SCHEMA ផ្តល់នូវការយល់ដឹងលម្អិតអំពីបញ្ហាស្ទះនៅក្នុងសំណួរដែលដំណើរការយូរ ក៏ដូចជាស្ថិតិសង្ខេបដែលដាក់ជាក្រុមតាមសំណួរ ខ្សែស្រលាយ អ្នកប្រើប្រាស់ ម៉ាស៊ីន និងវត្ថុ។
  • ការអនុវត្តម៉ាស៊ីន InnoDB ត្រូវបានធ្វើឱ្យប្រសើរឡើង មានការកើនឡើងនៃដំណើរការនៅពេលប្រតិបត្តិប្រតិបត្តិការ និងអំឡុងពេលសកម្មភាពជាមួយនឹងប្រតិបត្តិការអានទិន្នន័យលេចធ្លោ - ក្នុងស្ថានភាពខ្លះការបង្កើនល្បឿនឈានដល់ 230% ។
  • របៀបចម្លងដែលបានពន្យារពេល ដែលអនុញ្ញាតឱ្យអ្នកចម្លងទិន្នន័យភ្លាមៗ ប៉ុន្តែជាមួយនឹងការពន្យាពេលជាក់លាក់ ដែលអនុញ្ញាតឱ្យអ្នកផ្តល់ការការពារប្រឆាំងនឹងកំហុសរបស់ប្រតិបត្តិករ (ឧទាហរណ៍ ការលុបមាតិកាតារាងដោយចៃដន្យ)។
  • ការបង្កើនទំហំអតិបរមានៃឯកសារជាមួយនឹងកំណត់ហេតុផ្លាស់ប្តូរ (InnoDB Redo Log) ពី 4 GB ទៅ 2 TB ។
  • ការកែលម្អសុវត្ថិភាព៖ ការគាំទ្រសម្រាប់ការបញ្ជាក់ប៉ារ៉ាម៉ែត្រផ្ទៀងផ្ទាត់នៅក្នុងឯកសារ .mylogin.cnf ក្នុងទម្រង់ដែលបានអ៊ិនគ្រីប។ ការបន្ថែមកម្មវិធីជំនួយ sha256_password សម្រាប់រក្សាទុកលេខសម្ងាត់ដោយប្រើក្បួនដោះស្រាយ SHA-256 ។ ការបន្ថែមវាលមួយដែលមានរយៈពេលផុតកំណត់ពាក្យសម្ងាត់ទៅតារាង mysql.user; មុខងារ SQL ថ្មី VALIDATE_PASSWORD_STRENGTH() ដើម្បីវាយតម្លៃកម្លាំងពាក្យសម្ងាត់។
  • ការគាំទ្រសម្រាប់ដំណើរការម៉ាស៊ីនមេនៅក្នុងរបៀបបានតែអាន (ជម្រើស --innodb-read-only, InnoDB តែប៉ុណ្ណោះ)។
  • គាំទ្រ​ការ​បញ្ជាក់​ប្រភាគ​វិនាទី​ក្នុង​មុខងារ TIME, DATETIME, និង TIMESTAMP ដើម្បី​បញ្ជាក់​មីក្រូវិនាទី។
  • ការគាំទ្រសម្រាប់ជម្រើស "--log", "--log-slow-queries", "--one-thread", "--safe-mode", "--skip-thread-priority", "--table- "ត្រូវបានបញ្ឈប់ឃ្លាំងសម្ងាត់" ។
អ្នកអាចស្វែងយល់បន្ថែមអំពីការច្នៃប្រឌិតនៅលើ MySQL (តំណាងឱ្យប្រព័ន្ធគ្រប់គ្រងមូលដ្ឋានទិន្នន័យទំនាក់ទំនងឥតគិតថ្លៃ) - នេះគឺជាម៉ាស៊ីនមេមូលដ្ឋានទិន្នន័យពហុខ្សែតូចដែលត្រូវបានកំណត់ដោយល្បឿនលឿន ស្ថេរភាព និងភាពងាយស្រួលនៃការប្រើប្រាស់។

បង្កើតដំបូងដោយ TcX ដើម្បីដោះស្រាយបញ្ហាផ្ទៃក្នុង - ដំណើរការលឿនបំផុតនៃមូលដ្ឋានទិន្នន័យធំ។ ប្រើប្រាស់ផ្ទៃក្នុងតាំងពីឆ្នាំ 1996 នៅលើម៉ាស៊ីនមេដែលមានមូលដ្ឋានទិន្នន័យច្រើនជាង 40 ដែលមានតារាង 10,000 ដែលក្នុងនោះច្រើនជាង 500 មានច្រើនជាង 7 លានជួរ។

សព្វថ្ងៃនេះ MySQL ត្រូវបានបង្កើត និងគាំទ្រដោយសាជីវកម្ម Oracle ដែលបានទិញ Sun Microsystems នៅថ្ងៃទី 27 ខែមករា ឆ្នាំ 2010 បន្ទាប់មកវារួមបញ្ចូល MySQL នៅក្នុងជួរផលិតផលរបស់ខ្លួន។ កាលពីមុន (ថ្ងៃទី 26 ខែកុម្ភៈ ឆ្នាំ 2008) Sun Microsystems បានចំណាយ 1 ពាន់លានដុល្លារដើម្បីទិញ MySQL AB ។ ផលិតផលនេះត្រូវបានចែកចាយក្រោមអាជ្ញាប័ណ្ណសាធារណៈទូទៅរបស់ GNU និងអាជ្ញាប័ណ្ណពាណិជ្ជកម្មផ្ទាល់ខ្លួនរបស់វា។ លើសពីនេះទៀតអ្នកអភិវឌ្ឍន៍បង្កើតមុខងារតាមសំណើរបស់អ្នកប្រើដែលមានអាជ្ញាប័ណ្ណ វាត្រូវបានអរគុណចំពោះការបញ្ជាទិញនេះដែលយន្តការចម្លងបានបង្ហាញខ្លួនស្ទើរតែកំណែដំបូងបំផុត។

MySQL គឺជាដំណោះស្រាយដ៏ល្អបំផុតសម្រាប់កម្មវិធីខ្នាតតូច និងមធ្យម។ ប្រភពម៉ាស៊ីនមេត្រូវបានចងក្រងនៅលើវេទិកាជាច្រើន។ សមត្ថភាពរបស់ម៉ាស៊ីនមេត្រូវបានបង្ហាញយ៉ាងពេញលេញបំផុតនៅលើម៉ាស៊ីនមេ Unix ដែលជាកន្លែងដែលមានការគាំទ្រសម្រាប់ multithreading ដែលផ្តល់នូវការកើនឡើងគួរឱ្យកត់សម្គាល់នៅក្នុងដំណើរការ។ រួមបញ្ចូលនៅក្នុងម៉ាស៊ីនមេ WAMP, AppServ, LAMP និងនៅក្នុងម៉ាស៊ីនមេចល័តបង្កើត Denver, XAMPP ។ MySQL ជាធម្មតាត្រូវបានប្រើប្រាស់ជាម៉ាស៊ីនមេដែលចូលប្រើដោយម៉ាស៊ីនភ្ញៀវក្នុងស្រុក ឬពីចម្ងាយ ប៉ុន្តែការចែកចាយរួមមានបណ្ណាល័យខាងក្រោយដែលអនុញ្ញាតឱ្យបញ្ចូល MySQL នៅក្នុងកម្មវិធីដាច់ដោយឡែក។
សូមអរគុណចំពោះការគាំទ្ររបស់វាសម្រាប់ប្រភេទតារាងជាច្រើន MySQL គឺអាចបត់បែនបាន។ អ្នកប្រើប្រាស់អាចជ្រើសរើសតារាងស្វែងរកអត្ថបទពេញ MyISAM និងតារាងប្រតិបត្តិការ InnoDB នីមួយៗ។ លើសពីនេះ MySQL ភ្ជាប់មកជាមួយប្រភេទតារាង EXAMPLE ពិសេសដែលបង្ហាញពីរបៀបបង្កើតប្រភេទតារាងថ្មី។ សូមអរគុណចំពោះបញ្ហានេះ ក៏ដូចជាស្ថាបត្យកម្មបើកចំហ និងអាជ្ញាប័ណ្ណ GPL វាអាចបន្ថែមប្រភេទតារាងថ្មីទៅ MySQL ស្ទើរតែគ្មានទីបញ្ចប់។

ម៉ាស៊ីនមេ MySQL គឺឥតគិតថ្លៃសម្រាប់ការប្រើប្រាស់មិនមែនពាណិជ្ជកម្ម។ បើមិនដូច្នោះទេអ្នកត្រូវទិញអាជ្ញាប័ណ្ណដែលតម្លៃបច្ចុប្បន្នគឺ 190 អឺរ៉ូ។

សមរភូមិកូដផ្សេងៗត្រូវបានបង្កើតឡើងដោយសហគមន៍អ្នកអភិវឌ្ឍន៍ MySQL ដូចជា Drizzle, OurDelta, Percona Server និង MariaDB។ សាខា​ទាំង​អស់​នេះ​មាន​ស្រាប់​ហើយ​នៅ​ពេល​ដែល​ Sun ចូល​កាន់​កាប់​ដោយ Oracle។

ការលេចឡើងនៃ MySQL

មុនឆ្នាំ 1994 ទីផ្សារមានមូលដ្ឋានទិន្នន័យជាចម្បងដែលត្រូវបានរចនាឡើងដើម្បីគ្រប់គ្រងបរិមាណដ៏ធំនៃទិន្នន័យ និងទំនាក់ទំនងស្មុគ្រស្មាញ ដែលមានសមត្ថភាពផ្សេងៗ ប៉ុន្តែក្នុងពេលតែមួយត្រូវការធនធានកុំព្យូទ័រសំខាន់ៗ។ មូលដ្ឋានទិន្នន័យទាំងនេះរួមមាន Oracle, Informix និង Sybase ។ មិនមាន DBMSs ដែលគាំទ្រ SQL ហើយមានតម្លៃសមរម្យក្នុងពេលតែមួយនោះទេ។

សាជីវកម្ម និងសាកលវិទ្យាល័យធំៗអាចមានលទ្ធភាពទិញប្រព័ន្ធកុំព្យូទ័រដ៏មានអានុភាព ខណៈពេលដែលស្ថាប័នតូចៗ និងអ្នកប្រើប្រាស់បានប្រើមូលដ្ឋានទិន្នន័យលើកុំព្យូទ័រខ្សោយដូចជា Postgres ដែលប្រើភាសា QUEL (PostQUEL) ប៉ុន្តែជាអកុសល ត្រូវការធនធានស្រដៀងគ្នា សមភាគី ប៉ុន្តែមិនបានផ្តល់អត្ថប្រយោជន៍នៃការប្រើប្រាស់ SQL ជាភាសាសំណួរទេ។

បន្ទាប់មក David Hughes ជាក់លាក់មួយ (ដែលក្រោយមកត្រូវបានគេស្គាល់ថា Bamby បន្ទាប់ពីការបោះពុម្ពផ្សាយការងាររបស់គាត់នៅលើអ៊ីនធឺណិត) ដែលកំពុងសរសេរនិក្ខេបបទនៅសាកលវិទ្យាល័យ Bond (អូស្ត្រាលី) នៅពេលនោះបានចាប់ផ្តើមបង្កើតគម្រោងប្រព័ន្ធគ្រប់គ្រងបណ្តាញ Minerva ដែលជាការត្រួតពិនិត្យ និងត្រួតពិនិត្យ។ ប្រព័ន្ធពីចំណុចមួយ ឬច្រើនលើក្រុមប្រព័ន្ធ។ ធាតុសំខាន់នៃគម្រោងគឺដើម្បីជាមូលដ្ឋានទិន្នន័យដើម្បីរក្សាទុកព័ត៌មានអំពីកុំព្យូទ័រទាំងអស់នៅលើបណ្តាញ។ Hughes ដំបូងបានសម្រេចចិត្តប្រើ Postgres ។ ទោះជាយ៉ាងណាក៏ដោយ សហសេវិកបានស្នើឱ្យប្រើ SQL ជាភាសាសំណួរសម្រាប់ Minerva ចាប់តាំងពី SQL គឺជាភាសាសំណួរទូទៅបំផុត ហើយដោយប្រើវា Minerva អាចអាចប្រើបានគ្រប់ទីកន្លែងនៅលើភពផែនដីដែលមាន RDBMS ដែលគាំទ្រ SQL ។ នេះគឺជាកម្លាំងរុញច្រានសម្រាប់ការបង្កើត MySQL ។

Hughes បានសម្រេចចិត្តបង្កើតកម្មវិធីដោយខ្លួនឯងដែលនឹងបកប្រែ SQL ទៅជា PostQUEL ក្នុងពេលវេលាជាក់ស្តែង។ គាត់បានហៅកម្មវិធីរបស់គាត់ថា miniSQL ឬ mSQL ។ វាបានស្ទាក់ចាប់សេចក្តីថ្លែងការណ៍ SQL ដែលផ្ញើដោយ Minerva បំប្លែងវាទៅជា PostQUEL ហើយបានបញ្ជូនលទ្ធផលទៅ Postgres ។ សម្រាប់ពេលខ្លះស្ថានភាពនេះសមនឹង Hughes ។ ទោះជាយ៉ាងណាក៏ដោយ ជាលទ្ធផលនៃការរីកចម្រើនបន្ថែមទៀតរបស់ Minerva វាច្បាស់ណាស់ថាជាមួយនឹងធនធានមានកម្រិតដែលមានសម្រាប់វា ទាំង Postgres និង RDBMS ធំណាមួយផ្សេងទៀតនឹងមិនអាចគាំទ្រដល់លក្ខណៈតូចៗដែលវាត្រូវការនោះទេ។ ឧទាហរណ៍ ដើម្បីអនុវត្តសមត្ថភាពក្នុងការភ្ជាប់ Minerva ក្នុងពេលដំណាលគ្នាទៅនឹងមូលដ្ឋានទិន្នន័យជាច្រើននៅពេលតែមួយ Postgres ទាមទារឱ្យមានការបើកដំណើរការក្នុងពេលដំណាលគ្នានៃករណីជាច្រើននៃម៉ាស៊ីនមេមូលដ្ឋានទិន្នន័យ។

ដើម្បីដោះស្រាយបញ្ហាទាំងនេះ Hughes បានវិភាគការងាររបស់ Minerva ហើយវាបានប្រែក្លាយថាសំណួរចម្បងដែលបង្កើតឡើងដោយ Minerva គឺ: "បញ្ចូល" "លុប" និង "ជ្រើសរើស" ។ ដោយសារ Hughes មាន mSQL រួចហើយដែលធ្វើការបកប្រែ SQL គាត់គ្រាន់តែត្រូវការបង្កើតម៉ាស៊ីនមេមូលដ្ឋានទិន្នន័យដើម្បីបំពេញតម្រូវការរបស់គាត់។

ហើយនេះគឺជាកន្លែងដែលលោក Michael Monty Widenius ដែលត្រូវបានគេចាត់ទុកថាជាអ្នកបង្កើត MySQL ចូលមកលេង។ នៅឆ្នាំ 1979 គាត់បានបង្កើតឧបករណ៍គ្រប់គ្រងមូលដ្ឋានទិន្នន័យដែលមានឈ្មោះថា UNIREG ។ UNIREG ត្រូវបានពង្រីកជាបន្តបន្ទាប់ដើម្បីគាំទ្រដល់មូលដ្ឋានទិន្នន័យធំជាង ហើយត្រូវបានសរសេរឡើងវិញជាភាសាជាច្រើន។ នៅឆ្នាំ 1994 TcX បានចាប់ផ្តើមបង្កើតកម្មវិធី www ដោយប្រើ UNIREG ។ ទោះយ៉ាងណាក៏ដោយ ដោយសារតម្លៃខ្ពស់ UNIREG មិនអាចប្រើដោយជោគជ័យសម្រាប់ការបង្កើតទំព័របណ្តាញយ៉ាងសកម្មបានទេ។ ដូច្នេះហើយ Widenius បានសម្រេចចិត្តទាក់ទងអ្នកនិពន្ធ mSQL គឺលោក Hughes ដើម្បីស្នើឱ្យគាត់ភ្ជាប់ mSQL ទៅកាន់ B+ ISAM handler នៅក្នុង UNIREG ។ ទោះជាយ៉ាងណាក៏ដោយ Hughes បានដំណើរការយ៉ាងល្អនៅលើផ្លូវទៅកាន់ mSQL 2 ហើយក្រុមហ៊ុនបានសម្រេចចិត្តបង្កើតម៉ាស៊ីនមេមូលដ្ឋានទិន្នន័យដើម្បីបំពេញតម្រូវការរបស់វា។

TcX បានយក UNIREG ជាមូលដ្ឋាន ហើយបានប្រើឧបករណ៍ប្រើប្រាស់ភាគីទីបីសម្រាប់ mSQL បានសរសេរ API សម្រាប់ប្រព័ន្ធរបស់ពួកគេ ដែលដំបូងឡើយស្រដៀងទៅនឹង API សម្រាប់ mSQL ។ ទោះយ៉ាងណាក៏ដោយ នេះអនុញ្ញាតឱ្យអ្នកប្រើ mSQL ណាដែលចង់ធ្វើចំណាកស្រុកទៅកាន់ម៉ាស៊ីនមេមូលដ្ឋានទិន្នន័យ TcX ដើម្បីធ្វើការផ្លាស់ប្តូរបន្តិចបន្តួចចំពោះកូដរបស់ពួកគេ។ កូដប្រភពនៃមូលដ្ឋានទិន្នន័យថ្មីគឺដើមទាំងស្រុង។ ដូច្នេះនៅខែឧសភា ឆ្នាំ 1995 ក្រុមហ៊ុនមានមូលដ្ឋានទិន្នន័យ MySQL 1.0 ដែលបំពេញតម្រូវការរបស់ក្រុមហ៊ុនយ៉ាងពេញលេញ។

នៅឆ្នាំ 1995 លោក David Oxmark ដែលធ្វើការឱ្យក្រុមហ៊ុន Detron HB និងជាដៃគូអាជីវកម្មរបស់ក្រុមហ៊ុនបានចាប់ផ្តើមយ៉ាងសកម្មអញ្ជើញ TcX ឱ្យចែកចាយ MySQL DBMS តាមរយៈអ៊ីនធឺណិត។ ដាវីឌថែមទាំងបានចូលរួមក្នុងការងារលើឯកសារនេះ។ ជាលទ្ធផល កំណែ 3.11.1 នៃ MySQL DBMS ត្រូវបានចេញផ្សាយក្នុងឆ្នាំ 1996 ជាការចែកចាយប្រព័ន្ធគោលពីរសម្រាប់ដំណើរការ Linux និង Solaris ។ សព្វថ្ងៃនេះ MySQL ដំណើរការលើវេទិកាជាច្រើន ហើយមានទាំងកំណែប្រព័ន្ធគោលពីរ និងប្រភព។

សព្វថ្ងៃនេះ MySQL បានក្លាយជាឧបករណ៍ពេញនិយមបំផុតសម្រាប់ធ្វើការជាមួយមូលដ្ឋានទិន្នន័យនៅក្នុង PHP ។ នេះជាចម្បងដោយសារតែការពិតដែលថាការគាំទ្រសម្រាប់ម៉ាស៊ីនមេនេះត្រូវបានរួមបញ្ចូលនៅក្នុងការចែកចាយ PHP ។ លើសពីនេះ ភាពពេញនិយមរបស់ MySQL ត្រូវបានសម្របសម្រួលដោយលក្ខណៈល្អគួរសម និងជួរធំទូលាយនៃមុខងារចំណុចប្រទាក់ស្តង់ដារដែលងាយស្រួលប្រើបំផុត។

គោលការណ៍ផ្តល់អាជ្ញាប័ណ្ណរបស់ MySQL គឺមានភាពបត់បែនជាងម៉ាស៊ីនមេមូលដ្ឋានទិន្នន័យផ្សេងទៀត។ សំខាន់ MySQL គឺឥតគិតថ្លៃ លុះត្រាតែអ្នកមានបំណងលក់វា ឬលក់សេវាកម្មដែលបង្កើតជាមួយវា។

MySQL គឺអាចចល័តបានខ្ពស់ ហើយអាចប្រើប្រាស់បានល្អស្មើៗគ្នានៅលើប្រព័ន្ធប្រតិបត្តិការពាណិជ្ជកម្មដូចជា Solaris, Irix ឬ Windows និងនៅលើ hardware ណាមួយរហូតដល់ម៉ាស៊ីនមេដែលមានថាមពលខ្លាំង។ លើសពីនេះទៅទៀត ដូចជាគូប្រជែងដែលមានតម្លៃថ្លៃជាង វាអាចគ្រប់គ្រងមូលដ្ឋានទិន្នន័យធំដែលមានកំណត់ត្រារាប់លាន។

ឈ្មោះ និងនិមិត្តសញ្ញា

ចំពោះឈ្មោះមានកំណែជាច្រើននៃប្រភពដើមរបស់វា។ កំណែទីមួយនិយាយថាការប្រើប្រាស់បុព្វបទ "របស់ខ្ញុំ" ត្រូវបានពន្យល់ដោយការពិតដែលថានៅក្នុង TcX កាតាឡុកមូលដ្ឋាន ក៏ដូចជាចំនួនបណ្ណាល័យ និងឧបករណ៍ប្រើប្រាស់សំខាន់ៗ ត្រូវបានកំណត់ដោយបុព្វបទបែបនេះសម្រាប់រយៈពេលដប់ឆ្នាំ។ ដូច្នេះ វាជាឡូជីខលក្នុងការប្រើវាក្នុងករណីនេះ។

កំណែទីពីរដែលកាន់តែមនោសញ្ចេតនាគឺផ្អែកលើការពិតដែលថា Michael Monty Widenius បានដាក់ឈ្មោះផលិតផលថ្មី MySQL តាមឈ្មោះកូនស្រីរបស់គាត់ - My ។ ឈ្មោះកូនស្រីរបស់ Videnius គឺពិតជារបស់ខ្ញុំ ហើយគាត់ផ្ទាល់មិនបដិសេធទាំងកំណែទីមួយ ឬទីពីរទេ។

និមិត្តសញ្ញាផ្សោតរបស់ MySQL ត្រូវបានដាក់ឈ្មោះថា "Sakila" ។ វាត្រូវបានជ្រើសរើសពីបញ្ជីដ៏ធំនៃ "ឈ្មោះសត្វផ្សោត" ដែលណែនាំដោយអ្នកប្រើប្រាស់។ ឈ្មោះ "Sakila" ត្រូវបានដាក់ជូនដោយអ្នកអភិវឌ្ឍន៍ប្រភពបើកចំហ Ambrose Twebaze ។

លក្ខណៈពិសេស MySQL

លក្ខណៈពិសេសចម្បងរបស់ MySQL គឺថាវាគាំទ្រភាសាសំណួរ SQL នៅក្នុងស្តង់ដារ ANSI 92 ហើយលើសពីនេះទៅទៀតវាមានផ្នែកបន្ថែមជាច្រើនចំពោះស្តង់ដារនេះដែលមិនត្រូវបានរកឃើញនៅក្នុងប្រព័ន្ធគ្រប់គ្រងមូលដ្ឋានទិន្នន័យផ្សេងទៀត។
បញ្ជីខ្លីនៃមុខងារ MySQL៖

1. ប្រតិបត្តិការប្រកបដោយប្រសិទ្ធភាពនៃចំនួនអ្នកប្រើប្រាស់គ្មានដែនកំណត់ក្នុងពេលដំណាលគ្នាធ្វើការជាមួយមូលដ្ឋានទិន្នន័យត្រូវបានគាំទ្រ។

2. ចំនួនជួរដេកក្នុងតារាងអាចឡើងដល់ 50 លាន។

3. ការអនុវត្តលឿនបំផុតនៃពាក្យបញ្ជា។ មានមតិមួយថា MySQL គឺជាម៉ាស៊ីនមេលឿនបំផុតនៅក្នុងអត្ថិភាព។

4. ប្រព័ន្ធសុវត្ថិភាពសាមញ្ញ និងមានប្រសិទ្ធភាព។

ឧទាហរណ៍តារាងក្នុង MySQL


គុណវិបត្តិនៃ MySQL

ទោះយ៉ាងណាក៏ដោយ MySQL ក៏មានគុណវិបត្តិមួយចំនួនផងដែរ។ នេះជាចម្បងដោយសារតែការពិតដែលថា ដើម្បីសម្រេចបាននូវល្បឿនលឿនបែបនេះ អ្នកអភិវឌ្ឍន៍ត្រូវលះបង់នូវតម្រូវការមួយចំនួនសម្រាប់ប្រព័ន្ធគ្រប់គ្រងមូលដ្ឋានទិន្នន័យទំនាក់ទំនង។

ដូច្នេះ MySQL បាត់៖

១. ការ​គាំទ្រ​សម្រាប់​សំណួរ​ដែល​ជាប់​គ្នា​ដូចជា SELECT * FROM table1 WHERE id IN (SELECT id FROM table2) (ក្នុង​កំណែ​មុន)។

២. ការគាំទ្រប្រតិបត្តិការមិនត្រូវបានអនុវត្តទេ។ ជំនួសមកវិញ វាត្រូវបានស្នើឱ្យប្រើ LOCK/UNLOCK TABLE ។

៣. មិនមានការគាំទ្រសម្រាប់សោបរទេសទេ។

៤. មិនមានការគាំទ្រសម្រាប់ការកេះ និងនីតិវិធីដែលបានរក្សាទុកទេ។

៥. គ្មានការគាំទ្រសម្រាប់ការមើល (VIEW) ។ នៅក្នុងកំណែ 3.23 វាត្រូវបានគ្រោងទុកដើម្បីអាចបង្កើតទិដ្ឋភាព។

យោងតាមអ្នកបង្កើតវាជាចំណុច 2-4 ដែលធ្វើឱ្យវាអាចធ្វើទៅបានដើម្បីសម្រេចបាននូវការអនុវត្តខ្ពស់។ ការអនុវត្តរបស់ពួកគេកាត់បន្ថយល្បឿនម៉ាស៊ីនមេយ៉ាងខ្លាំង។ លក្ខណៈពិសេសទាំងនេះមិនសំខាន់ទេនៅពេលបង្កើតកម្មវិធីគេហទំព័រ ដែលរួមបញ្ចូលគ្នាជាមួយនឹងដំណើរការខ្ពស់ និងតម្លៃទាបបានអនុញ្ញាតឱ្យម៉ាស៊ីនមេក្លាយជាការពេញនិយមយ៉ាងខ្លាំង។

អាជ្ញាប័ណ្ណ

MySQL មានអាជ្ញាប័ណ្ណពីរ។ MySQL អាចត្រូវបានចែកចាយក្រោមលក្ខខណ្ឌនៃ GPL ។ ទោះយ៉ាងណាក៏ដោយ នៅក្រោមលក្ខខណ្ឌនៃ GPL ប្រសិនបើកម្មវិធីណាមួយរួមបញ្ចូលកូដប្រភព MySQL នោះវាក៏ត្រូវតែចែកចាយនៅក្រោមអាជ្ញាប័ណ្ណ GPL ផងដែរ។ នេះប្រហែលជាខុសពីផែនការរបស់អ្នកអភិវឌ្ឍន៍ដែលមិនចង់បើកប្រភពកម្មវិធីរបស់ពួកគេ។ សម្រាប់ករណីបែបនេះ អាជ្ញាប័ណ្ណពាណិជ្ជកម្មត្រូវបានផ្តល់ជូន ដែលផ្តល់ការគាំទ្រសេវាកម្មគុណភាពខ្ពស់ផងដែរ។

វេទិកា

MySQL ត្រូវបានបញ្ជូនទៅកាន់វេទិកាមួយចំនួនធំ៖ AIX, BSDi, FreeBSD, HP-UX, Linux, Mac OS X, NetBSD, OpenBSD, OS/2 Warp, SGI IRIX, Solaris, SunOS, SCO OpenServer, UnixWare, Tru64, Windows 95, Windows 98, Windows NT, Windows 2000, Windows XP, Windows Server 2003, WinCE, Windows Vista និង Windows 7. វាក៏មានច្រក MySQL ទៅ OpenVMS ផងដែរ។ វាជាការសំខាន់ក្នុងការកត់សម្គាល់ថានៅលើគេហទំព័រផ្លូវការរបស់ DBMS មិនត្រឹមតែផ្តល់កូដប្រភពសម្រាប់ទាញយកដោយឥតគិតថ្លៃប៉ុណ្ណោះទេ ប៉ុន្តែក៏មានម៉ូឌុលប្រតិបត្តិ MySQL DBMS ដែលត្រៀមរួចជាស្រេចដែលត្រូវបានចងក្រង និងធ្វើឱ្យប្រសើរសម្រាប់ប្រព័ន្ធប្រតិបត្តិការជាក់លាក់ផងដែរ។

ភាសាសរសេរកម្មវិធី

MySQL មាន APIs សម្រាប់ Delphi, C, C++, Eiffel, Java, Lisp, Perl, PHP, Python, Ruby, Smalltalk, Component Pascal និង Tcl, បណ្ណាល័យសម្រាប់ភាសាវេទិកា .NET ហើយក៏ផ្តល់ការគាំទ្រសម្រាប់ ODBC តាមរយៈកម្មវិធីបញ្ជា MyODBC ODBC ។

ប្រវត្តិកំណែ

ការចេញផ្សាយផ្ទៃក្នុងដំបូងនៃ MySQL បានធ្វើឡើងនៅថ្ងៃទី 23 ខែឧសភា ឆ្នាំ 1995 [ប្រភពមិនបានបញ្ជាក់ 1224 ថ្ងៃ] ។
កំណែសម្រាប់ប្រព័ន្ធវីនដូ (វីនដូ 95 និង NT) ត្រូវបានចេញផ្សាយនៅថ្ងៃទី 8 ខែមករាឆ្នាំ 1998 ។
កំណែ 3.23៖ កំណែបែតាក្នុងខែមិថុនា ឆ្នាំ 2000 ចេញផ្សាយនៅខែមករា ឆ្នាំ 2001។
កំណែ 4.0៖ បែតា​ក្នុង​ខែ​សីហា ឆ្នាំ ២០០២ ចេញ​នៅ​ខែ​មីនា ឆ្នាំ ២០០៣។
កំណែ 4.1៖ បែតាក្នុងខែមិថុនា ឆ្នាំ 2004 ចេញផ្សាយនៅខែតុលា ឆ្នាំ 2004 ។
កំណែ 5.0៖ បែតាក្នុងខែមីនា ឆ្នាំ ២០០៥ ចេញផ្សាយនៅខែតុលា ឆ្នាំ ២០០៥។
កំណែ 5.1៖ ការអភិវឌ្ឍន៍បានចាប់ផ្តើមនៅក្នុងខែវិច្ឆិកា ឆ្នាំ 2005 ចេញផ្សាយនៅខែវិច្ឆិកា ឆ្នាំ 2008 ។
កំណែ 5.4៖ បែតាក្នុងខែមេសា ឆ្នាំ 2009 មិនត្រូវបានចេញផ្សាយទេ។
កំណែ 5.5: ចេញផ្សាយខែធ្នូ 2010 ។
កំណែ 5.6៖ នៅក្នុងការអភិវឌ្ឍន៍ (5.6.6 m9 ថ្ងៃទី 7 ខែសីហា ឆ្នាំ 2012)។

ប្រវត្តិកំណែ



MySQL 4.0

ទោះបីជាកំណែ 4.0 ហួសសម័យក៏ដោយ ក៏វានៅតែមានការអនុម័តយ៉ាងសំខាន់។ លក្ខណៈសំខាន់ៗនៃកំណែនេះ៖

ការអនុវត្តស្ទើរតែពេញលេញនៃ ANSI SQL-99 បូកផ្នែកបន្ថែម;
ភាពឆបគ្នាឆ្លងវេទិកា;
ប្រភេទតារាងឯករាជ្យ (MyISAM សម្រាប់ការអានលឿន InnoDB សម្រាប់ប្រតិបត្តិការ និងសុចរិតភាពយោង);
ប្រតិបត្តិការ;
ការគាំទ្រ SSL;
ស្នើសុំឃ្លាំងសម្ងាត់;
ការចម្លង៖ ម៉ាស៊ីនមេមួយក្បាលក្នុងមួយទាសករម្នាក់ ទាសករជាច្រើនក្នុងមួយក្បាល។
ការធ្វើលិបិក្រមអត្ថបទពេញលេញ និងការស្វែងរកដោយប្រើប្រភេទតារាង MyISAM;
បណ្ណាល័យមូលដ្ឋានទិន្នន័យដែលបានអនុវត្ត;
គាំទ្រយូនីកូដ (UTF-8);
តារាង InnoDB អនុលោមតាម ACID;
ម៉ាស៊ីនមេដែលភ្ជាប់មកជាមួយដែលអនុញ្ញាតឱ្យ MySQL ត្រូវបានរួមបញ្ចូលនៅក្នុងកម្មវិធីឯករាជ្យ។

កម្រងសំណួរ និងតារាងដែលបានទាញយក។
ប្រព័ន្ធសរសេរកូដ និងតម្រៀបថ្មី;
ពិធីការម៉ាស៊ីនមេម៉ាស៊ីនភ្ញៀវលឿន និងអាចបត់បែនបានជាមួយនឹងការគាំទ្រសម្រាប់សំណួរដែលបានរៀបចំ ធានានូវការអនុវត្តដ៏ល្អប្រសើររបស់ពួកគេ។
កម្មវិធីដំឡើង និងកំណត់រចនាសម្ព័ន្ធថ្មីសម្រាប់ Microsoft Windows និង Linux;
ការតភ្ជាប់ម៉ាស៊ីនភ្ញៀវ-ម៉ាស៊ីនមេត្រូវបានធានាតាមរយៈ OpenSSL;
បណ្ណាល័យ​ដែល​ធ្វើ​ឱ្យ​ប្រសើរ​ឡើង​ខ្ពស់​ដែល​អាច​ត្រូវ​បាន​ប្រើ​ក្នុង​កម្មវិធី​ភាគី​ទីបី;
ការគាំទ្រយូនីកូដពេញលេញ (UTF-8 និង UCS2);
ប្រភេទទិន្នន័យស្តង់ដារ GIS សម្រាប់រក្សាទុកព័ត៌មានភូមិសាស្ត្រ។
ធ្វើឱ្យប្រសើរឡើងនូវប្រព័ន្ធស្វែងរក និងអត្ថបទពេញ។

MySQL 5.0

កំណែ MySQL 5.0 ត្រូវបានចេញផ្សាយនៅថ្ងៃទី 24 ខែតុលា ឆ្នាំ 2005 កំណែនេះបានពង្រីកមុខងារយ៉ាងសំខាន់ដែលដាក់ MySQL ឱ្យស្មើគ្នាជាមួយនឹង DBMSs ពាណិជ្ជកម្ម។ ប្រសិនបើពីមុន MySQL DBMS ត្រូវបានចោទប្រកាន់ថាមានការគាំទ្រមិនគ្រប់គ្រាន់សម្រាប់ស្តង់ដារ SQL បន្ទាប់មកជាមួយនឹងការមកដល់នៃកំណែទីប្រាំនៃមូលដ្ឋានទិន្នន័យដ៏ពេញនិយមនេះ ការគាំទ្រស្ទើរតែពេញលេញសម្រាប់ស្តង់ដារ SQL បានបង្ហាញខ្លួន។ MySQL 5.0 មានការច្នៃប្រឌិតដូចខាងក្រោមៈ
ដំណើរការនិងមុខងារដែលបានរក្សាទុក;
អ្នកដោះស្រាយកំហុស;
ទស្សន៍ទ្រនិច;
កេះ;
ការសម្តែង;
គ្រោងការណ៍ព័ត៌មាន (ដែលហៅថាវចនានុក្រមប្រព័ន្ធដែលមានទិន្នន័យមេតា) ។

MySQL 5.1

MySQL 5.1 បន្តផ្លូវទៅកាន់ស្តង់ដារ SQL: 2003 ។ MySQL 5.1 មានការច្នៃប្រឌិតដូចខាងក្រោមៈ

ការបែងចែកគឺជាសមត្ថភាពក្នុងការបំបែកតារាងធំមួយទៅជាផ្នែកជាច្រើនដែលមានទីតាំងនៅលើប្រព័ន្ធឯកសារផ្សេងៗគ្នាដោយផ្អែកលើមុខងារដែលកំណត់ដោយអ្នកប្រើប្រាស់។ នៅក្រោមលក្ខខណ្ឌជាក់លាក់ នេះអាចផ្តល់នូវការកើនឡើងគួរឱ្យកត់សម្គាល់ក្នុងការអនុវត្ត ហើយលើសពីនេះទៀត ធ្វើឱ្យវាកាន់តែងាយស្រួលក្នុងការធ្វើមាត្រដ្ឋានតារាង។
ឥរិយាបថរបស់ប្រតិបត្តិករមួយចំនួនត្រូវបានផ្លាស់ប្តូរ ដើម្បីធានាបាននូវភាពឆបគ្នាកាន់តែច្រើនជាមួយនឹងស្តង់ដារ SQL2003។
ការ​ចម្លង​តាម​ជួរ​ដេក ដែល​មាន​តែ​ព័ត៌មាន​អំពី​ជួរ​តារាង​ដែល​បាន​ផ្លាស់​ប្តូរ​ពិត​ប្រាកដ​នឹង​ត្រូវ​បាន​សរសេរ​ទៅ​កំណត់ហេតុ​គោលពីរ​ជំនួស​ឱ្យ​អត្ថបទ​សំណួរ​ដើម (និង​អាច​យឺត)។ ការចម្លងជួរដេកអាចត្រូវបានប្រើសម្រាប់ប្រភេទជាក់លាក់នៃសំណួរ SQL នៅក្នុងពាក្យ MySQL - ការចម្លងចម្រុះ។
កម្មវិធីកំណត់ពេលវេលាដែលភ្ជាប់មកជាមួយនៃការងារដែលបានចាប់ផ្តើមជាទៀងទាត់។ នៅក្នុងលក្ខខណ្ឌនៃវាក្យសម្ព័ន្ធ ការបន្ថែមភារកិច្ចគឺស្រដៀងនឹងការបន្ថែមគន្លឹះទៅតារាងក្នុងមនោគមវិជ្ជា វាស្រដៀងទៅនឹង crontab ។
សំណុំមុខងារបន្ថែមសម្រាប់ដំណើរការ XML ការអនុវត្តការគាំទ្រ XPath ។
ឧបករណ៍វិភាគបញ្ហាថ្មី និងឧបករណ៍ប្រើប្រាស់ការវិភាគការអនុវត្ត។ សមត្ថភាពសម្រាប់គ្រប់គ្រងមាតិកានៃឯកសារកំណត់ហេតុត្រូវបានពង្រីកឥឡូវនេះ កំណត់ហេតុអាចត្រូវបានរក្សាទុកក្នុងតារាង general_log និង slow_log ។ ឧបករណ៍ប្រើប្រាស់ mysqlslap អនុញ្ញាតឱ្យអ្នកផ្ទុកសាកល្បងមូលដ្ឋានទិន្នន័យ និងកត់ត្រាពេលវេលាឆ្លើយតបសម្រាប់សំណើនីមួយៗ។
ដើម្បីសម្រួលប្រតិបត្តិការធ្វើឱ្យប្រសើរឡើង ឧបករណ៍ប្រើប្រាស់ mysql_upgrade ត្រូវបានរៀបចំ ដែលនឹងពិនិត្យមើលតារាងដែលមានស្រាប់ទាំងអស់សម្រាប់ភាពឆបគ្នាជាមួយកំណែថ្មី ហើយប្រសិនបើចាំបាច់ ធ្វើការកែតម្រូវសមស្រប។
ពេលនេះ MySQL Cluster ត្រូវបានបញ្ចេញជាផលិតផលដាច់ដោយឡែកដោយផ្អែកលើការផ្ទុក MySQL 5.1 និង NDBCLUSTER ។
ការផ្លាស់ប្តូរសំខាន់ៗនៅក្នុងប្រតិបត្តិការរបស់ MySQL Cluster ដូចជាឧទាហរណ៍ សមត្ថភាពក្នុងការរក្សាទុកទិន្នន័យតារាងនៅលើថាស។
ត្រលប់ទៅការប្រើប្រាស់បណ្ណាល័យ libmysqld ដែលមានស្រាប់ ដែលបាត់នៅក្នុង MySQL 5.0។
API សម្រាប់កម្មវិធីជំនួយដែលអនុញ្ញាតឱ្យអ្នកផ្ទុកម៉ូឌុលភាគីទីបីដែលពង្រីកមុខងារ (ដូចជាការស្វែងរកអត្ថបទពេញ) ដោយមិនចាំបាច់ចាប់ផ្តើមម៉ាស៊ីនមេឡើងវិញ។
ការអនុវត្តកម្មវិធីញែកស្វែងរកអត្ថបទពេញលេញជាកម្មវិធីជំនួយ។
ប្រភេទតារាង Maria ថ្មី (ក្លូនដែលធន់នឹងការគាំងរបស់ MyISAM) ។

ប្រភេទតារាង Maria

ម៉ារីយ៉ា (ចាប់ផ្តើមពីកំណែ 5.2.x - Aria) - កំណែដែលបានពង្រីកនៃការផ្ទុក MyISAM ជាមួយនឹងការបន្ថែមឧបករណ៍សម្រាប់រក្សាភាពត្រឹមត្រូវនៃទិន្នន័យបន្ទាប់ពីការគាំង។
គុណសម្បត្តិចម្បងរបស់ម៉ារីយ៉ា៖

នៅក្នុងព្រឹត្តិការណ៍នៃការគាំង លទ្ធផលនៃប្រតិបត្តិការបច្ចុប្បន្នត្រូវបានរំកិលត្រឡប់ ឬត្រឡប់ទៅស្ថានភាពវិញ មុនពេលពាក្យបញ្ជា LOCK TABLES ។ ការអនុវត្តតាមរយៈប្រតិបត្តិការកាប់ឈើ។
សមត្ថភាពក្នុងការស្តារស្ថានភាពពីចំណុចណាមួយនៅក្នុងកំណត់ហេតុប្រតិបត្តិការ រួមទាំងការគាំទ្រសម្រាប់ CREATE/DROP/RENAME/TRUNCATE ។ អាចត្រូវបានប្រើដើម្បីបង្កើតការបម្រុងទុកបន្ថែមតាមរយៈការចម្លងតាមកាលកំណត់នៃកំណត់ហេតុប្រតិបត្តិការ។
ការគាំទ្រសម្រាប់ទម្រង់ជួរឈរ MyISAM ទាំងអស់ត្រូវបានពង្រីកជាមួយនឹងទម្រង់ "rows-in-block" ថ្មីដែលប្រើវិធីសាស្ត្រផ្ទុកទិន្នន័យផ្អែកលើទំព័រ ដែលទិន្នន័យក្នុងជួរឈរអាចត្រូវបានរក្សាទុកក្នុងឃ្លាំងសម្ងាត់។
នៅពេលអនាគត របៀបពីរនឹងត្រូវបានអនុវត្ត៖ ប្រតិបត្តិការ និងដោយគ្មានការឆ្លុះបញ្ចាំងនៅក្នុងកំណត់ហេតុប្រតិបត្តិការ សម្រាប់ទិន្នន័យដែលមិនសំខាន់។
ទំហំទំព័រទិន្នន័យគឺ 8 KB (ក្នុង MyISAM 1 KB) ដែលអនុញ្ញាតឱ្យមានដំណើរការខ្ពស់ជាងសម្រាប់លិបិក្រមនៅលើវាលទំហំថេរ ប៉ុន្តែយឺតជាងនៅក្នុងករណីនៃការធ្វើលិបិក្រមប្រវែងអថេរ។

MySQL 5.5

សាខា MySQL 5.5 គឺផ្អែកលើស៊េរី MySQL 5.4 ដែលមិនទាន់ចេញផ្សាយ ហើយមានការកែលម្អសំខាន់ៗមួយចំនួនទាក់ទងនឹងការបង្កើនសមត្ថភាព និងការអនុវត្ត រួមទាំង៖
ការប្រើប្រាស់ម៉ាស៊ីន InnoDB តាមលំនាំដើម។
ការគាំទ្រសម្រាប់យន្តការចម្លងពាក់កណ្តាលសមកាលកម្មដោយផ្អែកលើបំណះទៅ InnoDB ពី Google ។
មុខងារបែងចែកទិន្នន័យប្រសើរឡើង។ វាក្យសម្ព័ន្ធកម្រិតខ្ពស់សម្រាប់បំបែកតារាងធំទៅជាផ្នែកជាច្រើនដែលមាននៅលើប្រព័ន្ធឯកសារ (ការបែងចែក) ។ បានបន្ថែម RANGE ប្រតិបត្តិការបញ្ជី និងវិធីសាស្ត្របង្កើនប្រសិទ្ធភាព "ការកាត់ចេញភាគថាស"។
យន្តការថ្មីសម្រាប់បង្កើនប្រសិទ្ធភាពសំណួរដែលជាប់គាំង និងប្រតិបត្តិការចូលរួម។
ប្រព័ន្ធចាក់សោខាងក្នុងត្រូវបានរៀបចំឡើងវិញ។
បំណះ Google ត្រូវបានដាក់បញ្ចូលដើម្បីបង្កើនប្រសិទ្ធភាពដំណើរការ InnoDB នៅលើ processors ដែលមានស្នូលមួយចំនួនធំ។

MySQL 6.0

កំណែ MySQL 6.0 ត្រូវបានបង្កកនៅដំណាក់កាលសាកល្បងអាល់ហ្វា។ ដំបូងវាត្រូវបានសម្រេចចិត្តបង្កើតកំណែ 5.2; ទោះជាយ៉ាងណាក៏ដោយក្រោយមកព័ត៌មានអំពី MySQL 6.0 បានបាត់ពីគេហទំព័រ ហើយអ្នកអភិវឌ្ឍន៍បានផ្តោតលើកំណែ 5.5 និងកំណែបន្ទាប់ 5.6 ។
ការច្នៃប្រឌិតសំខាន់មួយនៃកំណែ 6.0 ត្រូវបានគ្រោងនឹងជាប្រភេទតារាង Falcon ថ្មីដែលត្រូវបានអភិវឌ្ឍជាការជំនួសសក្តានុពលសម្រាប់ InnoDB ពី Innobase ដែលទទួលបានដោយ Oracle ។ ពាក់ព័ន្ធនឹងការទិញយក Sun Microsystems ដោយក្រុមហ៊ុន Oracle ដូចគ្នាក្នុងឆ្នាំ 2010 ជោគវាសនារបស់ Falcon នៅតែស្ថិតក្នុងសំណួរនៅឡើយ។

លក្ខណៈបច្ចេកទេស

ទំហំតារាងអតិបរមានៅក្នុង MySQL 3.22 គឺរហូតដល់ 4 GB នៅក្នុងកំណែបន្ទាប់ ទំហំអតិបរមាគឺរហូតដល់ 8 លាន TB (263 បៃ)។
ទំហំនៃតារាងត្រូវបានកំណត់តាមប្រភេទរបស់វា។ ជាទូទៅ ប្រភេទ MyISAM ត្រូវបានកំណត់ដោយដែនកំណត់ទំហំឯកសារនៃប្រព័ន្ធឯកសារប្រព័ន្ធប្រតិបត្តិការ។ ឧទាហរណ៍នៅក្នុង NTFS ទំហំនេះតាមទ្រឹស្តីអាចមានរហូតដល់ 32 exabytes ។ ក្នុងករណី InnoDB តារាងមួយអាចត្រូវបានរក្សាទុកក្នុងឯកសារជាច្រើនដែលតំណាងឱ្យចន្លោះតារាងតែមួយ។ ទំហំនៃក្រោយអាចឈានដល់ 64 តេរ៉ាបៃ។

មិនដូច MyISAM ទេ InnoDB មានដែនកំណត់សំខាន់លើចំនួនជួរឈរដែលអាចបន្ថែមទៅតារាងតែមួយ។ ទំហំទំព័រអង្គចងចាំលំនាំដើមគឺ 16 គីឡូបៃ ដែលក្នុងនោះ 8123 បៃត្រូវបានបែងចែកសម្រាប់ទិន្នន័យ។ ទំហំនៃទ្រនិចទៅវាលថាមវន្តគឺ 20 បៃ។ ដូច្នេះ នៅពេលប្រើទម្រង់ជួរដេកថាមវន្ត (ROW_FORMAT=DYNAMIC) តារាងមួយអាចផ្ទុកបានអតិបរមា 409 blob ឬជួរឈរអត្ថបទ។

ចាប់ផ្តើមពីកំណែ 4.1 ប្រព័ន្ធអ៊ិនកូដ និងតម្រៀបថ្មីមួយត្រូវបានណែនាំទៅក្នុង MySQL DBMS ។ នៅពេលប្រើការអ៊ិនកូដ Windows-1251 មុនពេលប្រតិបត្តិសេចក្តីថ្លែងការ SQL អ្នកត្រូវតែកំណត់រចនាសម្ព័ន្ធការអ៊ិនកូដការតភ្ជាប់ដោយប្រើប្រតិបត្តិករ៖

SET character_set_client="cp1251";
SET character_set_results="cp1251";
SET character_set_connection = "cp1251";

សេចក្តីថ្លែងការណ៍ទាំងបីនេះគឺស្មើនឹងការហៅសេចក្តីថ្លែងការណ៍មួយ៖

កំណត់ឈ្មោះ "cp1251"

អថេរ character_set_client កំណត់ការអ៊ិនកូដទិន្នន័យដែលបានផ្ញើពីអតិថិជន អថេរ character_set_results កំណត់ការអ៊ិនកូដទិន្នន័យដែលបានផ្ញើទៅអតិថិជន អថេរ character_set_connection កំណត់ការអ៊ិនកូដដែលព័ត៌មានដែលទទួលបានពីម៉ាស៊ីនភ្ញៀវត្រូវបានបំប្លែង មុនពេលប្រតិបត្តិសំណើនៅលើម៉ាស៊ីនមេ។

នៅពេលប្រើ UTF-8 យូនីកូដ សេចក្តីថ្លែងការណ៍នេះមើលទៅដូចនេះ៖
កំណត់ឈ្មោះ "utf8"

ការអ៊ិនកូដ ISO 8859-5 មិនត្រូវបានគាំទ្រទេ។


  • សុវត្ថិភាព
  • គុណភាព
  • តម្លៃ
  • ភាពជឿជាក់
  • ភាពសាមញ្ញ
  • ស្ថេរភាព
  • គាំទ្រ
  • ល្បឿន
  • ផ្ទាំងបញ្ជា

ផ្នែកជំនួយ FAQ

ការពិនិត្យវីដេអូបង្ហោះ

របៀបបញ្ចូលម៉ាស៊ីនមេទៅ FTP

ការយកចិត្តទុកដាក់៖អ្នក​ត្រូវ​ផ្ទុក​ឡើង​តែ 3 ថត ( filterscripts, gamemodes, scriptfiles) និង 1 ឯកសារ server.cfgបន្ទាប់មកសរសេរបន្ទាត់ក្នុង server.cfg (ប្រសិនបើវាមិនមាន) កម្មវិធីជំនួយ streamer.so sscanf.so CRP.so mysql.so អ្នកក៏ត្រូវប្រាកដថា mod ក្នុងទម្រង់ .amx មាននៅក្នុងថត gamemodes ហើយ ឈ្មោះរបស់ mod ត្រូវបានសរសេរយ៉ាងត្រឹមត្រូវនៅក្នុង server.cfg (config)។

អតិថិជន FileZilla
បញ្ចូល ម្ចាស់ផ្ទះ ឧទាហរណ៍៖ 194.58.88.74 - ចូល *****- ពាក្យសម្ងាត់******** កុំបញ្ចូលអ្វីទាំងអស់នៅក្នុងច្រកវាល !!!

ការយកចិត្តទុកដាក់៖ប្រសិនបើមិនមានការតភ្ជាប់ទៅ FTP តាមរយៈ FileZilla សូមទាញយក Total Commander ហើយភ្ជាប់តាមរយៈវា!

មេបញ្ជាការសរុប- សម្រាប់ផ្ទុកឯកសារគំរូរបស់អ្នកទៅ FTP
បញ្ចូល ម្ចាស់ផ្ទះ ឧទាហរណ៍៖ 194.58.88.74 - ចូល 173104911- ពាក្យសម្ងាត់ g1KdN7D3q

ចូលកន្លែងណា? ចម្លើយ៖ រត់ Total Commander > Network > Connect to FTP server > Add ហើយបន្ទាប់មកបញ្ចូលទិន្នន័យរបស់អ្នកដូចដែលបានបង្ហាញក្នុងរូបថតអេក្រង់ឧទាហរណ៍៖

Mod មិនស្គាល់

ប្រសិនបើវាល gamemode របស់អ្នកនិយាយថា "មិនស្គាល់" បន្ទាប់មកធ្វើតាមជំហានទាំងនេះ៖
1. ជាដំបូង បិទម៉ាស៊ីនមេរបស់អ្នក។
2.ចូលទៅកាន់ផ្ទាំងបញ្ជាក្នុងផ្ទាំង Server Options > Settings
3. បន្ថែមបន្ទាត់ខាងក្រោម កម្មវិធីជំនួយ streamer.so sscanf.so CRP.so mysql.so
ប្តូរឈ្មោះកម្មវិធីជំនួយ ប្រសិនបើ mod មិនស្គាល់ ឧទាហរណ៍៖ plugins streamer.so sscanf.so CRP.so mysql.so នៅលើកម្មវិធីជំនួយ streamer2.7.2.so sscanf.so CRP.so mysqlR34.so
* ថតកម្មវិធីជំនួយត្រូវបានដំឡើងដំបូងតាមលំនាំដើម និងមានកម្មវិធីជំនួយចាំបាច់ទាំងអស់។
*អ្នកអាចដំឡើងកម្មវិធីជំនួយណាមួយរបស់អ្នកនៅលើ FTP បន្ទាប់មកចុះឈ្មោះកម្មវិធីជំនួយដែលចង់បានសម្រាប់ម៉ាស៊ីនមេនៅក្នុងផ្ទាំងបញ្ជានៅក្នុងផ្នែកការកំណត់។
*ដើម្បីចងក្រង និងធ្វើបច្ចុប្បន្នភាពកម្មវិធីផ្សាយ សូមប្រើកម្មវិធី PAWNO
4. នៅក្នុងថតមួយ។ កម្មវិធីជំនួយវាគួរតែមានកម្មវិធីជំនួយជាមួយផ្នែកបន្ថែម .so សម្រាប់លីនុច៖ ជ្រើសរើសកម្មវិធីជំនួយដែលចង់បានសម្រាប់ម៉ាស៊ីនមេរបស់អ្នក ហើយសរសេរឈ្មោះរបស់វានៅក្នុងការកំណត់បន្ទះនៅក្នុងកម្មវិធីជំនួយបន្ទាត់ EXAMPLE: plugins streamer.so
5. កុំភ្លេចថាយើងប្រើ OS Linux ដែលមានន័យថានៅក្នុងការកំណត់បន្ទះ
សរសេរបន្ទាត់សម្រាប់កម្មវិធីជំនួយកម្មវិធីជំនួយ៖ streamer.so sscanf.so CRP.so ជាមួយផ្នែកបន្ថែម .ដូច្នេះបើមិនដូច្នេះទេ Server របស់អ្នកនឹងមិនដំណើរការត្រឹមត្រូវ។

សម្រាប់ OS លីនុចចុះឈ្មោះក្នុង server.cfg ដូចជា៖ plugins streamer.so sscanf.so CRP.so mysql.so antiattack.so
កម្មវិធីជំនួយមួយក្នុងចំណោមកម្មវិធីជំនួយ libmysqlclient.so.15 libmysqlclient.so.16 libmysqlclient_r.so.16 គួរតែមានទីតាំងនៅក្នុងថតម៉ាស៊ីនមេ។

យកចិត្តទុកដាក់៖ ប្រសិនបើម៉ាស៊ីនមេដំណើរការបានត្រឹមត្រូវនៅលើប្រព័ន្ធប្រតិបត្តិការ Windows នេះមិនមានន័យថាវានឹងដំណើរការត្រឹមត្រូវនៅលើលីនុចនោះទេ។

តើខ្ញុំគួរធ្វើដូចម្តេចប្រសិនបើបន្ទាប់ពីការបំពេញមិនមានរូបតំណាងផ្ទះអាជីវកម្មជាដើម។

សរសេរ streamer2.5.so ក្នុង config រក្សាទុក និងចាប់ផ្ដើមម៉ាស៊ីនមេឡើងវិញ។
ឧទាហរណ៍៖

កម្មវិធីជំនួយ streamer2.5.so sscanf.so CRP.so mysql.so regex.so

តើធ្វើដូចម្តេចដើម្បីស្វែងរកកំណែកម្មវិធីជំនួយ?
នៅលើកុំព្យូទ័រមូលដ្ឋានរបស់អ្នក ចាប់ផ្តើមម៉ាស៊ីនមេ បន្ទាប់មករកមើលនៅក្នុងកំណត់ហេតុ កំណែនៃកម្មវិធីជំនួយនឹងត្រូវបានចង្អុលបង្ហាញនៅទីនោះ ចុះឈ្មោះកំណែនេះនៅលើការបង្ហោះនៅក្នុងការកំណត់រចនាសម្ព័ន្ធម៉ាស៊ីនមេ។
ឧទាហរណ៍៖


កម្មវិធីជំនួយម៉ាស៊ីនមេ
--------------
កំពុងផ្ទុកកម្មវិធីជំនួយ៖ streamer.so
*** កម្មវិធីជំនួយ Streamer v2.6.1 ដោយអនាមិកត្រូវបានផ្ទុក ***

នេះមានន័យថាអ្នកត្រូវបញ្ជាក់កំណែ streamer2.6.1.so ក្នុងការកំណត់រចនាសម្ព័ន្ធម៉ាស៊ីនមេ

ជំនួយ - ការភ្ជាប់ mod ទៅម៉ាស៊ីនមេ mysql

បើក mod (file.PWN) ជាមួយកម្មវិធី PAWNO បញ្ជាក់ទិន្នន័យរបស់អ្នកពីផ្នែក MYSQL


ឧទាហរណ៍៖

#កំណត់ mysql_host "host.site"
#កំណត់ mysql_db "s20000"
#កំណត់ mysql_user "s20000"
#កំណត់ mysql_pass "lazyrich"

បន្ទាប់ពីចងក្រង mod នៅក្នុង .AMX និងនាំចូលសំណួរ sql ទៅក្នុង database

យកចិត្តទុកដាក់! ប្រសិនបើមិនស្គាល់លេចឡើងក្នុងអំឡុងពេលដំណើរការចងក្រង mod នឹងមិនត្រូវបានរកឃើញទេ។
ដំណោះស្រាយគឺត្រូវរកមើល scripter ដើម្បីជួសជុលកំហុស។

ដើម្បីប្តូរឈ្មោះ mod ឬជា hostname parameter អ្នកត្រូវបញ្ចូល server control panel នៅក្នុងផ្នែក -Settings (នេះគឺជា server config sever.cfg) ហើយក្នុងបន្ទាត់ hostname នៅខាងស្តាំ បញ្ចូល server name របស់អ្នក។ ឧទាហរណ៍៖ *** ម៉ាស៊ីនមេរបស់យើងគឺល្អបំផុត * **
រក្សាទុកទិន្នន័យនៅក្នុងបន្ទះ ហើយត្រូវប្រាកដថាចាប់ផ្តើមម៉ាស៊ីនមេឡើងវិញដើម្បីឱ្យប៉ារ៉ាម៉ែត្រថ្មីមានប្រសិទ្ធភាព។
ប្រសិនបើឈ្មោះរបស់អ្នកមិនបានផ្លាស់ប្តូរបន្ទាប់ពីទាំងអស់ខាងលើនោះ អ្នកត្រូវប្តូរឈ្មោះនៅក្នុង mod ដោយខ្លួនឯងជាមួយនឹងកម្មវិធី PAWNO ហើយនេះគឺជារឿងខុសគ្នាទាំងស្រុងដែលមាននៅលើអ៊ីនធឺណិត។

Server.cfg









សំណួរទី 1 - យើងមិនផ្លាស់ប្តូរទេ។

maxnpc 10 - យើងមិនផ្លាស់ប្តូរទេ។
onfoot_rate 40 – កុំផ្លាស់ប្តូរ។
incar_rate 40 - យើងមិនផ្លាស់ប្តូរវាទេ។
weapon_rate 40 – កុំផ្លាស់ប្តូរ។




- បន្ទាត់ស្តង់ដារនៃកម្មវិធីជំនួយសម្រាប់ samp config

របៀបផ្តល់ឱ្យខ្លួនអ្នកនូវគណនីអ្នកគ្រប់គ្រង

ទៅកាន់ម៉ាស៊ីនមេនៅក្នុងថតឯកសារ ឯកសារស្គ្រីបស្វែងរករបស់អ្នក។ នីក
ឧទាហរណ៍៖ Aldo_Mangano បើកឯកសារដោយប្រើ Notepad
ស្វែងរកបន្ទាត់ កម្រិតអ្នកគ្រប់គ្រងបញ្ជាក់ឆ្នាំ 1999 បន្ទាប់មករក្សាទុកឯកសារ ហើយចាប់ផ្ដើមម៉ាស៊ីនមេឡើងវិញ។

Server.cfg

echo កំពុង​ប្រតិបត្តិ​ការ​កំណត់​រចនាសម្ព័ន្ធ​ម៉ាស៊ីន​មេ...
lanmode 0 – 0 – ហ្គេមតាមអ៊ីនធឺណិត 1 – ហ្គេមលើបណ្តាញមូលដ្ឋាន។
rcon_password 123 – “123” – ពាក្យសម្ងាត់ពីផ្ទាំងគ្រប់គ្រងនៅលើម៉ាស៊ីនមេ។
maxplayers 50 - ដូចដែលអ្នកបានយល់រួចហើយ ចំនួនអតិបរមាគឺអ្នកលេង។ នៅក្នុងកំណែ 0.3a អតិបរមា 500 ។
ច្រក 7777 - ច្រកដែលបង្ហាញនៅចុងបញ្ចប់នៃអាសយដ្ឋានម៉ាស៊ីនមេរបស់អ្នក។ (នៅលើការបង្ហោះវាលាតត្រដាងខ្លួនឯង)
ឈ្មោះម៉ាស៊ីន NameServer - ឈ្មោះនៃម៉ាស៊ីនមេនាពេលអនាគតរបស់អ្នក។
របៀប gamemode0 - ហ្គេម mod សម្រាប់ម៉ាស៊ីនមេនាពេលអនាគតរបស់អ្នក។ បន្ថែមលើនេះខាងក្រោម ...
ប្រកាស 0 – 1 ម៉ាស៊ីនមេអាចមើលឃើញនៅក្នុងផ្ទាំងអ៊ីនធឺណិត / 0 មិនអាចមើលឃើញទេ។
សំណួរទី 1 - យើងមិនផ្លាស់ប្តូរទេ។
គេហទំព័រ weburl - គេហទំព័រម៉ាស៊ីនមេ ប្រសិនបើមាន។
maxnpc 10 - យើងមិនផ្លាស់ប្តូរទេ។
onfoot_rate 40 – កុំផ្លាស់ប្តូរ។
incar_rate 40 - យើងមិនផ្លាស់ប្តូរវាទេ។
weapon_rate 40 – កុំផ្លាស់ប្តូរ។
stream_distance 300.0 – កុំផ្លាស់ប្តូរ។
stream_rate 1000 – កុំផ្លាស់ប្តូរ។
ពាក្យសម្ងាត់ - your_password (ម៉ាស៊ីនមេដែលមានពាក្យសម្ងាត់)
ភាសារុស្ស៊ី - ផែនទីសម្រាប់ 0.3.7 ជំនួសផែនទី
កម្មវិធីជំនួយ streamer.so sscanf.so CRP.so mysql.so regex.so dc_cmd.so CVector.so nativechecker.so- បន្ទាត់ស្តង់ដារនៃកម្មវិធីជំនួយសម្រាប់ samp config

នៅក្នុង MySQL ជ្រើសរើសកំណែ ()- សំណួរដែលត្រឡប់ឈ្មោះកញ្ចប់ដែលបានប្រើ និងកំណែរបស់វា។ ឈ្មោះអាចជា MySQL ខ្លួនវាផ្ទាល់ ឬសមរបស់វា ដែលអភិវឌ្ឍដោយឯករាជ្យ - MaraiDB ។ ភាពខុសគ្នារវាងកញ្ចប់គឺមិនគួរឱ្យកត់សម្គាល់ទេនៅពេលដោះស្រាយបញ្ហាភាគច្រើន។ MySQL 5.6 ត្រូវគ្នានឹង MaraiDB 10 ។

MySQL ជ្រើសរើសកំណែ និងរបៀបស្វែងរកកំណែ MySQL

អ្នកអាចស្វែងរកកំណែតាមវិធីជាច្រើន។ សាមញ្ញបំផុតមិនតម្រូវឱ្យមានការស្គាល់ពាក្យសម្ងាត់របស់អ្នកប្រើម៉ាស៊ីនមេមូលដ្ឋានទិន្នន័យទេ។ គ្រាន់តែចូលតាមរយៈ SSH ហើយដំណើរការ mysql --version

mysql Ver 14.14 Distrib 5.5.55 សម្រាប់ debian-linux-gnu (x86_64) ដោយប្រើ readline 6.3

ដើម្បីប្រើវិធីសាស្រ្តដែលបានផ្ដល់ឱ្យក្នុងចំណងជើង អ្នកត្រូវផ្ញើសំណើ SQL ដើម្បីធ្វើដូច្នេះ ចូលទៅកុងសូល (អ្នកក៏អាចធ្វើដូចនេះដោយប្រើស្គ្រីប)។

បញ្ចូលពាក្យសម្ងាត់៖
សូមស្វាគមន៍មកកាន់ម៉ូនីទ័រ MySQL ។ ពាក្យបញ្ជាបញ្ចប់ដោយ; ឬ\g ។
លេខសម្គាល់ការភ្ជាប់ MySQL របស់អ្នកគឺ 41
កំណែម៉ាស៊ីនមេ៖ 5.5.55-0ubuntu0.14.04.1 (អ៊ូប៊ុនទូ)

រក្សាសិទ្ធិ (c) 2000, 2017, Oracle និង/ឬសាខារបស់វា។ រក្សាសិទ្ធិគ្រប់យ៉ាង។

Oracle គឺជាពាណិជ្ជសញ្ញាដែលបានចុះបញ្ជីរបស់ Oracle Corporation និង/ឬរបស់វា។
សាខា។ ឈ្មោះផ្សេងទៀតអាចជាពាណិជ្ជសញ្ញារៀងៗខ្លួន
ម្ចាស់។

វាយ "ជំនួយ"; ឬ "\ h" សម្រាប់ជំនួយ។ វាយ "\c" ដើម្បីសម្អាតសេចក្តីថ្លែងការណ៍បញ្ចូលបច្ចុប្បន្ន។

ព័ត៌មានចាំបាច់មាននៅក្នុងលទ្ធផលដែលលេចឡើងបន្ទាប់ពីការអនុញ្ញាតដោយជោគជ័យ។ ក្នុងករណីនេះ MySQL Server កំណែ 5.5.55-0 ត្រូវបានប្រើ។

ដូចគ្នានេះផងដែរ, នៅពេលដែលនៅក្នុងកុងសូលម៉ាស៊ីនមេមូលដ្ឋានទិន្នន័យ, អ្នកអាចស្នើសុំកំណែដូចខាងក្រោម:

+————————-+
| version() |
+————————-+
| 5.5.55-0ubuntu0.14.04.1 |
+————————-+
1 ជួរក្នុងសំណុំ (0.00 វិ)

ក្នុងករណីទាំងអស់ដែលបានពិចារណា ទទួលបានព័ត៌មានពេញលេញស្មើគ្នា។

អានស៊េរីនៃអត្ថបទដែលពិពណ៌នាអំពីមូលដ្ឋាននៃការធ្វើការជាមួយ MySQL () ។

ប្រសិនបើស្គ្រីបគេហទំព័រដែលធ្វើការជាមួយមូលដ្ឋានទិន្នន័យត្រូវបានសរសេរសម្រាប់កំណែជាក់លាក់នៃកម្មវិធីនៅលើម៉ាស៊ីនមេ ហើយវាមិនមែនជាកំណែដែលត្រូវបានប្រើនោះទេ កំណែក៏ដូចជាកញ្ចប់ខ្លួនឯងអាចត្រូវបានផ្លាស់ប្តូរ។ នេះត្រូវបានធ្វើយ៉ាងសាមញ្ញនៅក្នុង Debian ក្បួនដោះស្រាយត្រូវបានផ្តល់ឱ្យខាងក្រោម។

ការផ្លាស់ប្តូរកំណែម៉ាស៊ីនមេមូលដ្ឋានទិន្នន័យទៅជា Debian

1) ដោយប្រើឧបករណ៍ប្រើប្រាស់ mysqldump ការបោះចោលតារាងទាំងអស់ (រួមទាំងតារាងសេវាកម្ម) ត្រូវបានបង្កើតឡើង

2) កញ្ចប់ត្រូវបានដកចេញ apt-get យក mysql-server* && apt-get លុប mysql-server*អ្នកក៏ត្រូវលុប /var/lib/mysql និង /etc/mysql បន្ទាប់ពីធ្វើការចម្លង

3) ឃ្លាំងដែលបានរាយបញ្ជីនៅលើគេហទំព័រផ្លូវការត្រូវបានបន្ថែមទៅ /etc/apt/source.list (ឧទាហរណ៍សម្រាប់ MariaDB 10 នៅលើ Debian 8) ព័ត៌មានត្រូវបានធ្វើបច្ចុប្បន្នភាព apt-get update

3) ផងដែរតាមរយៈ apt-getកញ្ចប់ថ្មីមួយត្រូវបានដំឡើង ហើយបន្ទាប់មកការបោះចោលមូលដ្ឋានទិន្នន័យត្រូវបានផ្ទុក

អ្នកគួរតែមានច្បាប់ចម្លងជានិច្ចក្នុងករណីមានស្ថានភាពដែលមិនបានមើលឃើញទុកជាមុន។ កំណែផ្សេងគ្នាប្រើការណែនាំផ្សេងគ្នានៅក្នុងឯកសារកំណត់រចនាសម្ព័ន្ធ ហើយអាចទាមទារការកែសម្រួលដោយដៃ។

អានអំពី ដោយមានជំនួយពីវា កំណែកញ្ចប់ត្រូវបានទាញយកពីគំរូគឺជាប្រតិបត្តិការទូទៅបំផុត។

ដំបូង អ្នក​ត្រូវ​សម្រេច​ចិត្ត​ថា​តើ​អ្នក​ចង់​បាន​ការ​ចេញ​សាកល្បង​ចុង​ក្រោយ​បំផុត ឬ​កំណែ​ដែល​មាន​ស្ថិរភាព​ចុង​ក្រោយ​បំផុត៖

  • ប្រសិនបើអ្នកហៀបនឹងប្រើ MySQL ជាលើកដំបូង ឬកំពុងព្យាយាមបញ្ចូល MySQL ទៅកាន់ប្រព័ន្ធដែលមិនមានការបែងចែកប្រព័ន្ធគោលពីរ ជាទូទៅយើងសូមណែនាំឱ្យចាប់ផ្តើមជាមួយនឹងកំណែដែលមានស្ថេរភាព (បច្ចុប្បន្នកំណែ 3.23)។ សូមចងចាំថាការចេញផ្សាយ MySQL ទាំងអស់ត្រូវបានសាកល្បងដោយប្រើស្តង់ដារ MySQL និងឈុតសាកល្បងដ៏ទូលំទូលាយមុនពេលចេញផ្សាយនីមួយៗ (សូម្បីតែសម្រាប់ការចេញផ្សាយសាកល្បង) ។
  • ប្រសិនបើអ្នកកំពុងធ្វើការជាមួយប្រព័ន្ធចាស់ ហើយចង់ដំឡើងកំណែវា ប៉ុន្តែចង់ជៀសវាងភាពមិនស៊ីសង្វាក់គ្នាដែលអាចកើតមានក្នុងអំឡុងពេលធ្វើឱ្យប្រសើរឡើងនោះ អ្នកត្រូវជំនួសវាដោយកំណែថ្មីបំផុតនៅក្នុងសាខាដូចគ្នាដែលអ្នកកំពុងប្រើ (ដែលមានតែលេខកំណែចុងក្រោយបំផុតប៉ុណ្ណោះ។ ថ្មីជាងរបស់អ្នក) ។ នៅក្នុងកំណែបែបនេះ យើងព្យាយាមជួសជុលតែកំហុសសំខាន់ៗ និងធ្វើការផ្លាស់ប្តូរតិចតួចប៉ុណ្ណោះ ដែលមានសុវត្ថិភាព។

ទីពីរ អ្នកត្រូវសម្រេចចិត្តថាតើអ្នកចង់ប្រើការចែកចាយប្រភព ឬការបែងចែកប្រព័ន្ធគោលពីរ។ ក្នុងករណីភាគច្រើន វាជាការប្រសើរក្នុងការជ្រើសរើសការចែកចាយប្រព័ន្ធគោលពីរ ប្រសិនបើមានសម្រាប់វេទិការបស់អ្នក ព្រោះជាធម្មតាវាងាយស្រួលតំឡើងជាងការចែកចាយប្រភព។

ការដំឡើងពីប្រភពប្រហែលជាល្អជាងនៅក្នុងករណីដូចខាងក្រោម៖

  • ប្រសិនបើអ្នកត្រូវដំឡើង MySQL នៅក្នុងទីតាំងជាក់លាក់មួយចំនួន (ការចែកចាយប្រព័ន្ធគោលពីរស្តង់ដារគឺ ``រួចរាល់ដើម្បីដំណើរការ´ គ្រប់ទីកន្លែង ប៉ុន្តែអ្នកប្រហែលជាត្រូវការភាពបត់បែនកាន់តែច្រើន)។
  • ដើម្បីបំពេញតាមតម្រូវការអ្នកប្រើប្រាស់ផ្សេងៗគ្នា យើងផ្គត់ផ្គង់កំណែប្រព័ន្ធគោលពីរផ្សេងគ្នា៖ មួយចងក្រងជាមួយឧបករណ៍ដោះស្រាយតារាងមិនប្រតិបត្តិការ (លេខកូដគោលពីរលឿនតូច) និងទីពីរកំណត់រចនាសម្ព័ន្ធដោយសមត្ថភាពពង្រីកដ៏សំខាន់បំផុត ដូចជាតារាងដឹងអំពីប្រតិបត្តិការ។ កំណែទាំងពីរត្រូវបានចងក្រងពីកូដប្រភពដូចគ្នា។ អតិថិជនដើម MySQL ទាំងអស់អាចភ្ជាប់ទៅកំណែទាំងពីរ។ ការចែកចាយប្រព័ន្ធគោលពីរកំណែ MySQL Extended ត្រូវបានសម្គាល់ដោយបច្ច័យ -max និងត្រូវបានកំណត់រចនាសម្ព័ន្ធជាមួយនឹងជម្រើសដូចគ្នានឹង mysqld-max ។ សូមមើលផ្នែក 4.7.5 mysqld-max ដែលជាម៉ាស៊ីនមេ mysqld ដែលបានពង្រីក។ ប្រសិនបើអ្នកចង់ប្រើកញ្ចប់ MySQL-Max RPM ដំបូងអ្នកត្រូវតែដំឡើងកញ្ចប់ MySQL RPM ស្តង់ដារ។
  • ប្រសិនបើអ្នកត្រូវកំណត់រចនាសម្ព័ន្ធ mysqld ជាមួយនឹងលក្ខណៈពិសេសបន្ថែមមួយចំនួនដែលមិនមាននៅក្នុងការចែកចាយប្រព័ន្ធគោលពីរស្តង់ដារ។ ខាងក្រោមនេះគឺជាបញ្ជីនៃជម្រើសបន្ថែមទូទៅបំផុតដែលអ្នកប្រហែលជាចង់ប្រើ៖
    • --with-innodb
    • --with-berkeley-db
    • -- ជាមួយនឹងការវាយឆ្មក់
    • --with-libwrap
    • --with-named-z-lib (នេះត្រូវបានធ្វើសម្រាប់ការចែកចាយប្រព័ន្ធគោលពីរមួយចំនួន)
    • --with-debug[=ពេញ]
  • តាមលំនាំដើម ការចែកចាយប្រព័ន្ធគោលពីរជាធម្មតាត្រូវបានចងក្រងដោយមានការគាំទ្រសម្រាប់ការអ៊ិនកូដទាំងអស់ ហើយគួរតែដំណើរការលើ processors ផ្សេងគ្នាពីគ្រួសារ processor ដូចគ្នា។ ប្រសិនបើអ្នកចង់បានម៉ាស៊ីនមេ MySQL លឿនជាងមុន អ្នកអាចចងក្រងវាឡើងវិញដើម្បីគាំទ្រតែការអ៊ិនកូដដែលអ្នកត្រូវការ ប្រើកម្មវិធីចងក្រងដែលប្រសើរជាង (ដូចជា pgcc) ឬប្រើជម្រើសចងក្រងដែលប្រសើរឡើងសម្រាប់ដំណើរការរបស់អ្នក។
  • ប្រសិនបើអ្នករកឃើញកំហុស ហើយរាយការណ៍វាទៅក្រុមអភិវឌ្ឍន៍ MySQL អ្នកគួរតែត្រូវបានផ្ញើបំណះដែលគួរតែត្រូវបានអនុវត្តចំពោះការចែកចាយកូដប្រភពដើម្បីជួសជុលកំហុស។
  • ប្រសិនបើអ្នកចង់អាន (និង/ឬកែប្រែ) កូដប្រភព MySQL (ក្នុង C និង C++) អ្នកត្រូវតែមានការចែកចាយកូដប្រភព។ កូដប្រភពគឺតែងតែជាឯកសារដ៏ល្អបំផុត។ ការចែកចាយប្រភពក៏មានការធ្វើតេស្ត និងឧទាហរណ៍ច្រើនជាងការចែកចាយប្រព័ន្ធគោលពីរ។

ប្រព័ន្ធដាក់ឈ្មោះរបស់ MySQL ប្រើលេខចេញផ្សាយ ដែលមានបីលេខ និងបច្ច័យមួយ។ ឧទាហរណ៍ ការចេញផ្សាយ mysql-3.21.17-beta ត្រូវបានបកស្រាយដូចខាងក្រោម៖

  • លេខទីមួយ (3) ពិពណ៌នាអំពីទម្រង់ឯកសារ។ ការចេញផ្សាយកំណែទី 3 ទាំងអស់មានទម្រង់ឯកសារដូចគ្នា។
  • លេខទីពីរ (21) តំណាងឱ្យកម្រិតទិន្នផល។ ជាធម្មតាមានជម្រើសនៃលទ្ធភាពពីរ។ មួយតំណាងឱ្យការចេញផ្សាយនៃសាខាស្ថិរភាព (បច្ចុប្បន្ន 23) និងទីពីរតំណាងឱ្យសាខាពិសោធន៍ (បច្ចុប្បន្ន 4.0) ។ ជាធម្មតា សាខាទាំងពីរមានស្ថេរភាព ប៉ុន្តែកំណែពិសោធន៍អាចមានចំណុចខ្វះខាតខ្លះ អាចខ្វះឯកសារសម្រាប់មុខងារថ្មីៗ ឬប្រហែលជាមិនចងក្រងនៅលើប្រព័ន្ធមួយចំនួន។
  • លេខទីបី (17) គឺជាលេខកំណែនៅក្នុងកម្រិតនៃការចេញផ្សាយ។ ចំនួននេះកើនឡើងសម្រាប់ការចែកចាយថ្មីនីមួយៗ។ ជាធម្មតាវាសមហេតុផលក្នុងការចូលចិត្តកំណែចុងក្រោយបំផុតសម្រាប់កម្រិតនៃការចេញផ្សាយដែលបានជ្រើសរើស។
  • បច្ច័យ (បែតា) បង្ហាញពីកម្រិតនៃស្ថេរភាពនៃការចេញផ្សាយដែលបានផ្តល់ឱ្យ។ បច្ច័យខាងក្រោមអាចធ្វើទៅបាន៖
    • អាល់ហ្វាបង្ហាញថាការចេញផ្សាយមានផ្នែកធំនៃកូដថ្មីដែលមិនត្រូវបានសាកល្បង 100% ។ កំហុសដែលបានរកឃើញ (ជាធម្មតាមិនមាន) គួរតែត្រូវបានចងក្រងជាឯកសារនៅក្នុងផ្នែក ``ព័ត៌មាន”។ សូមមើលផ្នែក D ប្រវត្តិនៃការផ្លាស់ប្តូរ និងបច្ចុប្បន្នភាព MySQL ។ ការចេញផ្សាយអាល់ហ្វាភាគច្រើនក៏រួមបញ្ចូលពាក្យបញ្ជាថ្មី និងផ្នែកបន្ថែមផងដែរ។ ខណៈពេលកំពុងធ្វើការលើការចេញផ្សាយអាល់ហ្វា វាអាចមានការអភិវឌ្ឍន៍សកម្មដែលពាក់ព័ន្ធនឹងការផ្លាស់ប្តូរកូដសំខាន់ៗ ប៉ុន្តែអ្វីៗត្រូវបានសាកល្បងមុនពេលចេញផ្សាយ។ ការចេញផ្សាយ MySQL ណាមួយត្រូវតែគ្មានកំហុសដែលគេស្គាល់។
    • បែតាមានន័យថាលេខកូដថ្មីទាំងអស់ត្រូវបានសាកល្បង។ មិនមានទ្រព្យសម្បត្តិថ្មីត្រូវបានបន្ថែមដែលអាចបំបែកកូដចាស់បានទេ។ មិនគួរមានកំហុសដែលគេស្គាល់ទេ។ កំណែមួយត្រូវបានផ្លាស់ប្តូរពីអាល់ហ្វាទៅបេតា នៅពេលដែលមិនមានរបាយការណ៍អំពីបញ្ហាធ្ងន់ធ្ងរនៅក្នុងកំណែអាល់ហ្វាយ៉ាងហោចណាស់មួយខែ ហើយយើងមិនមានគម្រោងបន្ថែមលក្ខណៈពិសេសថ្មីដែលអាចកាត់បន្ថយភាពជឿជាក់នៃពាក្យបញ្ជាពីមុននោះទេ។
    • ហ្គាម៉ាគឺជាកំណែបែតាដែលជិតរួចរាល់ ហើយហាក់ដូចជាដំណើរការល្អ។ មានតែការកែតម្រូវតិចតួចប៉ុណ្ណោះដែលត្រូវបានបន្ថែម។ នេះគឺជាអ្វីដែលក្រុមហ៊ុនជាច្រើនទៀតហៅថាការចេញផ្សាយ។
    • ប្រសិនបើមិនមានបច្ច័យទេ វាមានន័យថាកំណែត្រូវបានដំណើរការលើប្រព័ន្ធកុំព្យូទ័រផ្សេងៗគ្នាជាច្រើន ដោយគ្មានសារកំហុសក្រៅពីកំហុសជាក់លាក់នៃវេទិកា។ សម្រាប់វាមានតែការកែកំហុសសំខាន់ៗប៉ុណ្ណោះដែលត្រូវបានអនុញ្ញាត។ នោះហើយជាមូលហេតុដែលយើងហៅថាការចេញផ្សាយនេះមានស្ថេរភាព។

កំណែទាំងអស់នៃ MySQL ត្រូវបានដាក់តាមរយៈការធ្វើតេស្តស្តង់ដារ និងស្តង់ដាររបស់យើង ដើម្បីធានាថាពួកគេអាចទុកចិត្តបានក្នុងការប្រើប្រាស់។ ដោយសារតែការធ្វើតេស្តស្ដង់ដារត្រូវបានពង្រីកជាទៀងទាត់ដើម្បីរួមបញ្ចូលការធ្វើតេស្តរកកំហុសថ្មីដែលបានរកឃើញ និងស្ថានភាពដែលអាចបណ្តាលឱ្យពួកគេ ឈុតសាកល្បងនឹងប្រសើរឡើង និងប្រសើរជាងមុនតាមពេលវេលា។

សូមចំណាំថាការចេញផ្សាយទាំងអស់ត្រូវបានសាកល្បងជាមួយនឹងការធ្វើតេស្តខាងក្រោមយ៉ាងហោចណាស់:

ឈុតសាកល្បងខាងក្នុង ឈុតគឺជាផ្នែកមួយនៃប្រព័ន្ធផលិតកម្មរបស់អតិថិជន។ សំណុំនេះរួមបញ្ចូលតារាងជាច្រើនដែលមានទិន្នន័យរាប់រយមេកាបៃ។

MySQL Performance Test Suite ការធ្វើតេស្តទាំងនេះដំណើរការលើសំណុំនៃសំណួរដែលប្រើជាទូទៅ។ ពួកគេក៏អនុញ្ញាតឱ្យអ្នកមើលថាតើកញ្ចប់បង្កើនប្រសិទ្ធភាពចុងក្រោយបំផុតពិតជាធ្វើឱ្យកូដរបស់អ្នកលឿនជាងមុនដែរឬទេ។ សូមមើលផ្នែក។