Мақала анықтамалығы
Бұл мақалада біз егжей-тегжейлі қарастырамыз MySQL MyISAM дерекқорындағы InnoDB сақтау механизміне пакеттік түрлендірудің ең жақсы жолы.
Біз сізге түрлендіру процесі бойынша қадамдық нұсқаулық береміз және оның тиімді және қауіпсіз орындалуын қамтамасыз ету үшін пайдалы кеңестер мен амалдарды береміз.
Сіз дерекқор әкімшісі немесе әзірлеуші болсаңыз да, бұл нұсқаулық MyISAM мен InnoDB арасындағы айырмашылықтарды және InnoDB түрлендіру өнімділікті оңтайландыру және деректер сенімділігін арттыру үшін неліктен маңызды екенін түсінуге көмектеседі.
Біздің егжей-тегжейлі қадамдарды орындаңыз және сіз өзіңіздің файлыңызды оңай түрлендіре аласыз MySQL Деректер базасы өнімділікті жақсартып, деректер қауіпсіздігі мен тұтастығын қамтамасыз ететін InnoDB сақтау механизміне түрлендірілді.

MySQL дерекқор жүйесінде MyISAM және InnoDB екі жалпы сақтау механизмі болып табылады. MyISAM жылдам және көптеген оқу әрекеттері бар сценарийлер үшін қолайлы.
InnoDB транзакцияларды, сыртқы кілттерді және жол деңгейіндегі құлыптауды қолдайды және деректер тұтастығын және параллельді бақылауды қажет ететін қолданбаларға қолайлырақ. Сонымен, MyISAM кестелерін InnoDB-ге пакеттік түрлендіру қажет болғанда не істеуіміз керек?
Неліктен MyISAM-ды InnoDB-ге түрлендіру?
Алдымен, біз бұл ауысуды неліктен жасап жатқанымыз туралы сөйлесейік.
MyISAM жақсы өнімділікке ие болғанымен, оның деректер қауіпсіздігі мен бір мезгілде өңдеуде кемшіліктері бар.
InnoDB транзакцияны қолдауды қамтамасыз етеді, ол деректердің сәйкестігін қамтамасыз етеді және жоғары параллельді жағдайларды өңдей алады.
1. Деректер тұтастығы: InnoDB транзакцияларды қолдайды және деректердің сәйкестігін қамтамасыз ету үшін кері әрекеттерді орындай алады.
2. Сәйкестікті бақылау: InnoDB жоғары параллельді қолданбалар үшін қолайлы жол деңгейіндегі құлыптауды пайдаланады.
3. Шетелдік кілтті қолдау: InnoDB деректердің анықтамалық тұтастығына қол жеткізе алатын шетелдік кілттерді қолдайды.
MyISAM-ды InnoDB-ге пакеттік түрлендіру әдісі
Біз барлық кестелер үшін түрлендіру мәлімдемелерін жасау үшін бір SQL операторын пайдалана аламыз, содан кейін олардың барлығын бірден орындай аламыз.
Бұл күрделі болып көрінеді, бірақ іс жүзінде бұл өте қарапайым. Бірнеше қадам ғана.
1-қадам: дерекқорды таңдаңыз
Алдымен, жұмыс істегіңіз келетін дерекқорды таңдағаныңызға көз жеткізіңіз. Келесі пәрмендерді қолдануға болады:
mysql
USE 你要操作的数据库名;
2-қадам: түрлендіру мәлімдемелерін жасаңыз
Әрі қарай, барлық MyISAM кестелерін InnoDB кестелеріне түрлендіретін SQL мәлімдемелерін жасауымыз керек.
Мұны сұрау арқылы жасауға болады information_schema.tables қол жеткізу үшін кесте.
Келесі SQL операторын іске қосыңыз:
SELECT CONCAT('ALTER TABLE ',table_name,' ENGINE=InnoDB;')
FROM information_schema.tables
WHERE table_schema="你要操作的数据库名" AND ENGINE="MyISAM";Бұл мәлімдеме әрбір MyISAM кестесінің сақтау механизмін InnoDB етіп өзгертетін ALTER TABLE мәлімдемелерінің жинағын жасайды.
3-қадам: түрлендіру мәлімдемесін орындаңыз
Алдыңғы қадамда жасалған нәтижелерді көшіріп, өтіңізAIБұл шекараларды оңай сүзуге көмектеседі.
在GPT чатКелесіні енгізіңіз:
请帮我过滤以下边框:
+--------------------------------------------------------------+
| ALTER TABLE table1 ENGINE=InnoDB; |
| ALTER TABLE table2 ENGINE=InnoDB; |
| ALTER TABLE table3 ENGINE=InnoDB; |
+--------------------------------------------------------------+
Содан кейін MySQL жүйесінде іске қосылған кезде MySQL барлық MyISAM кестелерін InnoDB кестелеріне түрлендіру үшін осы ALTER TABLE мәлімдемелерін ретімен орындайды.
Мысал
Жұмыс істегіңіз келетін дерекқор аталды деп есептеңіз example_db, келесі қадамдарды орындаңыз:
- Деректер базасын таңдаңыз:
USE example_db;
- Түрлендіру мәлімдемелерін жасаңыз:
SELECT CONCAT('ALTER TABLE ',table_name,' ENGINE=InnoDB;')
FROM information_schema.tables
WHERE table_schema="example_db" AND ENGINE="MyISAM";- Жасалған мәлімдемені көшіріп, оны MySQL-де орындаңыз:
ALTER TABLE table1 ENGINE=InnoDB;
ALTER TABLE table2 ENGINE=InnoDB;
Сақтық шаралары
Бұл топтаманы түрлендіру операциясын орындамас бұрын, ескеру қажет бірнеше тармақ бар:
1. Деректердің сақтық көшірмесін жасау: Пакеттік түрлендіруді орындамас бұрын, деректердің жоғалуын болдырмау үшін дерекқордың толық сақтық көшірмесін жасаңыз.
2. Сынақ ортасы: Түрлендіру процесі қолданбаның қалыпты жұмысына әсер етпейтініне көз жеткізу үшін алдымен сынақ ортасында сынақтан өткен дұрыс.
3. Деректер базасының рұқсаттары: ALTER TABLE әрекеттерін орындау үшін жеткілікті дерекқор артықшылықтары бар екеніне көз жеткізіңіз.
қорытындысында
Жоғарыда көрсетілген қадамдар арқылы MySQL дерекқорындағы барлық MyISAM кестелерін InnoDB кестелеріне оңай пакеттік түрлендіруге болады. Бұл дерекқордың бір мезгілде өңдеу мүмкіндіктерін жақсартып қана қоймай, сонымен қатар деректердің қауіпсіздігі мен тұтастығын арттырады.
Бұл мақала сізге MySQL дерекқорын жақсырақ түсінуге және басқаруға көмектеседі деп үміттенемін. Егер сізде сұрақтар немесе ұсыныстар болса, түсініктеме аймағында хабарлама қалдырыңыз.
Мұның бәрі MyISAM пакетін InnoDB-ге түрлендіру туралы. Енді сіз оны сынап көре аласыз!
🔧💡Қалай пайдалану керектігін білгіңіз келедіPhpMyAdminInnoDB деректер кестесі түрін MyISAM әдепкі механизміне түрлендіру керек пе? Бұл мақалада түрлендіруді жеңілдету үшін егжей-тегжейлі қадамдар мен нұсқаулар берілген!
👇Оқуды жалғастыру ұсынылады👇
Дерекқорды түрлендіру дағдыларын үйрену және дерекқорды басқаруды оңтайландыру үшін сілтемені басыңыз! 📚💻
Hope Chen Weiliang блогы ( https://www.chenweiliang.com/ ) бөлісті "MySQL дерекқорын MyISAM-тан InnoDB сақтау механизміне қалай пакеттік түрлендіруге болады?" 》, сізге пайдалы.
Осы мақаланың сілтемесін бөлісуге қош келдіңіз:https://www.chenweiliang.com/cwl-31790.html

