广告
返回顶部
首页 > 资讯 > 数据库 >MySQL之my.cnf配置文件图文详解
  • 880
分享到

MySQL之my.cnf配置文件图文详解

2024-04-02 19:04:59 880人浏览 薄情痞子
摘要

目录引言问题1.Mysql.server,mysqld,mysqld_safe的区别mysql.servermysql_safe问题2.mysql的三种启动方式:问题3.Socket

引言

之前没有仔细研究过my.cnf文件,今天有时间研究了一下my.cnf中的一些概念,这里简单整理如下,如果有什么问题,还请大家指出。

按照教程安装好MySQL之后,打开etc目录下的my.cnf文件,大概可看到下面这样的参数列表,可能不同版本的mysql参数多少会有一些不一致,但是并不妨碍我们理解。

图片

首先,我们可以看到这个文件里面有mysqld和mysql_safe两类参数,我们知道mysqld和mysql_safe都可以启动mysql服务,那么mysqld和mysql_safe这两个类之间有什么不同呢?要讨论这个问题,我们需要引入第三个类别mysql.server,并同时讨论这三种启动方式的区别。

问题1.mysql.server,mysqld,mysqld_safe的区别

mysql.server

它是一个服务器启动的shell脚本,主要作用就是为了方便启动和关闭mysql服务,它使用mysql_safe来启动mysql服务器,在mysql.server启动服务器之前,它将目录转换到mysql安装目录里面去,然后调用mysqld_safe。mysql.server通过向服务器发送一个信号来停止它,也可以使用mysqladmin shutdown命令来停止服务器,如果你使用源码或者二进制格式安装mysql(没有自动安装mysql.server这个脚本),你可以手动安装; 这个脚本在mysql安装目录下的support-files目录里边或者在源码包里边;为了能使用service mysqld start命令启动mysql服务,此时需要做的是将mysql.server的脚本复制到/etc/init.d目录下,然后重命名为mysqld,最后给予执行权限。mysqld.server会从配置文件的[mysqld] [mysql.server] 区域读取配置选项;

可以在全局配置文件/etc/my.cnf中配置mysql.server,mysql.server脚本支持下面这些选项;一旦指定,它们必须放在配置文件中,不能放到命令行中(mysql.server支持的命令行参数只有start和stop);

–basedir mysql安装目录;

–datadir 数据文件的路径;

–pid-file 服务器写自己的进程号的文件;如果这个不指定,mysql使用默认的hostname.pid;

The PID file value被传递给mysqld_safe,覆盖了[mysqld_safe]下面指定的值;因为mysql.server读取[mysqld]选项组而不读取[mysqld_safe]选项组,所以为了在使用mysql.server 调用mysqld_safe的时候, mysqld_safe能够获得一样的pid,我们可以让[mysqld]选项组和[mysqld_safe]选项组使用同一个pid-file;

mysql_safe

这是mysql服务启动脚本,它是mysqld的父进程,它调用mysqld启动数据库服务,并在启动MySQL服务器后继续监控其运行情况,并在其死机时重新启动它,当我们开启mysqld_safe命令的时候,可以防止mysql服务的意外终止,这里做一个小小的测试

首先查看当前的mysql服务:

图片

然后发现服务中有一个mysql_safe和一个mysqld,其中mysqld_safe的端口号是1929,mysqld的端口号是2228,这个时候,我们把2228的进程杀掉:

图片

我们发现,进程号为2228的mysqld进程已经被杀掉,进程号为1929的mysqld_safe进程还在,又重新生成了一个进程号为2288的mysqld进程,接下来,我们杀掉mysqld_safe的进程,kill -9 1929,得到的结果如下:

图片

我们发现杀掉mysqld_safe之后,只剩下进程号为2288的mysqld进程了,并没有生成新的mysqld_safe进程,这个时候,在再次杀掉mysqld进程2288,结果如下:

图片

此时,所有的进程都被关闭掉了,综合上述操作,我们可以发现,当mysqld_safe进程存在时,我们无法直接杀掉mysqld进程,当我们杀掉mysqld_safe进程的时候,此时才可以杀掉mysqld进程,这便是mysqld_safe的守护进程作用,它可以防止mysqld进程被意外终止。

