摘要
本文会围绕mysql会话来详细地介绍会话的获取、使用和终止的整个过程,主要包括:
- 登入mysql会话:通过mysql调用命令和身份凭证获取会话资格。
- 使用mysql会话:比如编写SQL语句、执行SQL语句和取消已执行的SQL语句。
- 登出mysql会话
此外,在文章的最后,还提供了快速调用mysql的几种方式,读者可根据自己的需要有选择地配置。
登入mysql会话
为了接入mysqld获取mysql会话,我们至少需要提供用户名和密码作为登录凭证,以便身份的合法性被MySQL服务器正确识别。
1. mysql会话调用命令介绍
-
使用频率最高的调用命令:
mysql -h 主机标识 -p -u 用户名
下面普及一下mysql的调用命令:
-
mysql的调用命令:
mysql [选项]
-
常用选项:
-h
: 服务器ip或域名。MySQL采用的是“C/S”架构,如果MySQL服务器运行在另一台计算机上,就需要在通信前提供连接对象。-u
和-p
:依次代表用户名、密码。因为出于数据安全考量,只有具备一定条件的人群,才具有连接服务器的一个身份凭证。
-
-
相关说明
-
选项有短选项、长选项这两种表现形式,在命令行中任选其一填充。
-h 主机标识
对应–host=主机标识,-u 用户名
对应–user=用户名-p
对应–password=用户密码
-
关于选项值是否需要紧接在关键字之后。
-h
和-u
:主机标识和用户名,可以紧接在关键字之后,或者关键字+空格之后。-p
:密码必须紧接在关键字之后,或者另外输入。这可能是因为密码可包含空格,如果不贴紧,就会出现很难区分哪个空格为密码。示例如-p123456,而不能是-p 123456或者-p 123456。
-
当我们在MySQL服务器上连接mysql会话时,加不加-h是没有差别的,因为缺省值是127.0.0.1。
-
2. 获取mysql会话
获取mysql会话,实际上是通过口令(请求方依据参数提供身份信息)实现mysql连接到mysqld,并维持一个对mysql而言是可操作的、对mysqld而言是可监听的沟通环境。
- 操作步骤如下
- 输入调用命令,并回车执行(注意:将“主机名”和“用户名”对应地替换为自己的登录信息哦),会收到
Enter password:
提示符 - 输入密码,若密码无误,会获取到
mysql>
提示符
- 输入调用命令,并回车执行(注意:将“主机名”和“用户名”对应地替换为自己的登录信息哦),会收到
使用mysql会话
让mysqld响应请求,首先我们要正确地使用sql语言表达请求,其次是发送该请求。
一个完整的请求必须对应一个完整的语句。这意味着,我们需要先学会如何编写完整的的SQL语句。
1. 表达请求
表达请求,要求我们编写完整的SQL语句。
编写完整的SQL语句需要注意:在哪个位置使用内容分隔符,在哪个位置使用语句终止符。
它们的功能类似于我们使用逗号(,)表示话尚未说完还待补充,使用句号(。)都表示话已说完。
-
编写完整的SQL语句
-
使用
,
分隔不同的内容
语法上,当枚举的内容多于一个时,我们必须在语句中添加分号,来界定不同的内容、区分不同的列。 -
使用
;
或者\g
或者\G
结束语句
语法上,我们必须在语句结尾处添加以上的任意一个符号,来表达请求的有效范围。这三者在显示行数据方面略有不同:;
或者\g
以表格展示;\G
以键值对展示,优点是解决了行内容过多时自动换行引发的可读性差问题,缺点是行与行之间的数据情况难以比较。
-
-
清除输入的SQL语句
- 使用
\c
废弃已输入的语句
语法上,在语句结尾处添加\c。\c意为cancel,它在Backspace键难以使用的时候作用显著,尤其是当输错的内容有很多行时。
- 使用
-
查看提示
上述讲述的内容均可进入mysql会话时能看到的提示,在第一行和最后一行。
2. 发送请求
发送请求,其实就是执行完整的SQL语句。
-
执行SQL语句
-
在会话中执行SQL
当SQL语句被完整编写之后,我们就可以按下Enter
键执行该语句。 -
在shell中执行SQL语句(扩展)
SQL语句除了在mysql会话中执行,也可以在shell中执行——通过mysql调用命令 + 脚本文件方式。从“懒人式连接”中,我们了解到命令的选项及参数、shell命令都可以配置为文件进行读取或调用,SQL语句同样也可以事先存储为到一个文件,之后再利用shell的重定向命令将文件内容提供给mysql命令执行。
-
-
取消执行SQL语句
借助shell的功能Ctrl
+C
键进行强制中断。
登出mysql会话
使用完MySQL之后,我们使用exit
或者 quit
或者 \q
登出mysql会话,中断与mysqld的连接。
懒人式连接
我们观察到,每次调用mysql登录命令,使用的都是相同的选项和参数。为此,我们考虑将它们存储到一个文件里面,之后再换个壳儿调用。具体如下:
- 方式一,将选项和参数存储到一个配置文件,在调用命令时自动读取。
- 方式二,将完整的命令另存为名称简洁的shell脚本,然后通过路径执行这个文件。
- 方式三,给调用命令简短命名的快捷方式。
方式一:在主目录创建一个配置文件,保存长选项及对应的参数。
-
实现步骤
-
首先,使用vi工具在主目录中创建一个配置文件。
cd ~ vi ~/.my.cnf
-
其次,在打开的文件编辑界面中按下
i
键开启编辑模式。 -
接着,输入对应的长选项及其参数。
[client] host=主机名 user=用户名 password=密码
-
然后,按下
Esc
,并输入:wq
退出编辑模式,并保存已输入内容。 -
最后,配置文件权限为仅自己可读写。
chmod 600 ~/.my.cnf
说明:
配置文件中的[client]作为一个选项组的开始标记,表示其后面所跟内容适用于客户端程序。
配置文件中的长选项及其参数,需替换为读者自己的主机名、用户名及密码。
-
-
验证步骤
- 重新打开命令行界面,输入
mysql
并回车。 - 如果配置的选项及其参数无误,就能获取到
mysql>
提示符。说明成功接入mysql会话,设置有效!
- 重新打开命令行界面,输入
方式二:创建一个可执行shell脚本,保存调用命令。
-
实现步骤
- 首先,使用vi工具创建一个shell脚本。这里将文件名命名为要打开的数据库的名称。
vi my.sh
- 其次,在打开的文件编辑界面中按下
i
键开启编辑模式。 - 接着,输入完整的调用命令
#! /bin/bash exec mysql -h 主机标识 -p密码 -u 用户名 数据库名
- 然后,按下
Esc
,并输入:wq
退出编辑模式,并保存已输入内容。 - 最后,配置文件权限为为可执行。
chmod +x ~/my.sh
- 首先,使用vi工具创建一个shell脚本。这里将文件名命名为要打开的数据库的名称。
-
验证步骤
- 重新打开命令行界面,输入
~/my.sh
并回车。 - 如果命令的选项及其参数无误,就能获取到
mysql>
提示符。说明成功接入mysql会话,设置有效!
- 重新打开命令行界面,输入
方式三:别名持久化设置
此处以bash为例。若读者使用其他shell,需将文件替换为该shell程序的启动文件即可。
-
实现步骤
- 输入以下命令
echo alias mysql='mysql -h主机标识 -p -u用户名' >> ~/.bashrc source ~/.bashrc
- 输入以下命令
-
验证步骤
- 重新打开命令行界面,输入
~/my.sh
并回车。 - 如果命令的选项及其参数无误,就能获取到
mysql>
提示符。说明成功接入mysql会话,设置有效!
- 重新打开命令行界面,输入