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
mysqld初探的更多相关文章
- 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)Repository在DDD中的应用
概述 上一篇我们算是粗略的介绍了一下DDD,我们提到了实体.值类型和领域服务,也稍微讲到了DDD中的分层结构.但这只能算是一个很简单的介绍,并且我们在上篇的末尾还留下了一些问题,其中大家讨论比较多的, ...
- CSharpGL(8)使用3D纹理渲染体数据 (Volume Rendering) 初探
CSharpGL(8)使用3D纹理渲染体数据 (Volume Rendering) 初探 2016-08-13 由于CSharpGL一直在更新,现在这个教程已经不适用最新的代码了.CSharpGL源码 ...
- 从273二手车的M站点初探js模块化编程
前言 这几天在看273M站点时被他们的页面交互方式所吸引,他们的首页是采用三次加载+分页的方式.也就说分为大分页和小分页两种交互.大分页就是通过分页按钮来操作,小分页是通过下拉(向下滑动)时异步加载数 ...
- JavaScript学习(一) —— 环境搭建与JavaScript初探
1.开发环境搭建 本系列教程的开发工具,我们采用HBuilder. 可以去网上下载最新的版本,然后解压一下就能直接用了.学习JavaScript,环境搭建是非常简单的,或者说,只要你有一个浏览器,一个 ...
- .NET文件并发与RabbitMQ(初探RabbitMQ)
本文版权归博客园和作者吴双本人共同所有.欢迎转载,转载和爬虫请注明原文地址:http://www.cnblogs.com/tdws/p/5860668.html 想必MQ这两个字母对于各位前辈们和老司 ...
- React Native初探
前言 很久之前就想研究React Native了,但是一直没有落地的机会,我一直认为一个技术要有落地的场景才有研究的意义,刚好最近迎来了新的APP,在可控的范围内,我们可以在上面做任何想做的事情. P ...
- mysqld: Out of memory 解决办法(mysql)
自己配置的XWAMP环境,默认下没有详细配置mysql的my.ini,一方面不同服务器的配置不一样,另一方面按照默认为空的方式也一直没有出现过问题.不过最近服务器挂掉了,出现的症状是: 网站不能打开, ...
- 【手把手教你全文检索】Apache Lucene初探
PS: 苦学一周全文检索,由原来的搜索小白,到初次涉猎,感觉每门技术都博大精深,其中精髓亦是不可一日而语.那小博猪就简单介绍一下这一周的学习历程,仅供各位程序猿们参考,这其中不涉及任何私密话题,因此也 ...
随机推荐
- 数据库进阶之路(五) - MySQL行锁深入研究
由于业务逻辑的需要,必须对数据表的一行或多行加入行锁,举个最简单的例子,图书借阅系统:假设id=1的这本书库存为1,但是有2个人同时来借这本书,此处的逻辑为: ; --如果restnum大于0,执行u ...
- 跨平台运行 Rafy 首次部署记录
一直想在 Linux 上使用 MONO 试试运行 Rafy,最近因为业务需要,总算是真正地试验了一次.下面是本次部署记录的一些要点. Linux 这次部署,我是和两位同事一起来试验的.由于我们对 Li ...
- Redis分布式集群几点说道
原文地址:http://www.cnblogs.com/verrion/p/redis_structure_type_selection.html Redis分布式集群几点说道 Redis数据量日益 ...
- "bower.json 中出现语法错误" 的解决方案之一
当你用 Visual Studio 2015 Update 3 打开从别处下载的开源项目的时候,如果发现 Bower 提示 "bower.json 中出现语法错误". 请检查一下. ...
- C#委托的一次"甜蜜"接触
委托是个说烂了的话题,但是依旧有好多人不知道为什么要在C#中使用委托,最近有朋友也问到我这个问题,所以举例些场景,以供那些知道怎么声明委托.怎么调用却不知道为什么要用的朋友一些参考,当然也是希望验证下 ...
- C#定时执行
代码: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; ...
- 多线程中的volatile和伪共享
伪共享 false sharing,顾名思义,“伪共享”就是“其实不是共享”.那什么是“共享”?多CPU同时访问同一块内存区域就是“共享”,就会产生冲突,需要控制协议来协调访问.会引起“共享”的最 ...
- Animation
Animation 效果 用法 1.非常简单,导入两个文件(UIView+SetRect) (UIView+ImageEffects) 源码 github源码:https://github.com/m ...
- 分别用ToolBar和自定义导航栏实现沉浸式状态栏
一.ToolBar 1.在build.gradle中添加依赖,例如: compile 'com.android.support:appcompat-v7:23.4.0' 2.去掉应用的ActionBa ...
- 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://) ...