int
mysql_refresh(MYSQL *mysql,
unsigned int options)
从 MySQL 5.7.11 开始,mysql_refresh()
已弃用并在未来版本的 MySQL 中删除。相反,使用
mysql_query()
or
mysql_real_query()
来执行FLUSH
语句。
此函数刷新表或缓存,或重置复制服务器信息。连接的用户必须具有
RELOAD
权限。
options
参数是由以下值的任意组合组成的位掩码
。可以对多个值进行“或”运算,以通过一次调用执行多项操作。
-
REFRESH_GRANT
刷新授权表,如
FLUSH PRIVILEGES
. -
REFRESH_LOG
刷新日志,例如
FLUSH LOGS
. -
REFRESH_TABLES
刷新表缓存,如
FLUSH TABLES
. -
REFRESH_HOSTS
刷新主机缓存,如
FLUSH HOSTS
. -
REFRESH_STATUS
重置状态变量,如
FLUSH STATUS
. -
REFRESH_THREADS
刷新线程缓存。
-
REFRESH_SLAVE
在副本服务器上,重置源服务器信息并重新启动副本,如
RESET SLAVE
. -
REFRESH_MASTER
在源服务器上,删除二进制日志索引中列出的二进制日志文件并截断索引文件,如
RESET MASTER
.
-
命令的执行顺序不正确。
-
MySQL 服务器已经消失。
-
查询期间与服务器的连接丢失。
-
出现未知错误。