(3.5)mysql基础深入——mysqld_safe脚本功能及流程

目录

1、mysqld_safe过程总结

2、mysql_safe启动的好处

3、mysqld_safe 参数

4、mysqld_safe流程

详情:

1、mysqld_safe过程总结

  【1.1】检查环境变量  【1.2】检查配置文件中的选项  【1.3】启动mysqld及启动后的一些处理

2、mysql_safe启动的好处

  【2.1】安全性好(出现问题重启的时候,会向错误日志里面写入相关运行时间)

  【2.2】启动时指定一些关于mysqld_safe的参数,也可以放在my.cnf里的 [mysqld_safe]

  【2.3】ulimit -c $core_file_size(文件大小)

  【2.4】unlimit -n $size(最多支持的打开文件数量)

  【2.5】检查环境变量,检查配置文件,检查指定的选项

3、mysqld_safe 参数

  

 --no-defaults              Don't read the system defaults file
--defaults-file=FILE Use the specified defaults file
--defaults-extra-file=FILE Also use defaults from the specified file Other options:
--ledir=DIRECTORY Look for mysqld in the specified directory
--open-files-limit=LIMIT Limit the number of open files
--core-file-size=LIMIT Limit core files to the specified size
--timezone=TZ Set the system timezone
--malloc-lib=LIB Preload shared library LIB if available
--mysqld=FILE Use the specified file as mysqld
--mysqld-version=VERSION Use "mysqld-VERSION" as mysqld
--nice=NICE Set the scheduling priority of mysqld
--plugin-dir=DIR Plugins are under DIR or DIR/VERSION, if
VERSION is given
--skip-kill-mysqld Don't try to kill stray mysqld processes
--syslog Log messages to syslog with 'logger'
--skip-syslog Log messages to error log (default)
--syslog-tag=TAG Pass -t "mysqld-TAG" to 'logger'
--mysqld-safe-log- TYPE must be one of UTC (ISO UTC),
timestamps=TYPE system (ISO local time), hyphen
(hyphenated date a la mysqld 5.6), legacy
(legacy non-ISO mysqld_safe timestamps)

4、mysqld_safe流程

【4.1】查看basedir和ledir

【4.2】查看datadir和my.cnf

【4.3】对my.cnf做一些检查

【4.4】解析My.cnf中的组 [mysqld] 和 [mysqld_safe] 并和中毒案例输入的命令合并。

【4.5】调用parse_arguments函数解析用户传递(就是【4】中的)的所有参数($@)

【4.6】对系统日志和错误日志的判断和做出相应的处理,及选项--err-log参数的复制。

【4.7】对选项--user , --pid-file , --socket 及 --port 进行处理及复制,保证启动时如果不给出这些参数也会有值。

【4.8】启动mysqld

  (1)启动时会判断一个进程号是否存在,如果存在那么久在错误日志中记录 "A mysqld process already exists" 并且退出

  (2)如果不存在就删除进程文件,如果删除不了,那么久在错误日志中记录 "Fatal error : Can't remove the pid file" 并退出。

【4.9】启动时对表进行检查。如果启动的时候检查表的话设置key_buffer and sort_buffer 会提高速度并且减少磁盘空间的使用。

【4.10】如果启动时什么参数都没有显示指定,那么它会选用一些特定的参数,具体参数看【3】

【4.11】如果服务器异常关闭,那么会restart。