mysqld

mysqld是关于服务器端的程序,要想使用客户端程序,该程序必须运行,因为客户端通过连接服务器来访问数据库

问题2.mysql的三种启动方式:

1、mysqld

启动mysql服务器:

客户端连接:

2、mysqld_safe

启动mysql服务器:

客户端连接:

3、mysql.server

启动mysql服务器:

客户端连接:同1、2

问题3.socket文件mysql.sock详解

mysql有两种连接方式,一种是tcp/IP的方式,另外一种是socket的方式,mysql.sock主要用户程序与mysqlserver在同一机器上,发起本地连接的时候使用,即无需再连接服务时使用host和IP,mysql.sock是随着每一次mySQL Server的启动而生成的,当服务重启时,mysql.sock也会重新生成。利用mysql.sock连接服务的样例如下:

linux下安装mysql连接的时候经常回提示说找不到mysql.sock文件,解决办法很简单:

1.如果是新安装的mysql,提示找不到文件,就搜索下,指定正确的位置。

2.如果mysql.sock文件误删的话,就需要重启mysql服务,如果重启成功的话会在datadir目录下面生成mysql.sock 到时候指定即可。

问题4.查看mysql的配置文件调用顺序

mysql --help|grep “my.cnf”,当启动mysql服务的时候,会从当前目录的my.cnf中去读对应的参数,优先级顺序和输出顺序保持一致。

图片

问题5.MySQL的pid文件介绍

MySQL pid 文件记录的是当前 mysqld 进程的 pid,pid 亦即 Process ID。

1、未指定

pid 文件时,pid 文件默认名为 主机名.pid,存放的路径在默认 MySQL 的数据目录。通过 mysqld_safe 启动 MySQL
时,mysqld_safe 会检查 pid 文件,如果 pid 文件不存在,不做处理;如果文件存在,且 pid 已占用则报错 “A
mysqld process already exists”,如果文件存在,但 pid 未占用,则删除 pid 文件。

2、查看 MySQL 的源码可以知道,mysqld 启动后会通过 create_pid_file 函数新建 pid 文件,通过 getpid() 获取当前进程 pid 并将 pid 写入 pid 文件。

3、因此,通过 mysqld_safe 启动时, MySQL pid 文件的作用是:在数据文件是同一份,但端口不同的情况下,防止同一个数据库被启动多次。

通过 mysqld_safe 启动时, MySQL pid 文件的作用是:在数据文件是同一份,但端口不同的情况下,防止同一个数据库被启动多次。

关于MySQL之my.cnf配置文件,你学废了么?

总结

到此这篇关于MySQL之my.cnf配置文件的文章就介绍到这了,更多相关MySQL my.cnf配置文件内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

您可能感兴趣的文档:

--结束END--

本文标题: MySQL之my.cnf配置文件图文详解

