Bagaimana untuk menamakan semula pangkalan data MySQL (tukar nama skema)?
P粉320361201
2023-08-23 13:09:22
<p>Bagaimana untuk menamakan semula pangkalan data MySQL dengan cepat (tukar nama skemanya)? </p>
<p>Biasanya saya hanya membuang pangkalan data dan mengimportnya semula dengan nama baharu. Untuk pangkalan data yang sangat besar ini bukan pilihan. Nampaknya <kod>MENAMAIKAN {DATABASE|SKEMA} db_name KEPADA new_db_name;</code> melakukan sesuatu yang buruk, hanya wujud dalam beberapa versi dan secara keseluruhannya adalah idea yang tidak baik. </p>
<p>Ini perlu digunakan dengan InnoDB, yang menyimpan kandungan yang sangat berbeza daripada MyISAM. </p>
Gunakan beberapa arahan mudah ini:
Atau untuk mengurangkan I/O, gunakan yang berikut seperti yang dicadangkan oleh @Pablo Marin-Garcia:
Untuk InnoDB, perkara berikut nampaknya berfungsi: Cipta pangkalan data kosong baharu, kemudian namakan semula setiap jadual kepada pangkalan data baharu:
Anda perlu melaraskan kebenaran selepas itu.
Untuk menulis skrip dalam shell, anda boleh menggunakan mana-mana kaedah berikut:
atau
Nota:
-p
和密码之间没有空格。如果您的数据库没有密码,请删除-u username -ppassword
bahagian.Jika jadual mempunyai pencetus, ia tidak boleh dialihkan ke pangkalan data lain menggunakan kaedah di atas (akan mengakibatkan
触发器错误架构
ralat). Jika ini berlaku, klon pangkalan data menggunakan kaedah tradisional dan kemudian padam pangkalan data lama:mysqldump old_db |
Jika anda telah menyimpan prosedur, anda boleh menyalinnya:mysqldump -R old_db |