Linux Mysql tar包部署之调整mysql.server

背景

  • 经常在部署MySQL的时候没有root账号,只能用普通账号部署,需要修改mysql.server来方便启停。
  • 在某些安装的系统上,/etc/my.cnf会默认生成一个,导致MySQL启动的时候会去读/etc/my.cnf。
  • 服务器上部署多个MySQL的时候,可能会有my.cnf的冲突。

基于上面三个原因,结合网上的文章,大概总结了下。

修改方法

  • 版本

应该适用MySQL目前的所有版本,mysql.server实质是一个shell。

  • 修改内容

路径: support-files/mysql.server

# 1、修改basedir和datadir路径
# 将两个路径改成实际的路径
basedir=
datadir=

# 2、修改extra_args,改成--defaults-file=$basedir/my.cnf
if test -r "$basedir/my.cnf"
then
#  extra_args="-e $basedir/my.cnf"
   extra_args="--defaults-file=$basedir/my.cnf"
fi

# 3、修改mysqld_safe启动默认配置文件,加入--defaults-file="$basedir/my.cnf"
# $bindir/mysqld_safe --datadir="$datadir" --pid-file="$mysqld_pid_file_path" $other_args >/dev/null &
$bindir/mysqld_safe --defaults-file="$basedir/my.cnf" --datadir="$datadir" --pid-file="$mysqld_pid_file_path" $other_args >/dev/null & 

启动|停止|重启

在mysql的配置文件等无误后,进去MySQL的目录执行下面的命令进行启动|停止|重启

  • 启动

support-files/mysql.server start

  • 停止

support-files/mysql.server stop

  • 重启

support-files/mysql.server restart

参考

从启动脚本分析mysql读取my.cnf配置的顺序: https://www.jianshu.com/p/bee4a55dc574

相关文章

仅有 1 条评论
  1. 难寻芳踪

    内网穿透之n2n-点对网中,看你回复:服务端的配置做了没有?不仅要本地添加路由,还要在远端虚拟网卡的机器上配置相关转发规则,能具体的说明下吗?
    A电脑的内网网段10.36.131.0 edge虚拟网卡ip:192.168.100.111
    本机电脑网段192.168.2.0 edge虚拟网卡ip:192.168.100.101
    本地添加了远端路由 route add 10.36.131.0 mask 255.255.255.0 192.168.100.111
    该怎么操作呢?

    难寻芳踪

此处评论已关闭