从零开始学MySQL

Posted rajxie

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从零开始学MySQL相关的知识,希望对你有一定的参考价值。

鉴于上节篇幅以安装为主,因此对于调用mysql所需要使用的“命令”只是略微提及。随之而来就会带给读者诸多不解了,因为你会思考,这串长长的字符到底有什么特殊的含义呢?聪明的你可能早就抱着好奇心去“摆渡”一下了。而答案不过是在连接mysql服务器时,应当使用的一种方式——即,身份验证而已。另外一个情境是,先前笔者每每登录总是需要键入这么多个字符,久而久之就难免抱怨,“哎呀,好烦,每次登录都要设定这些连接参数,诸如‘mysql -p -uroot -h......(此处省略更多参数)’,既然无法跳过这一步,那么有没有什么好的方法可以减少文本的输入量呢?”。相信您肯定知道提出这一出问题意味着什么。本节,我们就致力解决这两个问题吧。

本文的规则:黑色字体为正常步骤,红色字体为希望能引起读者的注意,笔者用意大致是出于“警示”或“引导”这两种。

本文阅读建议:建议分节(一)详读;至于分节(二),读者应先浏览一下大致的模块,然后根据自己的需要选择相应方法,详细看一遍后进行尝试。

本文概览:

(一)MySQL的连接参数

(二)在MySQL的连接参数上“偷懒”

若本文出现错误或有所遗漏等问题,还请读者指出,鄙人不胜感激。

 

 

(一)MySQL的连接参数


这里相当于是对上一节的补充,如果想将知识体系梳理完整,还请您务必这么想。因为知识就是从已知中发现未知,从而进行扩展的,对吧?

(1)调用mysql所使用的命令提示符mysql [option]

看到option加了中括号,有的小伙伴就十分清晰了——哦,这个option是“可选”的。

 

(2)没错,它确实是可选的,但下面这种命令形式比较常见

mysql -h 主机名 -p -u 用户名

ps: 登录的时候,记得将主机名和用户名换成你自己的哟。键入上述命令之后,你会收到“Enter password: ”的提示,密码输入无误便可继续收到“mysql> ”,这就意味这我们连接上服务器了。往后就可以基于现有的表进行任意的查询了。这里还指出出,您可以将-h换为--host,将-p换位--password,将--u换为--user

 

为什么说它常见呢?这是因为执行mysql时,提供所有选项往往是因为面临更多的需求,但通常至少需要指定用户名和密码。这是下限。

① 关于-h:MySQL采用的是“C/S”体系结构,因此我们在进行查询之前,需要先通过客户端去连接服务器。自然而然地,通过-h来指定服务器名称就不难理解了吧。有鉴于此,当我们在本地的服务器上运行时,加不加-h便无所谓了,因为默认是127.0.0.1或者说是localhost嘛。

② 关于-p和-u:而用户和密码只是您进入服务器数据库的一个身份验证而已(不是随随便便都可以让所有人进入数据库的,如果陌生人都可以随意进入你家,那不就乱套了么?),因此出于安全考虑,你说-p和-u是不是很有必要呢?

不建议的做法:参照-h和-u,同样可以将密码直接输入,但注意密码应该“紧跟在-p后面”,如-p123456,而不是-p 123456。值得注意的是,-h和-u后面的内容可以紧跟也可以先空一格后再输入。(有些小伙伴就纠结为什么?那你这样想就可以了:别人很容易就能获悉服务器名和你的账户名,但你的密码也是公开的么?它们的性质肯定不一样,因材施教呗。)

 

(3)连接到服务器之后,想终止会话怎么办?没关系,掌握下面命令中的其中一个,你就可以随时退出咯。

1 quit
2 exit
3 \q

 

 

(二)在MySQL的连接参数上“偷懒”


接下来,我们来探讨一下,如何“偷懒”。

(1)将这些连接参数事先存储在主目录的一个选项文件里。

 

I. 如何实现:

① 首先,使用快捷键Ctrl + Alt + T打开命令行界面,输入

vi ~/.my.cnf

 

② 其次,按下 i 键开启插入模式,并输入

[client]
host=主机名
user=用户名
password=密码

ps:请将上述的主机名、用户名、密码替换为你自己的。

额外说明:选项文件中的[client]是一个选项组。它作为选项组的开始标记,表示该组名后面的所有选项都适用于所有的客户端程序。

其他选项参数可根据需要增减。比如是要连接到本地运行的mysqld服务器,则无需加入host=主机名这个参数。你get到了吗?

 

③ 接着,按下:,并输入wq,保存文件并离开。

 

④ 最后,将文件权限设定为只有自己可读写。

chmod 600 ~/.my.cnf

 

II. 如何测试:

在命令行界面直接键入mysql,如果可直接进入会话界面了,说明成功!

 

 

(2)利用shell的history命令功能,输入重复命令。

 

这里需要用到的命令是:感叹号字符( ! ),!my或!#均可以。

如果使用是!#,#需要您使用数字来进行替换。但您可能需要先通过history可以查询到是第几个命令。

② 如果使用!my,要确保以“my”这两个字符足够使得shell找到以my开头的命令,我们的目标是最近调用mysql这行命令。

③ 若为上一个命令,可直接键入!! 。

 

 

(3)利用shell别名或脚本定义一个mysql命令行快捷方式。

 

I. 别名:

这里需要用到的命令是:alias ,如alias=‘mysql -h主机名 -p -u用户名‘。请注意alias为内建命令,因此只在当前的shell进程生效。要使其永久生效,还需将它配置到shell程序的启动文件里。若读者账户的默认sh为bash,那么就是.bashrc或.bash_profile文件了。这里不做过多描述,感兴趣的小伙伴可以“摆渡”一下。

 

II. 脚本:

① 首先,先创建一个以.sh为后缀的文件。这里将文件名命名为要打开的数据库的名称。

vi 数据库名.sh

② 其次,按下 i 键,并输入如下内容(注意将主机名、用户名、数据库名换成你自己的):

#! /bin/bash
exec mysql -h 主机名 -p -u 用户名 数据库名

③ 将文件设置为可执行文件。

chmod +x 数据库名.sh

这样,在命令行中输入该文件名称(注意:需要切换到文件所在目录),即可启动mysql并连接到相关的数据库了。大功告成!

 

以上是关于从零开始学MySQL的主要内容,如果未能解决你的问题,请参考以下文章

从零开始学MySQL

从零开始学Go之容器:切片

从零基础开始学mysql(每天一个小妙招,关注博主学技术)

从零开始配置vim(27)——代码片段

从零开始配置vim(27)——代码片段

从零开始配置vim(27)——代码片段