(3.5)mysql基础深入——mysqld_safe脚本功能及流程的更多相关文章

  1. MySQL基础架构之查询语句执行流程

    这篇笔记主要记录mysql的基础架构,一条查询语句是如何执行的. 比如,在我们从student表中查询一个id=2的信息 select * from student where id=2; 在解释这条 ...

  2. MySql基础架构以及SQL语句执行流程

    01. mysql基础架构 SQL语句是如何执行的 学习一下mysql的基础架构,从一条sql语句是如何执行的来学习. 一般我们写一条查询语句类似下面这样: select user,password ...

  3. Vc数据库编程基础MySql数据库的表查询功能

    Vc数据库编程基础MySql数据库的表查询功能 一丶简介 不管是任何数据库.都会有查询功能.而且是很重要的功能.上一讲知识简单的讲解了表的查询所有. 那么这次我们需要掌握的则是. 1.使用select ...

  4. MySQL基础教程——mysql脚本编写

    SQL,结构化查询语言,既是对数据库进行操作的语言,也是数据库脚本文件的扩展名. 要求:新建一个名为 library 的数据库,包含 book.reader 两张表,根据自己的理解安排表的内容并插入数 ...

  5. MySQL基础操作命令

    MySQL基础操作命令 1. 查看MySQL进程 ps -ef|grep mysql |grep -v grep 2. 查看MySQL端口 ss -lnt | grep 3306 3. MySQL的启 ...

  6. Linux系统——MySQL基础(二)

    # MySQL数据库完全备份与恢复## 数据库备份的分类1. 从物理与逻辑的角度,备份可以分为物理备份和逻辑备份.(1)物理备份:对数据库操作系统的物理文件(数据文件.日志文件)的备份.物理备份又可分 ...

  7. Linux系统——MySQL基础(一)

    # 数据库 ## 数据库简单的分类:(1)关系型数据库:MySQL和Oracle.Postgresql(2)非关系型数据库:Memcached和Redis(3)消息队列中间件(4)搜索引擎数据库:El ...

  8. MySQL 基础知识梳理

    MySQL 的安装方式有多种,但是对于不同场景,会有最适合该场景的 MySQL 安装方式,下面就介绍一下 MySQL 常见的安装方法,包括 rpm 安装,yum 安装,通用二进制安装以及源码编译安装, ...

  9. 【夯实Mysql基础】MySQL在Linux系统下配置文件及日志详解

    本文地址 分享提纲: 1. 概述 2. 详解配置文件 3. 详解日志 1.概述 MySQL配置文件在Windows下叫my.ini,在MySQL的安装根目录下:在Linux下叫my.cnf,该文件位于 ...

随机推荐

  1. 如何在 Ubuntu 中安装 Node.js

    在终端中执行以下命令: sudo apt-get install python-software-properties python g++ make sudo add-apt-repository ...

  2. Elasticsearch 5.4.3 聚合分组

    第一个分析需求:计算每个tag下的商品数量 GET /ecommerce/product/_search { "aggs": { "group_by_tags" ...

  3. JQuery选择器和DOM的操作-入门学习

    嘿嘿,今天学习了JQuery,前面的一周都在学习javascript,今天学习了JQuery,虽然javascript的类库有很多个,例如:Prototype,Dojo,JQuery等,javascr ...

  4. linux sumba服务器简单配置

    使用samba设置linux和windows直接简单的文件共享 前提: 1.linux和windows已经可以互相ping同 2.已经安装好smb 查看是否安装smb rpm -aq|grep smb ...

  5. 深入理解Auto Layout 第一弹

    本文转载至 http://zhangbuhuai.com/2015/07/16/beginning-auto-layout-part-1/ By 张不坏 2015-07-16 更新日期:2015-07 ...

  6. 在MyEclipse(2015)中上传项目到github的步骤(很详细)

    (图文)在MyEclipse(2015)中上传项目到github的步骤(很详细) git|smartGit使用详解 SmartGit使用教程

  7. Python学习(20):Python函数(4):关于函数式编程的内建函数

    转自http://www.cnblogs.com/BeginMan/p/3178103.html 一.关于函数式编程的内建函数 apply()逐渐被舍弃,这里不讨论 1.filter() #filte ...

  8. Delphi应用程序的调试(二)使用断点

    Delphi应用程序的调试(二)使用断点 使用断点(Using Breakpoints) 当用户从Delphi IDE 运行程序时,程序全速运行,只会在设置了断点的地方停住. New Term 断点( ...

  9. 法律&道德

    西弗森是美国加州一名95岁的老妇人,2010年12月份的一天,她在家清理房间,当她翻开一叠纸的时候,一本书从里面掉了下来,她弯腰拾起来,发现是一本名叫<水上飞机独自飞>的书,再一看书页里的 ...

  10. Python tkinter 控件更新信息

    下面几个例子关于tkinter界面更新的,简单易懂,分享一下. 例子_1: 代码_1: from tkinter import Tk, Checkbutton, Label from tkinter ...