Mar as urrainn dhut stòr-dàta MySQL a thionndadh bho MyISAM gu einnsean stòraidh InnoDB?

San artaigil seo, bheir sinn sùil nas mionaidiche MySQL An dòigh as fheàrr air MyISAM a thionndadh gu einnsean stòraidh InnoDB san stòr-dàta.

Bheir sinn stiùireadh dhut ceum air cheum tron ​​​​phròiseas tionndaidh agus bheir sinn seachad molaidhean agus cleasan cuideachail gus dèanamh cinnteach gu bheil e air a dhèanamh gu h-èifeachdach agus gu sàbhailte.

Ge bith co-dhiù a tha thu nad rianadair stòr-dàta no nad leasaiche, cuidichidh an iùl seo thu gus na h-eadar-dhealachaidhean eadar MyISAM agus InnoDB a thuigsinn, agus carson a tha tionndadh gu InnoDB deatamach airson coileanadh as fheàrr agus earbsachd dàta a leasachadh.

Lean ar ceumannan mionaideach agus bidh e comasach dhut do thionndadh gu furasta MySQL Tha an stòr-dàta air a thionndadh gu einnsean stòraidh InnoDB, ag adhartachadh coileanadh agus a’ dèanamh cinnteach à tèarainteachd dàta agus ionracas.

Mar as urrainn dhut stòr-dàta MySQL a thionndadh bho MyISAM gu einnsean stòraidh InnoDB?

Ann an siostam stòr-dàta MySQL, tha MyISAM agus InnoDB nan dà einnsean stòraidh cumanta. Tha MyISAM luath agus freagarrach airson suidheachaidhean le mòran obrachaidhean leughaidh.

Bidh InnoDB a’ toirt taic do ghnothaichean, iuchraichean cèin, agus glasadh ìre sreath, agus tha e nas freagarraiche airson tagraidhean a dh’ fheumas ionracas dàta agus smachd concurrency. Mar sin, dè a bu chòir dhuinn a dhèanamh nuair a dh’ fheumas sinn clàran MyISAM a thionndadh gu InnoDB?

Carson a thionndaidheas MyISAM gu InnoDB?

An toiseach, bruidhnidh sinn carson a tha sinn a’ dèanamh an tionndadh seo.

Ged a tha coileanadh math aig MyISAM, tha easbhaidhean aige ann an tèarainteachd dàta agus giullachd co-aontach.

Bidh InnoDB a’ toirt seachad taic malairt, a dh’ fhaodas dèanamh cinnteach à cunbhalachd dàta agus a bhith a’ làimhseachadh shuidheachaidhean concurrency àrd.

1. Ionracas dàta: Bidh InnoDB a’ toirt taic do ghnothaichean agus is urrainn dhaibh gnìomhachd a thoirt air ais gus dèanamh cinnteach à cunbhalachd dàta.

2. Concurrency smachd: Bidh InnoDB a’ cleachdadh glasadh ìre sreath, a tha freagarrach airson tagraidhean àrd-airgead.

3. Cèin prìomh taic: Bidh InnoDB a’ toirt taic do iuchraichean cèin, as urrainn ionracas iomraidh dàta a choileanadh.

Dòigh airson baidse atharrachadh MyISAM gu InnoDB

Is urrainn dhuinn aon aithris SQL a chleachdadh gus aithrisean tionndaidh a ghineadh airson a h-uile clàr agus an uairsin an cur an gnìomh aig an aon àm.

Tha seo a 'fuaimeachadh iom-fhillte, ach gu dearbh tha e gu math sìmplidh. Dìreach beagan cheumannan.

Ceum 1: Tagh stòr-dàta

An toiseach, dèan cinnteach gu bheil thu air an stòr-dàta a tha thu airson obrachadh air a thaghadh. Faodar na h-òrdughan a leanas a chleachdadh:

mysql
USE 你要操作的数据库名;

Ceum 2: Cruthaich aithrisean tionndaidh

An ath rud, feumaidh sinn na h-aithrisean SQL a ghineadh a thionndaidheas a h-uile clàr MyISAM gu bùird InnoDB.

Faodar seo a dhèanamh le bhith a’ faighneachd information_schema.tables bòrd ri choileanadh.

Ruith an aithris SQL a leanas:

