非root用户随开机而启动mysql服务

非root用户随开机而启动mysql服务

  今天验证了一下,非root用户随开机而启动msyql服务的脚本执行效果,特此简要记录如下:

环境:

192.168.142.130

mysql 5.6.41 源码安装

数据和安装目录都是mysql用户

 

需求:

需要在关机开机启动后,能自动启动mysql数据库服务

 

重点是:

复制代码
开机自动运行脚本,可以将脚本的执行命令放在

/etc/rc.d/rc.local 文件中,但是这样开机自动运行这个脚本的用户默认为root。

如果想以某个非root用户运行脚本,可以使用如下命令:

su - user -c /home/user/run.sh

注意格式:  su(空格)-(空格)-c(空格)命令路径....
复制代码

 

1、脚本内容

复制代码
[mysql@db130 scripts]$ cat /data/mysql/scripts/is_start_status_mysql.sh 
#!/bin/bash
#
# Author: Created by lww
# filename: /data/mysql/scripts/is_start_status_mysql.sh
# Date: 2019-05-14
# Description: This script is used to start mysql server.
# Version:1.1
#
#####################################################################################
is_start_status=`ps -ef|grep -Ew 'mysqld|mysqld_safe' | grep -vw 'grep' |  wc -l`

if [[ "$is_start_status" -ne 2 ]]; then
    sleep 10
    /data/mysql/percona_server/bin/mysqld_safe --defaults-file=/data/mysql/percona_server/conf/my.cnf &
fi
[mysql@db130 scripts]$
复制代码

2、开启启动服务文件修改

复制代码
[root@db130 ~]# cat /etc/rc.local 
#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.

touch /var/lock/subsys/local
echo never > /sys/kernel/mm/transparent_hugepage/enabled

# 以非root用户启动随开机启动mysql服务
su - mysql -c /data/mysql/scripts/is_start_status_mysql.sh
[root@db130 ~]# 
复制代码

3、reboot测试验证。

posted @   davie2020  阅读(2346)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下
点击右上角即可分享
微信分享提示