MySQL 8.0.46
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