本文链接: https://www.lsjlt.com/news/167116.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MySQL之my.cnf配置文件图文详解
    目录引言问题1.mysql.server,mysqld,mysqld_safe的区别mysql.servermysql_safe问题2.mysql的三种启动方式:问题3.socket...
    99+
    2022-11-13
  • MySQL之my.cnf配置文件
    之前没有仔细研究过my.cnf文件,今天有时间研究了一下my.cnf中的一些概念,这里简单整理如下,如果有什么问题,还请大家指出。 按照教程安装好MySQL之后,打开etc目录下的my.cnf文件,大概可看到下面这样的参数列表,可能不同版...
    99+
    2023-08-16
    mysql 数据库 服务器
  • MySQL配置文件my.cnf优化详解
    MySQL 5.5.13 参数说明: [client] character-set-server = utf8 port    = 3306 socket  ...
    99+
    2022-05-21
    配置文件 mysql
  • mysql的配置文件my.cnf
    [client]port=3306socket=/u01/svr/run/mysql.sock[mysql]#pid_file=/u01/svr/run/mysqld.pid[mysqld]autocommit=1general_log=o...
    99+
    2023-06-03
  • MySQL配置文件my.cnf的参数优化和中文详解
    本篇内容主要讲解“MySQL配置文件my.cnf的参数优化和中文详解”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL配置文件my.cnf的参数优化和中文...
    99+
    2022-10-18
  • mysql 8.0 配置文件my.cnf中文注解【转载】
    ########################################################################### ## my.cnf for MySQL 8.0.x ...
    99+
    2021-11-24
    mysql 8.0 配置文件my.cnf中文注解【转载】
  • MySQL 配置文件 my.cnf / my.ini 区别解析
    充分理解 mysql 配置文件中各个变量的意义对我们有针对性的优化 MySQL 数据库性能有非常大的意义。我们需要根据不同的数据量级,不同的生产环境情况对 MySQL 配置文件进行优化。 一、配置文件my.ini或my....
    99+
    2022-11-25
    mysqlmy.cnfmy.ini区别 mysql配置文件my.cnf mysql配置文件my.ini
  • MySQL配置文件my.cnf例子最详细翻译
    MySQL配置文件my.cnf 例子最详细翻译: #BEGIN CONFIG INFO #DESCR: 4GB RAM, 只使用InnoDB, ACID, 少量的连接, 队列负载大 #TYPE: SYST...
    99+
    2022-10-18
  • mysql配置文件my.cnf的事例并附解释
    #更改磁盘调度算法echo 'deadline' >/sys/block/xvdb/queue/scheduler#关掉NUMA特性#numactl --interleave=all下面是my.cnf...
    99+
    2022-10-18
  • MySQL:查找my.cnf配置文件的路径
    # 方式一ps -ef|grep mysql|grep 'my.cnf'# 方式二mysql --help|grep 'my.cnf'# 方式三find / -name my.cnf 默认的查找路径 ...
    99+
    2023-09-08
    mysql 数据库 linux
  • Linux下查看MySQL的配置文件my.cnf位置
    安装mysql后,系统中会有多个my.cnf文件。 查找系统中存在的所有my.cnf文件 使用 locate my.cnf 命令可以列出所有的my.cnf文件: > locate my.cnf/etc/my.cnf/usr/local/my...
    99+
    2023-08-16
    linux mysql 运维
  • Mysql怎么备份一个my.cnf配置文件
    本篇内容主要讲解“Mysql怎么备份一个my.cnf配置文件”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Mysql怎么备份一个my.cnf配置文件”吧! ...
    99+
    2022-10-18
  • MySQL中my.cnf配置文件的示例分析
    这篇文章主要为大家展示了“MySQL中my.cnf配置文件的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“MySQL中my.cnf配置文件的示例分析”这...
    99+
    2022-10-18
  • my.cnf配置文件中mysql pid参数说明
    my.cnf配置文件中mysql pid参数说明 当MySQL实例启动时,会将自己的进程ID写入一个文件中——该文件即为pid文件。该文件可由参数pid_file控制,默认位于数据库目录下,文件名为主...
    99+
    2022-10-18
  • my.cnf配置文件在什么位置
    my.cnf配置文件在什么位置?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。一般linux上都放在 /etc/my.cnf &...
    99+
    2022-10-18
  • 【八】MySQL-配置文件详解
    # 客户端设置,即客户端默认的连接参数 [client]   # 默认连接端口 port = 3306   # 用于本地连接的socket套接字 socket = /usr/local/mysql/data/mysql.sock   # 字...
    99+
    2023-10-26
    mysql 数据库 服务器
  • my.cnf配置文件的必要配置有哪些
    小编给大家分享一下my.cnf配置文件的必要配置有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! ...
    99+
    2022-10-18
  • 生产库MySQL配置文件my.cnf的示例分析
    这篇文章主要介绍了生产库MySQL配置文件my.cnf的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 ...
    99+
    2022-10-18
  • MySQL中my.cnf文件的选项设置
    本篇内容介绍了“MySQL中my.cnf文件的选项设置”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!mys...
    99+
    2022-10-18
  • windows查看mysql 数库的配置文件my.ini(==my.cnf Linux中)
    第一步:右键此电脑——>点击管理  第二步:选择服务找到mysql   第三步:右键属性 然后找到 defaults-file="C:\ProgramData\MySQL\MySQL Server 5.7\my.ini" MYSQL57...
    99+
    2023-09-15
    linux mysql 服务器
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作