Python通过SSH连接MySQL

因为项目的特殊性,数据库只允许内网访问&服务器公网SSH访问,需要本地机器A通过SSH登录到目标机器B上,访问该B中的MySQL。搜寻了一圈,大部分的内容都是教如何在本地机器A,通过SSH连接到跳板机B,然后访问C机器的MySQL。所以记录一下我的实现方法。 需要用到的两个Python libs:pymysql和sshtunnel。 不通过SSH连接数据库 conn = pymysql.connect(host=localDbConfig.MYSQL_IP, port=localDbConfig.MYSQL_PORT, user=localDbConfig.MYSQL_USERNAME, password=localDbConfig.MYSQL_PASSWORD, database=localDbConfig.DB_NAME) 通过SSH连接数据库 首先需要建立一个SSH隧道,然后就和上面一样去连接即可 with SSHTunnelForwarder( (remoteDbConfig.IP, remoteDbConfig.PORT), ssh_username=remoteDbConfig.…

Windows中自定义Git Bash

由于在公司是Windows10的环境,所以没有一个很好的命令行工具。PowerShell我觉得不行。我尝试过安装了子Linux系统,但是使用体验仍然很割裂,不是很舒服。兜兜转转,我最后选择了Git Bash。一来可以随Git安装,二来可以免费使用。只是每次打开Git Bash我都很难认真的用下去,因为,真的是有点丑。既然如此那就简单的改造下。 打开Git Bash的Options->Looks,发现默认的几个Theme就挺好看的,无非是字体大小和背景色不怎么舒服。点击Color Scheme Designer进入配色编辑网站。这个网站比较有意思,一般情况其他的配色网站都会提供现成的配色,它这里给你提供了一个调色盘。我尝试获取我修改好的配色后,发现并没有触发**.minttyrc**文件,不知道是不是我哪里操作不对。 随后找了这个网站,这里面有很多比较熟悉的配色主题。可以拷贝对应的minttyrc文件到你的Git Bash根目录中的.minttyrc文件中。一般来说这个文件是在这里**C:\Users\xxx**。保存成功后,重新打开Git Bash,焕然一新。 另外在ZSH里面用的比较习惯的几个别名,都可以重新设置一下。打开vim ~/.bash_…

Git Reset 三种模式

日常的工作当中,由于需要和别人协同工作,代码方面当然就直接使用Git的方式来管理了。在日常使用当中有很多命令比较常用 git commit git push git stash git rebase -i HEAD~想要合并的Commit数量 git reset git rebase 我在这一篇文章已经做了一点讲解,应该使用起来都比较方便。值得一提的是,可以使用git rebase -abort来撤销一次rebase。 今天来说一下git reset。它的一句话概括 git-reset - Reset current HEAD to the specified state 意思就是可以让HEAD这个指针指向其他的地方。例如我们有一次commit不是不是很满意,需要回到上一次的Commit里面。那么这个时候就需要通过reset,把HEAD指针指向上一次的commit的点。 它有三种模式,soft,mixed,hard,具体的使用方法下面这张图,展示的很全面了。 这三个模式理解了,对于使用这个命令很有帮助。…

手动更新Kindle

前两天听说,Kindle更新了固件5.9.6,支持自定义的字体了。但是我在Kindle中的自动更新上面一直是灰色不可用的状态。查了下才知道,Kindle的推送是分批的,一般在一个周到一个月不等。本着,自己动手,丰衣足食的原则,我自己去下载了新的固件,并使用了几个免费的没有版权的字体。整个过程非常的简单。 下载对应你的Kindle版本的固件。根据你自己的版本来在这里下载。 将Kindle连接到电脑的USB中 打开Kindle的根目录,复制上面下载的固件进去 拔掉电源,在Kindle的设置-设备信息-高级里面,就会发现自动更新已经可以使用了 点击自动更新,等待设备自己重启更新固件 设备开机之后,根目录会多出一个文件夹font,将你想要自定义的字体(TFF格式为佳)放进去 打开一本书,在Aa设置当中,就会发现有自己的自定义字体可以选择了 以上,就完成了Kindle的固件更新。分享我用的两个字体。方正兰亭宋和索尼明体。想要更多的字体,也可以参考这里的字体列表。现在大部分的中国字体对于个人授权都是很便宜的,10元以内就可以搞定。所以推荐大家有能力的还是应该支持支持字体工作者。 如果对于字体的设计比较感兴趣的话,可以去听一下UX Coffee第47期节目-《我有一壶茶,还有横竖撇捺》,这一期专访了一下喜鹊造字的创始人叶天宇。很有意思。…

Git合并Commit

在日常的代码提交过程中,一定会有一些情况,提交了一些临时的Commit,这些Commit会影响整个我们回顾Git Log。所以需要在合适的时候,将一些临时的信息,或者某几条Commit合并起来。 首先假设我们有三条最新的Commit记录,ABC。我们输入 git rebase -i HEAD~3 HEAD~3表示从当前的提交往回三次以内的提交。这时候,会进入一个rebase-edit的界面。在这个界面中,可以选择你想要合并的Commit,通过Commands: p,pick 使用这条commit r,reword 使用这条commit,并编辑commit message e,edit 使用这条commit,并停止编辑 s,squash 使用这条commit,并将它加入到上一条commit中 f,fixup 同squash,但是放弃这一次的commit message x,exec 通过shell渐入命令 选择需要合并的commit之后,保存退出后,会自动跳出git的默认editor来处理这一次合并的commit…