不论我们通过下载源代码自行编译安装的方式还是直接使用官方提供的安装包进行安装之后,MySQL的服务器程序和客户端程序都会被安装到我们的机器上。不论使用上述两者的哪种安装方式,一定一定一定(重要的话说三遍)要记住你把MySQL安装到哪了,换句话说,一定要记住MySQL的安装目录。
小贴士: `MySQL`的大部分安装包都包含了服务器程序和客户端程序,不过在Linux下使用RPM包时会有单独的服务器RPM包和客户端RPM包,需要分别安装。
另外,MySQL可以运行在各种各样的操作系统上,我们后边会讨论在类UNIX操作系统和Windows操作系统上使用的一些差别。为了方便大家理解,我在macOS 操作系统(苹果电脑使用的操作系统)和Windows操作系统上都安装了MySQL,它们的安装目录分别是:
·macOS操作系统上的安装目录:
/usr/local/mysql/
·Windows操作系统上的安装目录:
C:\\Program Files\\MySQL\\MySQL Server 5.7
下边我会以这两个安装目录为例来进一步扯出更多的概念,不过一定要注意,这两个安装目录是我的运行不同操作系统的机器上的安装目录,一定要记着把下边示例中用到安装目录的地方替换为你自己机器上的安装目录。
小贴士: 类UNIX操作系统非常多,比如FreeBSD、Linux、macOS、Solaris等都属于UNIX操作系统的范畴,我们这里使用macOS操作系统代表类UNIX操作系统来运行MySQL。
### **bin目录下的可执行文件**
在MySQL的安装目录下有一个特别特别重要的bin目录,这个目录下存放着许多可执行文件,以macOS系统为例,这个bin目录的绝对路径就是(在我的机器上):
/usr/local/mysql/bin
我们列出一些在macOS中这个bin目录下的一部分可执行文件来看一下(文件太多,全列出来会刷屏的):
.
├── mysql
├── mysql.server -> ../support-files/mysql.server
├── mysqladmin
├── mysqlbinlog
├── mysqlcheck
├── mysqld
├── mysqld\_multi
├── mysqld\_safe
├── mysqldump
├── mysqlimport
├── mysqlpump
... (省略其他文件)
0 directories, 40 files
Windows中的可执行文件与macOS中的类似,不过都是以.exe为扩展名的。这些可执行文件都是与服务器程序和客户端程序相关的,后边我们会详细唠叨一些比较重要的可执行文件,现在先看看执行这些文件的方式。
对于有可视化界面的操作系统来说,我们拿着鼠标点点点就可以执行某个可执行文件,不过现在我们更关注在命令行环境下如何执行这些可执行文件,命令行通俗的说就是那些黑框框,这里的指的是类UNIX系统中的Shell或者Windows系统中的cmd.exe,如果你现在还不知道怎么启动这些命令行工具,网上搜搜吧~ 下边我们以macOS系统为例来看看如何启动这些可执行文件(Windows中的操作是类似的,依葫芦画瓢就好了)
·
使用可执行文件的相对/绝对路径
·
假设我们现在所处的工作目录是MySQL的安装目录,也就是/usr/local/mysql,我们想启动bin目录下的mysqld这个可执行文件,可以使用相对路径来启动:
·
./bin/mysqld
·
或者直接输入mysqld的绝对路径也可以:
·
/usr/local/mysql/bin/mysqld
·
将该bin目录的路径加入到环境变量PATH中
·
如果我们觉得每次执行一个文件都要输入一串长长的路径名贼麻烦的话,可以把该bin目录所在的路径添加到环境变量PATH中。环境变量PATH是一系列路径的集合,各个路径之间使用冒号:隔离开,比方说我的机器上的环境变量PATH的值就是:
·
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
·
我的系统中这个环境变量PATH的值表明:当我在输入一个命令时,系统便会在/usr/local/bin、/usr/bin:、/bin:、/usr/sbin、/sbin这些目录下依次寻找是否存在我们输入的那个命令,如果寻找成功,则执行该目录下对应的可执行文件。所以我们现在可以修改一下这个环境变量PATH,把MySQL安装目录下的bin目录的路径也加入到PATH中,在我的机器上修改后的环境变量PATH的值为:
·
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/mysql/bin
·
这样现在不论我们所处的工作目录是啥,我们都可以直接输入可执行文件的名字就可以启动它,比如这样:
·
mysqld
·
方便多了哈~
·
小贴士: 关于啥是环境变量以及如何在当前系统中添加或修改系统变量不是我们唠叨的范围,大家找本相关的书或者上网查一查哈~