[译] 来自 Percona Support Team 的新年祝福!
原文地址: https://www.percona.com/blog/percona-support-team-new-year-greetings/
原文作者: Sveta Smirnova
译文
在Percona支持团队,我们每周花几个小时做这样的实验: 短期的集体项目,与工作任务没有直接关系。
我们最近一次的实验是关于即将为冬季假期做准备,或者说我们将准备圣诞树并装饰它。 为此,我们使用了自己最喜欢的工具: MySQL和 ASCII图像 。因此,我们创建了一个函数,并在终端中打印 [圣诞树](https://en.wikipedia .
org/wiki/New_Year_tree) ,并用我们想要的符号装饰它。
例如,要创建一个用星星装饰的三层树,函数调用方法如下:
1 | $ mysql ny_tree -e "select ny_tree(3, '*')" --vertical --skip-column-names -s |
因为MySQL支持Unicode,您可以使用任何符号,且使符号和空格的宽度一样。例如,您可以用蜡烛装饰你的圣诞树,而不会有点燃你家的风险:
1 | $ mysql ny_tree -e "select ny_tree(4, '🕯')" --vertical --skip-column-names -s |
您可以将终端的颜色更改为看起来更喜庆的颜色,将终端的大小与树中的层数对齐,并在循环中调用函数以获得动态图像。
例如,本文开头的动图是由以下这个命令实现的:
1 | $ for i in `seq 1 1 1000`; do mysql ny_tree -e "select '\\nHappy New 2022 Year\!', ny_tree(12, '⚝')" --vertical --skip-column-names -s; sleep 1; done |
我只需调整终端的尺寸并符合树的层数。
ny_tree
和两个辅助函数的代码位于 https://github.com/Percona-Lab/ny-tree
我们,Percona支持团队,祝您新年快乐,在新的一年里数据库平稳运行!
译者注
在导入函数时,如果遇到报错:
1 | ERROR 1418 (HY000): This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable) |
则只需调整这个参数即可:set global log_bin_trust_function_creators = true;
本地实测好用!so cool!
1 | for i in `seq 1 1 1000`; do mysql -uroot sbtest -e "select '\\n新春快乐,虎年大吉!卧虎藏喵,全力以富!\!', ny_tree(12, '*')" --vertical --skip-column-names -s; sleep 1; done |
- Title: [译] 来自 Percona Support Team 的新年祝福!
- Author: 严少安
- Created at: 2022-01-29 17:01:23
- Updated at: 2022-01-29 17:01:23
- Link: https://shawnyan.cn/2022/mysql/fanyi-percona-support-team-new-year-greetings/
- License: This work is licensed under CC BY-NC-SA 4.0.
Comments