我想要用Cmd可以像SecureCRT一样远程连接数据库,查询数据,因为用cmd的话可以用批处理,方便脚本调用
第一步:直接使用命令
mysql –h ip –u user –p,本地运行了该命令提示不是内部或外部命令,需要本地安装Mysql,大概是这个命令可以通过Mysql解释吧,然后才可以执行。
第二步:安装Mysql
安装Mysql后添加了环境变量,执行命令成功,查询数据库返回中文内容时cmd返回乱码。
第三步,尝试解决乱码
通过命令chcp 65001(改回gdk为chcp 936)修改cmd编码为utf8,网上说还需要改下字体为Lucida Console,看了下属性改成utf8后除了这个字体就是Consolas了,没有宋体,改过后数据返回中文仍然是乱码。CRT编码设置为utf8字体为新宋体,显示无乱码,难道是字体的问题么?
第四步:思考连接数据库机制
SercureCRT通过ssh协议连接,utf8编码新宋体,无乱码
Navicat不用特别设置也无乱码
Cmd特别设置了之后仍然有乱码
前两个连接数据库的方式是,先登录到linux远程机器,再操作数据库,本地无需装Mysql,相当于在linux环境下查询,cmd的连接数据库的方式是直接连到数据库需要本地安装Mysql进行解释(具体怎样连接还不知道),所以环境是本地即Windows,所以也可能是不同操作系统的编码问题导致乱码感觉解决起来比较困难,就先不研究了等有需求的时候再说。
第五步:今天学到的
后来又尝试了在cmd上通过telnet登陆linux,期望登陆后可以像CRT那种工作方式一样操作数据库应该就没乱码了吧?结果是连接失败了,因为linux没开放telnet端口不安全。这样我又有了新问题:协议到底是啥、存在的意义是什么,为什么应用层有那么协议、用一个不行么。查到的答案如下:协议相当于计算机之间的通信语言,有了统一的标准才可以互相通信,理解不同计算机之间的信息交流。而应用层的那么多协议呢,不同的协议有不同的用处,没必要完全放到一起造成一个协议非常庞大,按作用来区分比较好处理。还知道了连接linux的软件putty也比较好用,之前一直以为只有CRT呢,汗。
用了不少时间研究这些,但总算也学到了一些新知识,发现自己在有问题需要解决的时候之前总是不自信、焦虑,比如查一个问题就一直在搜百度,一个答案一个答案的看,反而很浪费时间,大概潜意识认为自己解决不了期望看到马上可以解决问题的答案吧。相信自己,慢慢来,都会解决哒。
最近定义了自己的三个人生信条。1.活在当下
2.跟随自己的心
3.爱自己
2015.4.16