MySQL 8.4.2
Source Code Documentation
Comparison to MySQL C/S Protocol
Feature MySQL C/S protocol X Protocol
plaintext auth ✓ via SASL
extentisible auth ✓ (5.6) ✓ via SASL
TLS extension
max message size >= 1Gb
compression extension ✓ zlib, lz4, zstd
resettable sessions COM_RESET_CONNECTION Mysqlx::Session::Reset
multiple, sequential sessions COM_CHANGE_USER Mysqlx::Session::AuthenticateStart
out-of-band notifications Mysqlx::Notice::Frame
extensible messages via protobuf
extensible protocol via capability flags Mysqlx::Connection::CapabilitiesGet
prepared SQL
prepared CRUD
multi-statement ✓ (5.0)
multi-resultset ✓ (5.0) Mysqlx::Resultset::FetchDoneMoreResultsets
OUT-paramset ✓ (5.5) Mysqlx::Resultset::FetchDoneMoreOutParams
Mapping of MySQL C/S COM_ to Mysqlx Messages
Command X Protocol
COM_QUIT Mysqlx::Connection::Close
COM_INIT_DB
COM_QUERY Mysqlx::Sql::StmtExecute namespace="sql"
COM_FIELD_LIST ✕, deprecated
COM_CREATE_DB ✕, deprecated
COM_DROP_DB ✕, deprecated
COM_REFRESH ✕, deprecated
COM_SHUTDOWN ✕, use SQL SHUTDOWN
COM_STATISTICS ✕, deprecated
COM_PROCESS_INFO ✕, deprecated
COM_PROCESS_KILL ✕, deprecated
COM_DEBUG ✕, deprecated
COM_PING Mysqlx::Sql::StmtExecute namespace="mysqlx"
COM_CHANGE_USER Mysqlx::Session::AuthenticateStart
COM_RESET_CONNECTION Mysqlx::Session::Reset
COM_STMT_PREPARE Mysqlx::Prepare::Prepare
COM_STMT_SEND_LONG_DATA
COM_STMT_EXECUTE Mysqlx::Prepare::Execute
COM_STMT_CLOSE Mysqlx::Prepare::Deallocate
COM_STMT_RESET
COM_SET_OPTION
COM_STMT_FETCH Mysqlx::Cursor::Fetch