非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測試驗證。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM