Symptom
TAP test test_server_sess_status-t (group mysql90-g4) fails during fixture setup on MySQL 9.x:
File utils.cpp, line 1048, Error: Plugin 'mysql_native_password' is not loaded
TAP test 293/325 'test_server_sess_status-t' RC: 1
What the test actually tests (not auth!)
From the file header:
Test checking that ProxySQL 'server_status' value is properly updated for different operations. Test should also check that unsupported status like 'SERVER_SESSION_STATE_CHANGED' are never reported by ProxySQL.
This is about backend-response server_status byte tracking inside ProxySQL sessions — no authentication plugin logic is in scope.
Why it fails on 9.x
test_server_sess_status-t.cpp:115 calls create_extra_users(admin, mysql_server, ...) to create a handful of test users. That helper chains to create_mysql_user() in test/tap/tap/utils.cpp:1028, whose template hardcodes:
"CREATE USER IF NOT EXISTS %s@'%%' IDENTIFIED WITH 'mysql_native_password' BY \"%s\""
On MySQL 9.x the CREATE is rejected with ER_PLUGIN_IS_NOT_LOADED and the test exits before any server_status logic runs.
Proposed fix
Identical to #5627 / #5628. This is the same helper-level problem, not a standalone bug. The fix is to change create_mysql_user() in utils.cpp:1037–1038 to drop the hardcoded IDENTIFIED WITH 'mysql_native_password' clause (use server default) — or thread an optional plugin parameter through.
Non-auth-sensitive callers like this one benefit from whatever plugin the backend provides by default; they just need a working login.
Evidence from the test log
[proxysql-tester.py:853] msg: File utils.cpp, line 1048, Error: Plugin 'mysql_native_password' is not loaded
[proxysql-tester.py:882] TAP test 293/325 'test_server_sess_status-t' RC: 1
Related
Sibling MySQL 9.x issues (same helper bug surfacing in different tests):
Infrastructure: #5625 (dbdeployer-based MySQL 9.0/9.3/9.5 infras).
Symptom
TAP test
test_server_sess_status-t(groupmysql90-g4) fails during fixture setup on MySQL 9.x:What the test actually tests (not auth!)
From the file header:
This is about backend-response
server_statusbyte tracking inside ProxySQL sessions — no authentication plugin logic is in scope.Why it fails on 9.x
test_server_sess_status-t.cpp:115callscreate_extra_users(admin, mysql_server, ...)to create a handful of test users. That helper chains tocreate_mysql_user()intest/tap/tap/utils.cpp:1028, whose template hardcodes:"CREATE USER IF NOT EXISTS %s@'%%' IDENTIFIED WITH 'mysql_native_password' BY \"%s\""On MySQL 9.x the CREATE is rejected with
ER_PLUGIN_IS_NOT_LOADEDand the test exits before any server_status logic runs.Proposed fix
Identical to #5627 / #5628. This is the same helper-level problem, not a standalone bug. The fix is to change
create_mysql_user()inutils.cpp:1037–1038to drop the hardcodedIDENTIFIED WITH 'mysql_native_password'clause (use server default) — or thread an optional plugin parameter through.Non-auth-sensitive callers like this one benefit from whatever plugin the backend provides by default; they just need a working login.
Evidence from the test log
Related
Sibling MySQL 9.x issues (same helper bug surfacing in different tests):
Infrastructure: #5625 (dbdeployer-based MySQL 9.0/9.3/9.5 infras).