MySQL 支持密码过期功能,如
密码管理中所述。如果客户端应用程序使用密码过期的帐户连接到 MySQL 用户,则客户端功能将受到限制,直到它重置帐户密码;有关详细信息,请参阅
服务器对过期密码的处理。
连接器/C++ 应用程序可以使用
第 10 章连接器/C++ 连接选项中描述
的OPT_CAN_HANDLE_EXPIRED_PASSWORDS
和
连接选项重置过期密码。启用
选项,并提供将密码设置为
选项值的语句:
preInit
OPT_CAN_HANDLE_EXPIRED_PASSWORDS
ALTER USER
preInit
opts["OPT_CAN_HANDLE_EXPIRED_PASSWORDS"]= true;
opts["preInit"]= sql::SQLString("ALTER USER 'user' IDENTIFIED BY 'new-pwd';");
该ALTER USER
语句将新密码设置为连接后的第一件事。使用这些选项连接后,应建立新密码,并且应该可以像往常一样使用会话。任何新会话都必须使用新密码,但它们不需要
OPT_CAN_HANDLE_EXPIRED_PASSWORDS
或
preInit
选项。