MySql显示所有用户定义的变量

时间:2015-03-25 15:30:37

标签: mysql sql

MySQL是否有显示所有用户定义变量的命令?例如,我设置了两个变量,如下所示: set @a=2,@b=3; 一段时间后,我忘记了变量名称,我希望显示所有已定义的变量。

2 个答案:

答案 0 :(得分:5)

从MySQL 5.7开始,性能模式公开了用户变量。

见表performance_schema.user_variables_by_thread

http://dev.mysql.com/doc/refman/5.7/en/user-variables-by-thread-table.html

答案 1 :(得分:0)

如果您具有MariaDB(相当于MySQL的二进制“直接插入”),则可以使用MariaDB本身提供的插件。

MariaDB 10.2(等效于MySQL 5.7)及更高版本具有一个创建"USER_VARIABLES" table的插件。
这是install the plugin的操作方法。

以下是其用法示例:

SELECT * FROM information_schema.USER_VARIABLES ORDER BY VARIABLE_NAME;

+---------------+----------------+---------------+--------------------+
| VARIABLE_NAME | VARIABLE_VALUE | VARIABLE_TYPE | CHARACTER_SET_NAME |
+---------------+----------------+---------------+--------------------+
| var           | 0              | INT           | utf8               |
| var2          | abc            | VARCHAR       | utf8               |
+---------------+----------------+---------------+--------------------+

MariaDB在版本MariaDB 10.2.6之后默认安装插件。
上面的链接显示了如何为以前的版本安装它。

仔细检查您正在运行的“ MySQL”的版本,因为有时人们会将MariaDB称为MySQL,因为它被用作MySQL的“二进制替换替代品”。因此,您可能正在运行MariaDB数据库。

我不知道MySQL提供了类似的东西。

如何查看您正在运行的version of mysql (提示以粗体显示)
在命令行中:
     $ mysql -v

从mysql命令客户端:
     mysql> SHOW VARIABLES LIKE "%version%";

当您首次登录mysql命令客户端时,也会显示该信息,您可以通过以下方式进行操作:
     $ mysql -u your_mysql_username --password=your_mysql_password