MySQL读取my.cnf的顺序问题详情_Mysql

来源:脚本之家  责任编辑:小易  
目录
MySQL读取my.cnf的顺序
一、mysql.server启动方式二、mysqld_safe启动方式三、关于mysqld和my_print_defaults读取my.cnf顺序

MySQL读取my.cnf的顺序

一、mysql.server启动方式

basedir=/opt/mysql/mysql3315
datadir=/opt/mysql/mysql3315/data

进行查找,在解析参数文件的时候会带入 -e进行解析

/opt/mysql/mysql3315/bin/my_print_defaults -e /opt/mysql/mysql3315/my.cnf mysqld server mysql_server mysql.server

也就是—defaults-extra-file,获取的目录包含basedir、datadir、pid-file,但是pid-file参数可能不存在

使用如下

if test -z "$mysqld_pid_file_path"
then
  mysqld_pid_file_path=$datadir/`hostname`.pid
else
  case "$mysqld_pid_file_path" in
    /* ) ;;
    * )  mysqld_pid_file_path="$datadir/$mysqld_pid_file_path" ;;
  esac
fi

换算出位置和文件名。最终调入的参数如下:

/opt/mysql/mysql3315/bin/mysqld_safe --datadir=/opt/mysql/mysql3315/data/ --pid-file=/opt/mysql/mysql3315/data//mgr4.pid

二、mysqld_safe启动方式

通过mysqld_safe位置进行反推,反推能够得到basedir目录,并且会设置MYSQL_HOME为basedir 然后解析参数文件需要获取的参数比较多,不进行列举
/opt/mysql/mysql3315/bin/my_print_defaults mysqld server mysql_server mysql.server

注意:这里没有设置-e因为设置了MYSQL_HOME目录会自行解析其下面的参数文件,解析位置见最后。

启动mysqld
nohup /opt/mysql/mysql3315/bin/mysqld --basedir=/opt/mysql/mysql3315 --datadir=/opt/mysql/mysql3315/data 
--plugin-dir=/opt/mysql/mysql3315/lib/plugin --user=mysql 
--log-error=/opt/mysql/mysql3315/logs/mysql3315.err --pid-file=/opt/mysql/mysql3315/data//mgr4.pid 
--socket=/opt/mysql/mysql3315/data/mysql3315.sock --port=3315

注意:有open_files_limits的情况下这里会带上open_file_limits而覆盖mysqld使用的参数文件中的配置

循环监控pid文件

启动后会进行如下的循环,会通过eval命令堵塞在mysqld的调用,如果进程退出则返回,进行循环判断,最后会根据pid是否存在判断是否是正常的关闭mysqld判断方式是kill -0 pid进行判断mysqld进程是否存在。不存在则拉起来。

while true
do
  echo 1
  start_time=`date +%M%S`
  eval_log_error "$cmd"
关于加载jemalloc
if [ -n "$mysqld_ld_library_path" ]; then
  new_text="$mysqld_ld_library_path"
  [ -n "$LD_LIBRARY_PATH" ] && new_text="$new_text:$LD_LIBRARY_PATH"
  text="${text}LD_LIBRARY_PATH="`shell_quote_string "$new_text"`' '
fi

自己使用mysqld_safe 启动
```
/home/work/ssd1/mysql/install/bin/mysqld_safe —defaults-file=/home/work/ssd1/mysql/etc/3307/my.cnf —socket=/home/work/ssd1/mysql/sock/3307/mysql.sock —datadir=/home/work/ssd1/mysql/data/3307 —user=mysql &

如果这样启动my_print_defaults 会带上 —defaults-file

/opt/mysql/mysql3320/install/bin/my_print_defaults —defaults-file=/home/work/ssd1/mysql/etc/3307/my.cnf —loose-verbose mysqld server

三、关于mysqld和my_print_defaults读取my.cnf顺序

实际上这个函数init_default_directories函数中
其中顺序为:

<—defaults-file最先读取,并且为只读取这个配置文件,并且为第一个选项>

/etc/my.cnf /etc/mysql/my.cnf DEFAULT_SYSCONFDIR 编译时配置下的my.cnf MYSQL_HOME 设置。mysqld_safe会设置MYSQL_HOME,就会读取下面的my.cnf。 —defaults-extra-file的设置,my_print_defaults和mysqld均由这个设置。 ~/.my.cnf 从解析的顺序来看最后会加载命令行参数。

解析完成后全部参数罗列,多个同名参数以最后一个生效

到此这篇关于MySQL读取my.cnf的顺序问题详情的文章就介绍到这了,更多相关MySQL读取my.cnf的顺序内容请搜索真格学网以前的文章或继续浏览下面的相关文章希望大家以后多多支持真格学网!

您可能感兴趣的文章:通过shell脚本对mysql的增删改查及my.cnf的配置解决Linux安装mysql 在/etc下没有my.cnf的问题mysql 5.7 的 /etc/my.cnf 参数介绍MySQL中配置文件my.cnf因权限问题导致无法启动的解决方法mysql服务性能优化—my.cnf_my.ini配置说明详解(16G内存)MySQL修改my.cnf配置不生效的解决方法MySQL 5.5.x my.cnf参数配置优化详解MySQL配置文件my.cnf优化详解(mysql5.5)MySQL性能优化之路---修改配置文件my.cnfMariaDB(Mysql分支)my.cnf配置文件中文注释版MySQL配置文件my.cnf参数优化和中文详解MySQL配置文件my.cnf中文详解附mysql性能优化方法分享MySQL配置文件my.cnf中文版对照对MySQL配置参数 my.ini/my.cnf的详细解析

  • 本文相关:
  • mysql分表分库的应用场景和设计方式
  • mysql中常用日期比较与计算函数
  • mysql忘记密码修改方式适应5.7以上版本
  • mysql数据库运维之数据恢复的方法
  • mysql innodb之事务与锁详解
  • 详解如何在阿里云上安装mysql
  • windows8下mysql 5.6.15 安装配置方法图文教程
  • mysql如何快速的创建千万级测试数据
  • mysql记录根据日期字段倒序输出
  • mysql join联表及id自增实例解析
  • MySQL配置文件my.cnf中文版对照
  • MySQL配置文件my.cnf优化详解(mysql5.5)
  • MySQL优化配置文件my.ini(discuz论坛)
  • mysql主从分离是怎么配置的
  • 详解MySQL的主从复制、读写分离、备份恢复
  • Mysql5.7在windows7下my.ini文件加载路径及数据位置修改方法
  • 网站首页网页制作脚本下载服务器操作系统网站运营平面设计媒体动画电脑基础硬件教程网络安全mssqlmysqlmariadboracledb2mssql2008mssql2005sqlitepostgresqlmongodbredisaccess数据库文摘数据库其它首页mysql通过shell脚本对mysql的增删改查及my.cnf的配置解决linux安装mysql 在/etc下没有my.cnf的问题mysql 5.7 的 /etc/my.cnf 参数介绍mysql中配置文件my.cnf因权限问题导致无法启动的解决方法mysql服务性能优化—my.cnf_my.ini配置说明详解(16g内存)mysql修改my.cnf配置不生效的解决方法mysql 5.5.x my.cnf参数配置优化详解mysql配置文件my.cnf优化详解(mysql5.5)mysql性能优化之路---修改配置文件my.cnfmariadb(mysql分支)my.cnf配置文件中文注释版mysql配置文件my.cnf参数优化和中文详解mysql配置文件my.cnf中文详解附mysql性能优化方法分享mysql配置文件my.cnf中文版对照对mysql配置参数 my.ini/my.cnf的详细解析mysql分表分库的应用场景和设计方式mysql中常用日期比较与计算函数mysql忘记密码修改方式适应5.7以上版本mysql数据库运维之数据恢复的方法mysql innodb之事务与锁详解详解如何在阿里云上安装mysqlwindows8下mysql 5.6.15 安装配置方法图文教程mysql如何快速的创建千万级测试数据mysql记录根据日期字段倒序输出mysql join联表及id自增实例解析mysql安装图解 mysql图文安装教程can""""t connect to mysql servwindows下mysql5.6版本安装及配置mysql字符串截取函数substring的mysql创建用户与授权方法mysql提示:the server quit withmysql之timestamp(时间戳)用法mysql——修改root密码的4种方法mysql日期数据类型、时间类型使用mysql update语句的用法详解在mysql字段中使用逗号分隔符的方法分享mysql-group-replication 配置步骤(推荐)mysql修改密码后phpmyadmin无法登陆的解决如何修改xampp服务器上的mysql密码(图解)mysql日期date型和int型互换的方法mysql大数据导入详解windows10下载mysql的教程图解64位win10系统安装mysql5.7.11的方法(案例mysql的23个需要注意的地方常用的sql例句 数据库开发所需知识
    免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved