一.简介

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

mysqld初探的更多相关文章

  1. ubuntu 下安装 mysql 启动报错:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

    环境: ubuntu LTS 18.04.1 mysql Ver 14.14 Distrib 5.7.29, for Linux (x86_64) 初探 linux,按照如下安装完mysql sudo ...

  2. 初探领域驱动设计(2)Repository在DDD中的应用

    概述 上一篇我们算是粗略的介绍了一下DDD,我们提到了实体.值类型和领域服务,也稍微讲到了DDD中的分层结构.但这只能算是一个很简单的介绍,并且我们在上篇的末尾还留下了一些问题,其中大家讨论比较多的, ...

  3. CSharpGL(8)使用3D纹理渲染体数据 (Volume Rendering) 初探

    CSharpGL(8)使用3D纹理渲染体数据 (Volume Rendering) 初探 2016-08-13 由于CSharpGL一直在更新,现在这个教程已经不适用最新的代码了.CSharpGL源码 ...

  4. 从273二手车的M站点初探js模块化编程

    前言 这几天在看273M站点时被他们的页面交互方式所吸引,他们的首页是采用三次加载+分页的方式.也就说分为大分页和小分页两种交互.大分页就是通过分页按钮来操作,小分页是通过下拉(向下滑动)时异步加载数 ...

  5. JavaScript学习(一) —— 环境搭建与JavaScript初探

    1.开发环境搭建 本系列教程的开发工具,我们采用HBuilder. 可以去网上下载最新的版本,然后解压一下就能直接用了.学习JavaScript,环境搭建是非常简单的,或者说,只要你有一个浏览器,一个 ...

  6. .NET文件并发与RabbitMQ(初探RabbitMQ)

    本文版权归博客园和作者吴双本人共同所有.欢迎转载,转载和爬虫请注明原文地址:http://www.cnblogs.com/tdws/p/5860668.html 想必MQ这两个字母对于各位前辈们和老司 ...

  7. React Native初探

    前言 很久之前就想研究React Native了,但是一直没有落地的机会,我一直认为一个技术要有落地的场景才有研究的意义,刚好最近迎来了新的APP,在可控的范围内,我们可以在上面做任何想做的事情. P ...

  8. mysqld: Out of memory 解决办法(mysql)

    自己配置的XWAMP环境,默认下没有详细配置mysql的my.ini,一方面不同服务器的配置不一样,另一方面按照默认为空的方式也一直没有出现过问题.不过最近服务器挂掉了,出现的症状是: 网站不能打开, ...

  9. 【手把手教你全文检索】Apache Lucene初探

    PS: 苦学一周全文检索,由原来的搜索小白,到初次涉猎,感觉每门技术都博大精深,其中精髓亦是不可一日而语.那小博猪就简单介绍一下这一周的学习历程,仅供各位程序猿们参考,这其中不涉及任何私密话题,因此也 ...

随机推荐

  1. 数据库进阶之路(五) - MySQL行锁深入研究

    由于业务逻辑的需要,必须对数据表的一行或多行加入行锁,举个最简单的例子,图书借阅系统:假设id=1的这本书库存为1,但是有2个人同时来借这本书,此处的逻辑为: ; --如果restnum大于0,执行u ...

  2. 跨平台运行 Rafy 首次部署记录

    一直想在 Linux 上使用 MONO 试试运行 Rafy,最近因为业务需要,总算是真正地试验了一次.下面是本次部署记录的一些要点. Linux 这次部署,我是和两位同事一起来试验的.由于我们对 Li ...

  3. Redis分布式集群几点说道

    原文地址:http://www.cnblogs.com/verrion/p/redis_structure_type_selection.html  Redis分布式集群几点说道 Redis数据量日益 ...

  4. "bower.json 中出现语法错误" 的解决方案之一

    当你用 Visual Studio 2015 Update 3 打开从别处下载的开源项目的时候,如果发现 Bower 提示 "bower.json 中出现语法错误". 请检查一下. ...

  5. C#委托的一次"甜蜜"接触

    委托是个说烂了的话题,但是依旧有好多人不知道为什么要在C#中使用委托,最近有朋友也问到我这个问题,所以举例些场景,以供那些知道怎么声明委托.怎么调用却不知道为什么要用的朋友一些参考,当然也是希望验证下 ...

  6. C#定时执行

    代码: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; ...

  7. 多线程中的volatile和伪共享

      伪共享 false sharing,顾名思义,“伪共享”就是“其实不是共享”.那什么是“共享”?多CPU同时访问同一块内存区域就是“共享”,就会产生冲突,需要控制协议来协调访问.会引起“共享”的最 ...

  8. Animation

    Animation 效果 用法 1.非常简单,导入两个文件(UIView+SetRect) (UIView+ImageEffects) 源码 github源码:https://github.com/m ...

  9. 分别用ToolBar和自定义导航栏实现沉浸式状态栏

    一.ToolBar 1.在build.gradle中添加依赖,例如: compile 'com.android.support:appcompat-v7:23.4.0' 2.去掉应用的ActionBa ...

  10. iOS App 不支持http协议 App Transport Security has blocked a cleartext HTTP (http://)

    目前iOS已经不支持http协议了,不过可以通过info.plist设置允许 App Transport Security has blocked a cleartext HTTP (http://) ...