Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menyelesaikan 'Pemalam Pengesahan 'caching_sha2_password' tidak disokong' dalam MySQL Python Connector?

Bagaimana untuk Menyelesaikan 'Pemalam Pengesahan 'caching_sha2_password' tidak disokong' dalam MySQL Python Connector?

DDD
DDDasal
2024-12-21 00:10:09327semak imbas

How to Resolve

"Pemalam pengesahan 'caching_sha2_password' tidak disokong: Diselesaikan Melalui Spesifikasi Auth_plugin

Apabila cuba mewujudkan sambungan ke pelayan MySQL menggunakan Penyambung Python, anda mungkin menghadapi ralat "Pemalam pengesahan 'caching_sha2_password' bukan disokong." Ralat ini timbul apabila pemalam pengesahan yang ditakrifkan untuk pengguna yang cuba menyambung adalah berbeza daripada pemalam yang disokong untuk pelayan MySQL.

Dalam contoh yang diberikan, ralat berlaku kerana pengguna lcherukuri dikonfigurasikan dengan pemalam pengesahan mysql_native_password, manakala pelayan MySQL menjangkakan pemalam pengesahan yang disokong.

Untuk menyelesaikan isu ini, ubah suai Python skrip penyambung dengan menyatakan secara eksplisit pemalam pengesahan yang disokong menggunakan argumen auth_plugin Dalam kes ini, auth_plugin hendaklah ditetapkan kepada 'mysql_native_password' untuk memadankan pemalam pengesahan pengguna.

Inilah kod yang diperbetulkan:

import mysql.connector

cnx = mysql.connector.connect(user='lcherukuri', password='password',
                              host='127.0.0.1',
                              database='test',
                              auth_plugin='mysql_native_password')
cnx.close()

Dengan menyatakan auth_plugin yang betul, anda boleh pastikan sambungan ke pelayan MySQL diwujudkan menggunakan pemalam pengesahan yang disokong, menyelesaikan ralat.

Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan 'Pemalam Pengesahan 'caching_sha2_password' tidak disokong' dalam MySQL Python Connector?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn