你可能不知道的MySQL“隐藏”参数

话说当年学Oracle数据库时知道O中有些隐藏的参数,感觉掌握这些隐藏参数后自己的逼格倏地上了个档次。不过随着自己技能不断的get,Inside君发现那只不过是无所大用的“绣花剑”,遇到独孤九剑也就漏洞百出。不少从O转到MySQL数据库的DBA会问Inside君,MySQL中有没有这样的隐藏参数,通常我的回答都是:“没有”,因为我不想让DBA们专注于这些“无用”的招数。这就好像风清扬使越女剑当可无敌于天下,岳灵珊得到思过崖五岳前辈们的绝妙剑法,在嵩山封禅台上秀了回剑法,最终却落得被二、三流水准的木高峰给擒获。

冒着被雷劈的风险,多年后Inside君打算秀一下MySQL中“无用的隐藏参数”。在Inside君的定义中,MySQL隐藏参数是指在命令SHOW VARIABLES亦或在表GLOBAL_VARIABLES中查询不到的参数,但是又是可以写在配置文件中的参数,最重要的是这些参数大多没什么用处。Inside君抛砖引玉,给一个隐藏参数show-slave-auth-info,该参数可以用来查看连接到MASTER服务器的SLAVE用户名密码。比如:

mysql> SHOW SLAVE HOSTS\G
*************************** 1. row ***************************
 Server_id: 330
      Host: 10.166.224.34
      User: root
  Password: 123
      Port: 3309
 Master_id: 130
Slave_UUID: e59e03ac-cd6b-11e5-83b9-fa163e6b8e01
*************************** 2. row ***************************
 Server_id: 230
      Host: 10.166.224.33
      User: root
  Password: 123
      Port: 3309
 Master_id: 130
Slave_UUID: 63f09ccc-cd6a-11e5-8749-fa163e8c278a
2 rows in set (0.00 sec)

命令SHOW SLAVE HOSTS是在MySQL 5.0版本中引入,用来查看连接到当前服务器的从机信息(从机需要显式的配置上参数report-*)。默认配置下不会显示列User和Password,但若在MySQL配置文件中显式的配置了show-slave-auth-info = 1,那么就会得到如上所示的结果。简单说来,这个参数可以让MASTER知道得知登陆到SLAVE服务器的用户名和密码,至于是否有用,就看小伙伴们能否发挥自己的想象力了。不过站在内核开发人员的角度,Inside君倒是觉得此处可以挖掘下。

回到最早的一个观点,Inside君觉得隐藏参数大多没什么用,MySQL数据库和Oracle数据库都是如此,没有必要过于的纠结于这些技能的提升。Inside君所主办的2016年MySQL技术嘉年华会将在4月24日开始,邀请了目前还在一线的MySQL技术专家,打造最有态度,最有干货的MySQL技术分享。Inside君坚信,只有这样高质量的数据库大会才能对数据库整体的水平会有提示。更重要的是,门票业界良心价,3月1日前仅299元,还等什么呢?赶快购票吧。

发表评论

坐等沙发
相关文章
WTF?MySQL DBA技术难度低为什么工资比Oracle高?
WTF?MySQL DBA技术难度低为什么工资比O…
MySQL 5.7新特性之在线收缩undo表空间
MySQL 5.7新特性之在线收缩undo表空间
这一刻,MySQL 8终于追赶上了Oracle 8 · 降序索引
这一刻,MySQL 8终于追赶上了Oracle 8 ·…
原谅我这么幼稚,所以才会喜欢你这麼久 #MySQL#
原谅我这么幼稚,所以才会喜欢你这麼久 …
为什么我再不看好MariaDB
为什么我再不看好MariaDB
MariaDB插上大数据的翅膀?——可能只是一厢情愿
MariaDB插上大数据的翅膀?——可能只是一…
Oracle MySQL ACE. Author of Inside MySQL and MySQL Core Series. Great at MySQL performance tuning、troubleshooting、systems availability and scalability、capacity planning, etc.

一触即发,2017年,数据库世界的诸神之战