SELECT CONCAT('ALTER TABLE ',table_name,' ENGINE=InnoDB;') 
FROM information_schema.tables 
WHERE table_schema="你要操作的数据库名" AND ENGINE="MyISAM";

Tha an aithris seo a’ gineadh seata de aithrisean ALTER TABLE a dh’ atharraicheas einnsean stòraidh gach clàr MyISAM gu InnoDB.

Ceum 3: Cuir an gnìomh an aithris tionndaidh

Dèan lethbhreac de na toraidhean a chaidh a chruthachadh sa cheum roimhe agus pasAIFaodaidh e ar cuideachadh le bhith a’ sìoladh chrìochan gu furasta.

AnnBruidhinn GPTCuir a-steach na leanas:

请帮我过滤以下边框:

+--------------------------------------------------------------+
| ALTER TABLE table1 ENGINE=InnoDB; |
| ALTER TABLE table2 ENGINE=InnoDB; |
| ALTER TABLE table3 ENGINE=InnoDB; |
+--------------------------------------------------------------+

An uairsin, nuair a thèid a ruith ann am MySQL, cuiridh MySQL na h-aithrisean ALTER TABLE seo an gnìomh ann an òrdugh gus a h-uile clàr MyISAM a thionndadh gu bùird InnoDB.

Eisimpleir

Gabh ris gu bheil an stòr-dàta a tha thu airson obrachadh air ainmeachadh example_db, dèan na ceumannan a leanas:

  1. Tagh stòr-dàta:
USE example_db;
  1. Cruthaich aithris tionndaidh:
SELECT CONCAT('ALTER TABLE ',table_name,' ENGINE=InnoDB;') 
FROM information_schema.tables 
WHERE table_schema="example_db" AND ENGINE="MyISAM";
  1. Dèan lethbhreac den aithris a chaidh a chruthachadh agus cuir an gnìomh e ann am MySQL:
ALTER TABLE table1 ENGINE=InnoDB;
ALTER TABLE table2 ENGINE=InnoDB;

Ro-chùram

Mus dèan thu an obair tionndaidh baidse seo, tha beagan phuingean ri thoirt fa-near:

1. Cùl-taic dàta: Mus dèan thu tionndadh baidse, dèan cinnteach gun gabh thu cùl-taic iomlan den stòr-dàta gus casg a chuir air call dàta.

2. Àrainneachd deuchainn: Tha e nas fheàrr deuchainn a dhèanamh ann an àrainneachd deuchainn an-toiseach gus dèanamh cinnteach nach toir am pròiseas tionndaidh buaidh air obrachadh àbhaisteach an tagraidh.

3. Ceadan stòr-dàta: Dèan cinnteach gu bheil sochairean stòr-dàta gu leòr agad gus gnìomhachd ALTER TABLE a dhèanamh.

ann an co-dhùnadh

Leis na ceumannan gu h-àrd, is urrainn dhuinn gu furasta na clàran MyISAM gu lèir ann an stòr-dàta MySQL a thionndadh gu bùird InnoDB. Le bhith a’ dèanamh seo chan urrainn a-mhàin leasachadh a dhèanamh air comasan giullachd an stòr-dàta, ach cuideachd tèarainteachd agus ionracas an dàta àrdachadh.

Tha mi an dòchas gun cuidich an artaigil seo thu gus stòr-dàta MySQL a thuigsinn agus obrachadh nas fheàrr. Ma tha ceist no moladh sam bith agad, fàg teachdaireachd anns an raon bheachdan.

Tha sin uile mu dheidhinn tionndadh baidse MyISAM gu InnoDB. A-nis faodaidh tu feuchainn air!

🔧💡 Ag iarraidh fios mar a chleachdas tuphpMyAdminTionndaidh seòrsa clàr dàta InnoDB gu einnsean bunaiteach MyISAM? Bheir an artaigil seo dhut ceumannan mionaideach agus stiùireadh gus an tionndadh a dhèanamh furasta!

👇 Air a mholadh gun lean thu a’ leughadh👇

Cliog air a’ cheangal gus barrachd sgilean tionndaidh stòr-dàta ionnsachadh agus an riaghladh stòr-dàta agad a bharrachadh! 📚💻

发表 评论

Cha tèid do sheòladh puist-d fhoillseachadh. 必填 项 已 用 * Label

Rach gu mhullaich