MySQL之my.cnf配置文件

芝士年糕
• 阅读 376

使用服务器搭建MySQL,简单好学 之前没有仔细研究过my.cnf文件,今天有时间研究了一下my.cnf中的一些概念,这里简单整理如下,如果有什么问题,还请大家指出。 按照教程安装好MySQL之后,打开etc目录下的my.cnf文件,大概可看到下面这样的参数列表,可能不同版本的mysql参数多少会有一些不一致,但是并不妨碍我们理解。 MySQL之my.cnf配置文件

首先,我们可以看到这个文件里面有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之my.cnf配置文件 然后发现服务中有一个mysql_safe和一个mysqld,其中mysqld_safe的端口号是1929,mysqld的端口号是2228,这个时候,我们把2228的进程杀掉: MySQL之my.cnf配置文件

我们发现,进程号为2228的mysqld进程已经被杀掉,进程号为1929的mysqld_safe进程还在,又重新生成了一个进程号为2288的mysqld进程,接下来,我们杀掉mysqld_safe的进程,kill -9 1929,得到的结果如下: MySQL之my.cnf配置文件 我们发现杀掉mysqld_safe之后,只剩下进程号为2288的mysqld进程了,并没有生成新的mysqld_safe进程,这个时候,在再次杀掉mysqld进程2288,结果如下: MySQL之my.cnf配置文件

此时,所有的进程都被关闭掉了,综合上述操作,我们可以发现,当mysqld_safe进程存在时,我们无法直接杀掉mysqld进程,当我们杀掉mysqld_safe进程的时候,此时才可以杀掉mysqld进程,这便是mysqld_safe的守护进程作用,它可以防止mysqld进程被意外终止。 mysqld mysqld是关于服务器端的程序,要想使用客户端程序,该程序必须运行,因为客户端通过连接服务器来访问数据库。 问题2.mysql的三种启动方式: 1、mysqld 启动mysql服务器: 客户端连接: 2、mysqld_safe 启动mysql服务器: 客户端连接: 3、mysql.server 启动mysql服务器:

点赞
收藏
评论区
推荐文章
Wesley13 Wesley13
3年前
mysql 查看当前使用的配置文件my.cnf的方法(推荐)
my.cnf是mysql启动时加载的配置文件,一般会放在mysql的安装目录中,用户也可以放在其他目录加载。安装mysql后,系统中会有多个my.cnf文件,有些是用于测试的。使用locatemy.cnf命令可以列出所有的my.cnf文件命令locatemy.cnf输出?(https://www.o
Stella981 Stella981
3年前
Linux下MySQL不区分大小写配置
windows中的MySQL默认是忽略大小写的,而Linux中就不一样了,所以我们Windows中的sql脚本要导入Linux环境中用的时候就会出现问题,我们解决的方式就是在Linux中MySQL中也设置为不区分大小写1.在Linux中打开etc/mysql/my.cnf  有些版本路径是etc/my.cnf具体命令如下:sudovi
Wesley13 Wesley13
3年前
MySQL数据库优化技巧
MySQL优化三大方向①优化MySQL所在服务器内核(此优化一般由运维人员完成)。②对MySQL配置参数进行优化(my.cnf)此优化需要进行压力测试来进行参数调整。③对SQL语句以及表优化。MySQL参数优化1:MySQL默认的最大连接数为100,可以在mysql客户端使用以下命令查看mysql
Wesley13 Wesley13
3年前
mysql 读写分离主从复制
一.master主服务器的配置1找到主服务器mysql的配置文件windows(my.ini)linux(/etc/my.cnf)在mysqld中添加:serverid1log_binmasterbinlog_bin_indexmasterbin.indexbinlog_
Wesley13 Wesley13
3年前
MySQL在Ubuntu远程配置
MySQL远程连接访问在普通Linux下配置:在这个配置文件/etc/mysql/my.cnf修改:bindaddress         127.0.0.1修改为bindaddress         127.0.0.1或者b
Wesley13 Wesley13
3年前
MySQL 8.0 以上版本重置 root 用户密码
MySQL8.0以上版本重置root用户密码1.在/etc/my.cnf文件末尾追加skipgranttablesroot@abdefgmysqlvim/etc/my.cnfmysql
Stella981 Stella981
3年前
Macos mysql 8.0.11 添加配置文件
mac安装mysql后,没有配置文件,如果需要添加配置文件,需要在/etc目录下面添加my.cnf文件。添加方法打开文件命令:sudovi /etc/my.cnf文件添加内容:\client\defaultcharactersetutf8\mysqld\charactersetserveru
Wesley13 Wesley13
3年前
MySQL主主复制(双主复制)配置过程介绍
一、修改配置文件my.cnf服务器A(172.16.16.70)配置如下server\_id70socket/tmp/mysql.sockinnodb\_buffer\_pool\_size10Gcharactersetserverutf8log\_binmysqlbinexpire\_l
Wesley13 Wesley13
3年前
mySQL配置文件、备份与恢复
mysql配置文件mysql的配置文件为/etc/my.cnf配置文件查找次序:若在多个配置文件中均有设定,则最后找到的最终生效/etc/my.cnf/etc/mysql/my.cnfdefaultextrafile/PATH/TO/CONF_FILE~/.my.cnfmysql常用配置文件参数
Stella981 Stella981
3年前
Linux mariadb(Mysql)的主从复制架构
mysql的主从复制架构,需要准备两台机器,并且可以通信,安装好2个mysql,保持版本一致性mysqlv查看数据库版本1.准备主库的配置文件 /etc/my.cnf写入开启主库的参数\mysqld\\标注主库的身份idserverid1\那个binlog的文件