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