MySQL 服务安装及命令使用

一、实验介绍

本节实验后续至第17节实验为本课程的进阶篇,都基于 MySQL 官方参考手册制作,并根据实验楼环境进行测试调整改编。在此感谢 MySQL 的开发者,官方文档和中文文档的维护者。

参考内容列表:

  1. MySQL 官方文档,目前实验楼的实验适配 MySQL 5.5 版本。
  2. MySQL 参考手册中文版,译者说明:这是MySQL参考手册,原始参考手册为英文版,与英文版参考手册相比,本翻译版可能不是最新的。它涉及MySQL 5.1至5.1.2-alpha版本。

感谢 MySQL 的开发者,官方文档的维护者以及中文版本的翻译者。部分内容来自这些参考资料并由实验楼进行改编。

1.1 实验内容

本节实验主要对 MySQL 的服务的安装,启动及运行命令进行说明和实践操作。

1.2 实验知识点

  • MySQL 服务

1.3 实验环境

课程使用的实验环境为 Ubuntu Linux 14.04 64 位版本。实验中会用到程序:

  • Mysql 5.5.50
  • Xfce终端

二、实验步骤

2.1 MySQL介绍

  • MySQL是一个关系型数据库管理系统,由瑞典MySQLAB公司开发,目前属于Oracle公司。MySQL是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。
  • MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
  • MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。由于其社区版的性能卓越,搭配PHP和Apache可组成良好的开发环境。

2.2 安装MySQL

实验楼环境已经为大家安装好了 MySQL,无需大家再次安装,以下安装仅用于大家学习使用

2.2.1 Windows下安装

可以从官网下载MySQL安装软件包。在Windows中安装MySQL时,新用户可以使用MySQL安装帮助和MySQL Configuration Wizard(配置向导)。

在Windows中安装MySQL时,有3种MySQL 5.1安装软件包可供选择:

  • 基本安装:该安装软件包的文件名类似于mysql-essential-5.1.2-alpha-win32.msi,包含在Windows中安装MySQL所需要的最少的文件,包括配置向导。该安装软件包不包括可选组件,例如嵌入式服务器和基准套件。

  • 完全安装:该安装软件包的文件名类似于mysql-5.1.2-alpha-win32.zip,包含在Windows中安装MySQL所需要的全部文件,包括配置向导。该安装软件包包括可选组件,例如嵌入式服务器和基准套件。

  • 非自动安装文件:该安装软件包的文件名类似于mysql-noinstall-5.1.2-alpha-win32.zip,包含完整安装包中的全部文件,只是不包括配置向导。该安装软件包不包括自动安装器,必须手动安装和配置。

对于大多数用户,建议选择基本安装。

如果你下载的安装软件包在Zip文件中,你需要先解压文件。如果有setup.exe文件,双击启动安装过程。如果有.msi文件,双击启动安装过程。

2.2.2 Linux下安装

建议在Linux中使用RPMRedHat系列)或者DEBDebian/Ubuntu系列)包来安装MySQL,在大多数情况,你只需要通过命令行的方式apt-get安装MySQL-serverMySQL-client软件包来安装MySQL。在标准安装中不需要其它的包。如果你想要运行含更多功能的MySQL-Max服务器,还应当安装MySQL-Max RPM。必须先安装M MySQL-server RPM再安装该模块。

2.3 启动mysql服务器

实验楼配置的环境中,默认mysql是没有启动的,我们首先在命令行启动mysql服务器:

$ sudo service mysql start

  

2.4 连接与断开服务器

为了连接服务器,当调用mysql时,通常需要提供一个MySQL用户名并且很可能需要一个密码。在这里我们使用root用户连接服务器(密码环境设置为空,无需我们输入密码),输入以下命令连接服务器:

$ mysql -u root

  

如果有效,你应该看见一些介绍信息:

此处输入图片的描述

mysql>提示符告诉你mysql准备为你输入命令。

成功地连接后,可以在mysql>提示下输入QUIT (或\q)随时退出:

2.5 输入查询

