### **UNIX里启动服务器程序**
在类UNIX系统中用来启动MySQL服务器程序的可执行文件有很多,大多在MySQL安装目录的bin目录下,我们一起来瞅瞅。
#### **mysqld**
mysqld这个可执行文件就代表着MySQL服务器程序,运行这个可执行文件就可以直接启动一个服务器进程。但这个命令不常用,我们继续往下看更牛逼的启动命令。
#### **mysqld\_safe**
mysqld\_safe是一个启动脚本,它会间接的调用mysqld,而且还顺便启动了另外一个监控进程,这个监控进程在服务器进程挂了的时候,可以帮助重启它。另外,使用mysqld\_safe启动服务器程序时,它会将服务器程序的出错信息和其他诊断信息重定向到某个文件中,产生出错日志,这样可以方便我们找出发生错误的原因。
#### **mysql.server**
mysql.server也是一个启动脚本,它会间接的调用mysqld\_safe,在调用mysql.server时在后边指定start参数就可以启动服务器程序了,就像这样:
mysql.server start
需要注意的是,这个 **mysql.server** 文件其实是一个链接文件,它的实际文件是 **../support-files/mysql.server**。我使用的macOS操作系统会帮我们在bin目录下自动创建一个指向实际文件的链接文件,如果你的操作系统没有帮你自动创建这个链接文件,那就自己创建一个呗~ 别告诉我你不会创建链接文件,上网搜搜呗~
另外,我们还可以使用mysql.server命令来关闭正在运行的服务器程序,只要把start参数换成stop就好了:
mysql.server stop
#### **mysqld\_multi**
其实我们一台计算机上也可以运行多个服务器实例,也就是运行多个MySQL服务器进程。mysql\_multi可执行文件可以对每一个服务器进程的启动或停止进行监控。这个命令的使用比较复杂,本书主要是为了讲清楚MySQL服务器和客户端运行的过程,不会对启动多个服务器程序进行过多唠叨。
### **Windows里启动服务器程序**
Windows里没有像类UNIX系统中那么多的启动脚本,但是也提供了手动启动和以服务的形式启动这两种方式,下边我们详细看。
#### **mysqld**
同样的,在MySQL安装目录下的bin目录下有一个mysqld可执行文件,在命令行里输入mysqld,或者直接双击运行它就算启动了MySQL服务器程序了。
#### **以服务的方式运行服务器程序**
首先看看啥是个Windows 服务?如果无论是谁正在使用这台计算机,我们都需要长时间的运行某个程序,而且需要在计算机启动的时候便启动它,一般我们都会把它注册为一个Windows 服务,操作系统会帮我们管理它。把某个程序注册为Windows服务的方式挺简单,如下:
"完整的可执行文件路径" --install \[-manual\] \[服务名\]
其中的\-manual可以省略,加上它的话表示在Windows系统启动的时候不自动启动该服务,否则会自动启动。服务名也可以省略,默认的服务名就是MySQL。比如我的Windows计算机上mysqld的完整路径是:
C:\\Program Files\\MySQL\\MySQL Server 5.7\\bin\\mysqld
所以如果我们想把它注册为服务的话可以在命令行里这么写:
"C:\\Program Files\\MySQL\\MySQL Server 5.7\\bin\\mysqld" --install
在把mysqld注册为Windows服务之后,我们就可以通过下边这个命令来启动MySQL服务器程序了:
net start MySQL
当然,如果你喜欢图形界面的话,你可以通过Windows的服务管理器通过用鼠标点点点的方式来启动和停止服务(作为一个程序猿,还是用黑框框吧~)。
关闭这个服务也非常简单,只要把上边的start换成stop就行了,就像这样:
net stop MySQL