mysqld初探

一.简介

deamon是守护神的意思,表示守护进程。mysqld就是mysql的服务器端,就是基于socket的一个服务器端程序,它始终监听3306端口(默认端口)。mysql是客户端程序。
安装mysql server时,可以选择是否将其作为服务进行安装。如果只是将其作为普通的应用程序来安装,那么它就是一个简简单单的应用程序。
mysqld需要传些参数才能正常启动,输入命令mysqld --help查看帮助,结果又让输入mysqld --verbose --help查看详细命令.

二.Windows上专有命令

windowsNT和win32上的专有命令,主要是安装服务,移除服务的几个选项:

NT and Win32 specific options:

  --install                     Install the default service (NT).
运行这个命令就安装了一个mysql服务
  --install-manual              Install the default service started manually (NT).
  --install service_name        Install an optional service (NT).
  --install-manual service_name Install an optional service started manually (NT).
  --remove                      Remove the default service from the service list (NT).

从服务列表中移除mysql

  --remove service_name         Remove the service_name from the service list (NT).
  --enable-named-pipe           Only to be used for the default server (NT).
  --standalone                  Dummy option to start as a standalone server (NT).

安装服务mysqld install之后,就可以用net start mysql命令启动服务了,注意,一定要把配置文件放到默认路径上去,否则服务缺少参数无法启动。就可以用mysql -uroot -p命令登录服务器了。用mysqld remove命令移除服务之后,再用net start mysql就会说找不到服务名。

三.默认配置文件的读取

默认选项的读取:因为这个命令的选项实在是不少,所以不可能在控制台下输入那么多,只能写在文件里从其中读取。默认的读取顺序如下:
Default options are read from the following files in the given order:
C:\Windows\my.ini C:\Windows\my.cnf
C:\my.ini C:\my.cnf
C:\Program Files\MySQL\MySQL Server 5.7\my.ini
C:\Program Files\MySQL\MySQL Server 5.7\my.cnf

可见,mysqld.exe挨个检测文件是否存在,如果存在那就找到了配置文件,读取参数并启动就完事了。至于文件是.ini还是.cnf,都行,但是文件名必须得是my。首先是c:\windows文件夹下;其次是c:\下;最后是c:\program files\mysql\mysql server5.7\my.ini下。实际上这个配置文件的路径是可以在参数中指明的,这样就不需要默认的文件路径了。

四.把mysql添加成服务

当然可以通过mysqld install一个指令把mysql添加为服务。服务都有如下几个基本属性:

  • 服务名称:通过net start 服务名来启动服务
  • 显示名称
  • 可执行文件路径:可以带参数,比如:mysqld.exe --default-file="c:\programdata\mysql\my.ini",其实就是一个控制台命令,可以带参数的。
  • 启动类型
  • 服务状态

重点说一下可执行文件路径:
mysql中有一个概念叫:安装类型。安装类型是很多的,首先由操作系统的类型决定安装类型,其次安装类型按照版本,是exe安装的还是手动安装的分为不同种安装类型。
打开mysql workbench,点击设置连接,在system profile标签中可以看见许多安装类型,枚举两个:

  • (windows)mysql 5.7 installer package
  • (windows )mysql x64 zip package
    ......

不同的安装方式采用的my.ini的位置不一样,比如workbench默认的my.ini有可能跟控制台下启动mysql默认的my.ini不一样,这点一定要注意。
在安装mysql服务时,如果使用mysqld install命令安装,那么这个服务的可执行文件路径是没有default-file的,所以就要用上第三部分所说的默认检查my.ini。如果使用mysql installer安装,那么这个服务的可执行文件路径可能会自带default-file,在programdata/mysql文件夹下存放。

五.第一参数(与配置文件路径相关的参数,不能写在配置文件里面)

  • --print-defaults Print the program argument list and exit.
    打印参数列表并退出
  • --no-defaults Don't read default options from any option file,except for login file.
  • --defaults-file=# Only read default options from the given file #.
    这个很重要,明确指明配置文件的位置

六.普通参数,在配置文件中写的参数

总共有1000多项,包含服务器端的许多方面,涉及数据库各个部分,用mysqld --verbose --help > haha.txt导出到文本文件,一有闲暇,就读一会儿。

七. 查看正在运行的服务器参数

mysqladmin variables

上一篇:Python 面向对象之一


下一篇:windows.h和winsock2.h包含顺序问题(转)