这是一个简单的命令,要求服务器告诉MySQL的版本号和当前日期。在mysql>提示输入如下命令并按回车键:

mysql> SELECT VERSION(), CURRENT_DATE;

  

此处输入图片的描述

能够以大小写输入关键词(建议关键词大写,以后你会感谢我的~)。下列查询是等价的:

mysql> SELECT VERSION(), CURRENT_DATE;
mysql> select version(), current_date;
mysql> SeLeCt vErSiOn(), current_DATE;

  

这是另外一个查询,它说明你能将mysql用作一个简单的计算器:

mysql> SELECT SIN(PI()/4), (4+1)*5;

  

此处输入图片的描述

至此显示的命令是相当短的单行语句。你可以在一行上输入多条语句,只需要以一个分号间隔开各语句:

mysql> SELECT VERSION(); SELECT NOW();

不必全在一个行内给出一个命令,较长命令可以输入到多个行中。mysql通过寻找终止分号而不是输入行的结束来决定语句在哪儿结束。(换句话说,mysql接受自由格式的输入:它收集输入行但直到看见分号才执行。)

这里是一个简单的多行语句的例子:

mysql> SELECT
    -> USER()
    -> ,
    -> CURRENT_DATE;

  

在这个例子中,在输入多行查询的第一行后,要注意提示符如何从mysql>变为->,这正是mysql如何指出它没见到完整的语句并且正在等待剩余的部分。提示符是你的朋友,因为它提供有价值的反馈,如果使用该反馈,将总是知道mysql正在等待什么。

如果你决定不想执行正在输入过程中的一个命令,输入\c取消它:

mysql> SELECT
    -> USER()
    -> \c
mysql>

  

这里也要注意提示符,在你输入\c以后,它切换回到mysql>,提供反馈以表明mysql准备接受一个新命令。

下表显示出可以看见的各个提示符并简述它们所表示的mysql的状态:

此处输入图片的描述

当你打算在一个单行上发出一个命令时,通常会“偶然”出现多行语句,但是没有终止分号。在这种情况中,mysql等待进一步输入:

mysql> SELECT USER()
    ->

  

如果出现这种情况(你认为输完了语句,但是只有一个->提示符响应),很可能mysql正在等待分号。如果你没有注意到提示符的提示,在意识到你需要做什么之前,你可能会呆坐一会儿。输入一个分号完成语句,mysql将执行:

mysql> SELECT USER()
    -> ;

  

在字符串收集期间将出现 '> 和"> 提示符(提示MySQL正等待字符串的结束)。在MySQL中,可以写由'"字符括起来的字符串 (例如,'hello'"goodbye"),并且mysql允许输入跨越多行的字符串。当看到一个 '>或 "> 提示符时,这意味着已经输入了包含以'"括号字符开始的字符串的一行,但是还没有输入终止字符串的匹配引号。这显示你粗心地省掉了一个引号字符。例如:

mysql> SELECT * FROM my_table WHERE name = 'Smith AND age < 30;
    '>

  

如果你输入SELECT语句,然后按Enter(回车)键并等待结果,什么都没有出现。不要惊讶,“为什么该查询这么长呢?”,注意">提示符提供的线索。它告诉你mysql期望见到一个未终止字符串的余下部分。(你看见语句中的错误吗?字符串Smith丢掉了第二个引号。)

走到这一步,你该做什么?最简单的是取消命令。然而,在这种情况下,你不能只是输入\c,因为mysql作为它正在收集的字符串的一部分来解释它!相反,应输入关闭的引号字符(这样mysql知道你完成了字符串),然后输入\c

mysql> SELECT * FROM my_table WHERE name = 'Smith AND age < 30; '> '\c mysql> 

提示符回到mysql>,显示mysql准备好接受一个新命令了。

知道'>">提示符的含义很重要,因为如果你错误地输入一个未终止的字符串,任何后面输入的行将要被mysql忽略——包括包含QUIT的行!这可能令人相当困惑,特别是如果取消当前命令前还不知道你需要提供终止引号。

猜你喜欢

转载自www.cnblogs.com/Reindeer/p/9016308.html