MySQL

注意事项:

  • MySQL的安装路径为: /usr/local/mysql (如果不在该路径下,那么需要修改启动脚本中的basedirdatadir参数)
  • MySQL的配置文件位置为:/etc/my.cnf
  • 启动脚本(在/usr/local/mysql/support-files文件夹下mysql.server):

    #!/bin/sh
    # Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
    # This file is public domain and comes with NO WARRANTY of any kind# MySQL daemon start/stop script.# Usually this is put in /etc/init.d (at least on machines SYSV R4 based
    # systems) and linked to /etc/rc3.d/S99mysql and /etc/rc0.d/K01mysql.
    # When this is done the mysql server will be started when the machine is
    # started and shut down when the systems goes down.# Comments to support chkconfig on RedHat Linux
    # chkconfig: 2345 64 36
    # description: A very fast and reliable SQL database engine.# Comments to support LSB init script conventions
    ### BEGIN INIT INFO
    # Provides: mysql
    # Required-Start: $local_fs $network $remote_fs
    # Should-Start: ypbind nscd ldap ntpd xntpd
    # Required-Stop: $local_fs $network $remote_fs
    # Default-Start:  2 3 4 5
    # Default-Stop: 0 1 6
    # Short-Description: start and stop MySQL
    # Description: MySQL is a very fast and reliable SQL database engine.
    ### END INIT INFO# If you install MySQL on some other places than /usr/local/mysql, then you
    # have to do one of the following things for this script to work:
    #
    # - Run this script from within the MySQL installation directory
    # - Create a /etc/my.cnf file with the following information:
    #   [mysqld]
    #   basedir=<path-to-mysql-installation-directory>
    # - Add the above to any other configuration file (for example ~/.my.ini)
    #   and copy my_print_defaults to /usr/bin
    # - Add the path to the mysql-installation-directory to the basedir variable
    #   below.
    #
    # If you want to affect other MySQL variables, you should make your changes
    # in the /etc/my.cnf, ~/.my.cnf or other MySQL configuration files.# If you change base dir, you must also change datadir. These may get
    # overwritten by settings in the MySQL configuration files.basedir=
    datadir=# Default value, in seconds, afterwhich the script should timeout waiting
    # for server start.
    # Value here is overriden by value in my.cnf.
    # 0 means don't wait at all
    # Negative numbers mean to wait indefinitely
    service_startup_timeout=900# Lock directory for RedHat / SuSE.
    lockdir='/var/lock/subsys'
    lock_file_path="$lockdir/mysql"# The following variables are only set for letting mysql.server find things.# Set some defaults
    mysqld_pid_file_path=
    if test -z "$basedir"
    thenbasedir=/usr/local/mysqlbindir=/usr/local/mysql/binif test -z "$datadir"thendatadir=/usr/local/mysql/datafisbindir=/usr/local/mysql/binlibexecdir=/usr/local/mysql/bin
    elsebindir="$basedir/bin"if test -z "$datadir"thendatadir="$basedir/data"fisbindir="$basedir/sbin"libexecdir="$basedir/libexec"
    fi# datadir_set is used to determine if datadir was set (and so should be
    # *not* set inside of the --basedir= handler.)
    datadir_set=#
    # Use LSB init script functions for printing messages, if possible
    #
    lsb_functions="/lib/lsb/init-functions"
    if test -f $lsb_functions ; then. $lsb_functions
    elselog_success_msg(){echo " SUCCESS! $@"}log_failure_msg(){echo " ERROR! $@"}
    fiPATH="/sbin:/usr/sbin:/bin:/usr/bin:$basedir/bin"
    export PATHmode=$1    # start or stop[ $# -ge 1 ] && shiftother_args="$*"   # uncommon, but needed when called from an RPM upgrade action# Expected: "--skip-networking --skip-grant-tables"# They are not checked here, intentionally, as it is the resposibility# of the "spec" file author to give correct arguments only.case `echo "testing\c"`,`echo -n testing` in*c*,-n*) echo_n=   echo_c=     ;;*c*,*)   echo_n=-n echo_c=     ;;*)       echo_n=   echo_c='\c' ;;
    esacparse_server_arguments() {for arg docase "$arg" in--basedir=*)  basedir=`echo "$arg" | sed -e 's/^[^=]*=//'`bindir="$basedir/bin"if test -z "$datadir_set"; thendatadir="$basedir/data"fisbindir="$basedir/sbin"libexecdir="$basedir/libexec";;--datadir=*)  datadir=`echo "$arg" | sed -e 's/^[^=]*=//'`datadir_set=1;;--pid-file=*) mysqld_pid_file_path=`echo "$arg" | sed -e 's/^[^=]*=//'` ;;--service-startup-timeout=*) service_startup_timeout=`echo "$arg" | sed -e 's/^[^=]*=//'` ;;esacdone
    }wait_for_pid () {verb="$1"           # created | removedpid="$2"            # process ID of the program operating on the pid-filepid_file_path="$3" # path to the PID file.i=0avoid_race_condition="by checking again"while test $i -ne $service_startup_timeout ; docase "$verb" in'created')# wait for a PID-file to pop into existence.test -s "$pid_file_path" && i='' && break;;'removed')# wait for this PID-file to disappeartest ! -s "$pid_file_path" && i='' && break;;*)echo "wait_for_pid () usage: wait_for_pid created|removed pid pid_file_path"exit 1;;esac# if server isn't running, then pid-file will never be updatedif test -n "$pid"; thenif kill -0 "$pid" 2>/dev/null; then:  # the server still runselse# The server may have exited between the last pid-file check and now.  if test -n "$avoid_race_condition"; thenavoid_race_condition=""continue  # Check again.fi# there's nothing that will affect the file.log_failure_msg "The server quit without updating PID file ($pid_file_path)."return 1  # not waiting any more.fifiecho $echo_n ".$echo_c"i=`expr $i + 1`sleep 1doneif test -z "$i" ; thenlog_success_msgreturn 0elselog_failure_msgreturn 1fi
    }# Get arguments from the my.cnf file,
    # the only group, which is read from now on is [mysqld]
    if test -x "$bindir/my_print_defaults";  thenprint_defaults="$bindir/my_print_defaults"
    else# Try to find basedir in /etc/my.cnfconf=/etc/my.cnfprint_defaults=if test -r $confthensubpat='^[^=]*basedir[^=]*=\(.*\)$'dirs=`sed -e "/$subpat/!d" -e 's//\1/' $conf`for d in $dirsdod=`echo $d | sed -e 's/[   ]//g'`if test -x "$d/bin/my_print_defaults"thenprint_defaults="$d/bin/my_print_defaults"breakfidonefi# Hope it's in the PATH ... but I doubt ittest -z "$print_defaults" && print_defaults="my_print_defaults"
    fi#
    # Read defaults file from 'basedir'.   If there is no defaults file there
    # check if it's in the old (depricated) place (datadir) and read it from there
    #extra_args=""
    if test -r "$basedir/my.cnf"
    thenextra_args="-e $basedir/my.cnf"
    fiparse_server_arguments `$print_defaults $extra_args mysqld server mysql_server mysql.server`#
    # Set pid file if not given
    #
    if test -z "$mysqld_pid_file_path"
    thenmysqld_pid_file_path=$datadir/`hostname`.pid
    elsecase "$mysqld_pid_file_path" in/* ) ;;* )  mysqld_pid_file_path="$datadir/$mysqld_pid_file_path" ;;esac
    ficase "$mode" in'start')# Start daemon# Safeguard (relative paths, core dumps..)cd $basedirecho $echo_n "Starting MySQL"if test -x $bindir/mysqld_safethen# Give extra arguments to mysqld with the my.cnf file. This script# may be overwritten at next upgrade.$bindir/mysqld_safe --datadir="$datadir" --pid-file="$mysqld_pid_file_path" $other_args >/dev/null &wait_for_pid created "$!" "$mysqld_pid_file_path"; return_value=$?# Make lock for RedHat / SuSEif test -w "$lockdir"thentouch "$lock_file_path"fiexit $return_valueelselog_failure_msg "Couldn't find MySQL server ($bindir/mysqld_safe)"fi;;'stop')# Stop daemon. We use a signal here to avoid having to know the# root password.if test -s "$mysqld_pid_file_path"then# signal mysqld_safe that it needs to stoptouch "$mysqld_pid_file_path.shutdown"mysqld_pid=`cat "$mysqld_pid_file_path"`if (kill -0 $mysqld_pid 2>/dev/null)thenecho $echo_n "Shutting down MySQL"kill $mysqld_pid# mysqld should remove the pid file when it exits, so wait for it.wait_for_pid removed "$mysqld_pid" "$mysqld_pid_file_path"; return_value=$?elselog_failure_msg "MySQL server process #$mysqld_pid is not running!"rm "$mysqld_pid_file_path"fi# Delete lock for RedHat / SuSEif test -f "$lock_file_path"thenrm -f "$lock_file_path"fiexit $return_valueelselog_failure_msg "MySQL server PID file could not be found!"fi;;'restart')# Stop the service and regardless of whether it was# running or not, start it again.if $0 stop  $other_args; then$0 start $other_argselselog_failure_msg "Failed to stop running server, so refusing to try to start."exit 1fi;;'reload'|'force-reload')if test -s "$mysqld_pid_file_path" ; thenread mysqld_pid <  "$mysqld_pid_file_path"kill -HUP $mysqld_pid && log_success_msg "Reloading service MySQL"touch "$mysqld_pid_file_path"elselog_failure_msg "MySQL PID file could not be found!"exit 1fi;;'status')# First, check to see if pid file existsif test -s "$mysqld_pid_file_path" ; then read mysqld_pid < "$mysqld_pid_file_path"if kill -0 $mysqld_pid 2>/dev/null ; then log_success_msg "MySQL running ($mysqld_pid)"exit 0elselog_failure_msg "MySQL is not running, but PID file exists"exit 1fielse# Try to find appropriate mysqld processmysqld_pid=`pidof $libexecdir/mysqld`# test if multiple pids existpid_count=`echo $mysqld_pid | wc -w`if test $pid_count -gt 1 ; thenlog_failure_msg "Multiple MySQL running but PID file could not be found ($mysqld_pid)"exit 5elif test -z $mysqld_pid ; then if test -f "$lock_file_path" ; then log_failure_msg "MySQL is not running, but lock file ($lock_file_path) exists"exit 2fi log_failure_msg "MySQL is not running"exit 3elselog_failure_msg "MySQL is running but PID file could not be found"exit 4fifi;;*)# usagebasename=`basename "$0"`echo "Usage: $basename  {start|stop|restart|reload|force-reload|status}  [ MySQL server options ]"exit 1;;
    esacexit 0

Redis

注意事项:

  • Redis安装路径为:/usr/local/redis
  • Redis的配置文件路径为:/usr/local/redis/redis.conf
  • 启动脚本:

    #!/bin/bash
    #
    # chkconfig: 2345 10 90
    # description: Start and Stop redis
    PATH=/usr/local/bin:/sbin:/usr/bin:/bin
    # redis port
    REDISPORT=6379# redis-server location
    EXEC=/usr/local/redis/src/redis-server   # redis-cli location
    REDIS_CLI=/usr/local/redis/src/redis-cli
    PIDFILE=/var/run/redis.pid   # redis config file location
    CONF="/usr/local/redis/redis.conf"
    AUTH="root"
    case "$1" in   start)   if [ -f $PIDFILE ]   then   echo "$PIDFILE exists, process is already running or crashed."  else  echo "Starting Redis server..."  $EXEC $CONF   fi   if [ "$?"="0" ]   then   echo "Redis is running..."  fi   ;;   stop)   if [ ! -f $PIDFILE ]   then   echo "$PIDFILE exists, process is not running."  else  PID=$(cat $PIDFILE)   echo "Stopping..."  $REDIS_CLI -p $REDISPORT  SHUTDOWN    sleep 2  while [ -x $PIDFILE ]   do  echo "Waiting for Redis to shutdown..."  sleep 1  done   echo "Redis stopped"  fi   ;;   restart|force-reload)   ${0} stop   ${0} start   ;;   *)   echo "Usage: /etc/init.d/redis {start|stop|restart|force-reload}" >&2  exit 1
    esac

Nginx

注意事项:

  • Nginx的安装路径为:/usr/local/nginx
  • Nginx的配置文件路径为:/usr/local/nginx/conf/nginx.conf
  • 启动脚本:

    #!/bin/sh
    #
    # nginx - this script starts and stops the nginx daemon
    #
    # chkconfig: - 85 15
    # description: Nginx is an HTTP(S) server, HTTP(S) reverse \
    #   proxy and IMAP/POP3 proxy server
    # processname: nginx
    # config: /etc/nginx/nginx.conf
    # config: /etc/sysconfig/nginx
    # pidfile: /var/run/nginx.pid
    # Source function library.
    . /etc/rc.d/init.d/functions
    # Source networking configuration.
    . /etc/sysconfig/network
    # Check that networking is up.
    [ "$NETWORKING" = "no" ] && exit 0 nginx="/usr/local/nginx/sbin/nginx" prog=$(basename $nginx) NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf"
    [ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx lockfile=/var/lock/subsys/nginx start() { [ -x $nginx ] || exit 5 [ -f $NGINX_CONF_FILE ] || exit 6 echo -n $"Starting $prog: " daemon $nginx -c $NGINX_CONF_FILE retval=$? echo
    [ $retval -eq 0 ] && touch $lockfile return $retval
    } stop() { echo -n $"Stopping $prog: " killproc $prog -QUIT retval=$? echo
    [ $retval -eq 0 ] && rm -f $lockfile return $retval killall -9 nginx
    } restart() { configtest || return $? stop sleep 1 start
    } reload() { configtest || return $? echo -n $"Reloading $prog: " killproc $nginx -HUP RETVAL=$? echo
    } force_reload() { restart
    } configtest() { $nginx -t -c $NGINX_CONF_FILE
    } rh_status() { status $prog
    } rh_status_q() { rh_status >/dev/null 2>&1
    } case "$1" in start) rh_status_q && exit 0 $1 ;; stop) rh_status_q || exit 0 $1 ;; restart|configtest) $1 ;; reload) rh_status_q || exit 7 $1 ;; force-reload) force_reload ;; status) rh_status ;; condrestart|try-restart) rh_status_q || exit 0 ;; *) echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}" exit 2
    esac 

相关常用命令

修改脚本权限

chmod 755 [脚本文件名称]
chmod +x [脚本文件名称]

将脚本文件添加到服务中

chkconfig --add [脚本文件名称]# 查看服务列表
chkconfig --list# 移除服务
chkconfig --del [服务名称]# 设置开机在3和5级别自动启动
chkconfig --level 35 nginx on

系统服务

# 防火墙
# 防火墙状态
systemctl status firewalld.service
# 关闭防火墙
systemctl stop firewalld.service
# 启动防火墙
systemctl start firewalld.service
# 重启防火墙
systemctl restart firewalld.service
# 设置开机启用防火墙
systemctl enable firewalld.service
# 设置开机不启动防火墙
systemctl disable firewalld.service
# 查看服务是否开机启动
systemctl is-enabled firewalld.service
# 查看已启动的服务列表
systemctl list-unit-files|grep enabled
# 查看启动失败的服务列表
systemctl--failed# 网络
systemctl status network.service
systemctl stop network.service
systemctl start network.service
systemctl restart network.servicesystemctl status NetworkManager.service
systemctl stop NetworkManager.service
systemctl start NetworkManager.service
systemctl restart NetworkManager.service# 端口
#说明:
#–zone #作用域
#–add-port=80/tcp #添加端口,格式为:端口/通讯协议
#–permanent 永久生效,没有此参数重启后失效
# 设置3306端口的udp协议允许通过防火墙
firewall-cmd --zone=public --add-port=3306/udp --permanent
firewall-cmd --zone=public --remove-port=3306/udp --permanent
# 设置3306端口的tcp协议允许通过防火墙
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --zone=public --remove-port=3306/tcp --permanent
# 查看3306端口是否成功添加到防火墙白名单中
firewall-cmd --zone=public --list-ports
# 查看防火墙所有信息
firewall-cmd --zone=public --list-all# 限制ip访问
# 对特定ip 禁止访问shh服务  (ip  shh可以自己改别的  最后面的reject是禁止的意思也可以换成允许的英文,)
firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="192.168.10.0/24" service name="ssh" reject"
# 下面的是对特定ip允许访问8080端口
firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="192.168.0.4/24" port protocol="tcp" port="8080" accept"

进程

ps -ef | grep nginx
netstat -nltp | grep mysql

CentOS下常用软件开机自启动脚本相关推荐

  1. ubuntu18.04下设置软件开机自启动

    1.去掉开机自启动,使开机后不需要输入密码就可以自动进入系统 系统设置---用户账户---选择一个账户----点击右上角解锁后---打开自动登录---点击右上角锁定 2.完成开机自启动脚本 (1).要 ...

  2. centos下实现程序开机自启动(tomcat为例)

    vim /etc/rc.d/rc.local 打开后用下文覆盖即可 ------------------------------------------------------------------ ...

  3. CentOS下实现postgresql开机自启动

    编辑/etc/rc.d/rc.local su -c '/opt/pgsql9.1/bin/pg_ctl start -D /usr/local/pgsql/data -l serverlog' po ...

  4. 【记录】我的一个Centos开机自启动脚本的制作

    原文地址: http://www.2cto.com/os/201306/220559.html 我的一个Centos开机自启动脚本的制作 一.切换到/etc/init.d/ 二.制作sh脚本 vi a ...

  5. bash 脚本中激活conda环境_ubuntu18.10目标检测算法环境部署+开机自启动脚本创建screen下的web服务...

    内容概要 cuda+cudnn+python环境安装 ubuntu18的开机自启动脚本 screen服务开启 以我个人的实践来看,把python开发的算法封装成webserver的服务供前端程序调用是 ...

  6. Linux下常用软件压缩包方式安装

    Linux下常用软件压缩包方式安装 特别说明:以下需要安装的软件,下载相应压缩包后均上传至服务器的/opt/目录下 1.JDK安装 下载JDK 解压JDK tar -zxvf jdk-8u211-li ...

  7. systemd下supervisord服务开机自启动以及注意事项

    systemd 下supervisord服务开机自启动 centos7 开机自启动脚本: #vim /lib/systemd/system/supervisord.service# superviso ...

  8. Linux设置开机自启动脚本

    这里介绍两种Linux开机自启动脚本的方式 也可用于开机自启动软件(把软件的启动写成脚本,然后再让脚本开机自启动即可) 方式1:/etc/profile.d/ 把自启动脚本放在/etc/profile ...

  9. linux开发板开机自启动脚本,linux 添加开机自启动脚本

    Linux设置服务开机自动启动的方式有好多种,这里介绍一下通过chkconfig命令添加脚本为开机自动启动的方法. 1. 编写脚本autostart.sh(这里以开机启动redis服务为例),脚本内容 ...

最新文章

  1. 解决Ubuntu Adobe Reader 菜单栏空白
  2. 【深度学习篇】--神经网络中解决梯度弥散问题
  3. Spring Boot 异步请求和异步调用,一文搞定!
  4. python编写的程序大全_Python开发技术大全
  5. s5p4418 Android 4.4.2 驱动层 HAL层 服务层 应用层 开发流程记录(一 硬件驱动层)
  6. 国产杀毒软件也开始支持虚拟化
  7. 《2018华为92家核心供应商及其供应产品》
  8. bodymovin导出没有html5,AE脚本-导出json格式的Web动画工具 Bodymovin v5.5.3+使用教程
  9. bat批量修改文件后缀名
  10. 电力英语计算机C级多少分,中级工程师英语加权分多少
  11. 测试用例设计——错误猜测法
  12. 题解 DTOJ #1071. 国王小C kingdom
  13. win10睡眠按啥键唤醒_win10关闭屏幕后无法唤醒怎么办?电脑黑屏只能重启的解决方法...
  14. python爬取b站弹幕_如何爬取B站弹幕
  15. EOS 一周回顾(11.25-12.1)
  16. Latex实践:一个零Latex基础的术渣花了一天半的时间用Latex完成一篇SCI论文编辑
  17. 频谱、频谱密度、功率谱密度、能量谱密度
  18. 7. 常见网络攻击欺骗手段与防护
  19. 计算机系班级未来展望,大学生班长对班级未来的展望.doc
  20. 华为数字化转型规划“三阶十二步法”

热门文章

  1. CSS盒子边框(border)样式综合样式
  2. 宁愿吃生活的苦,也不愿坚持学习
  3. 华为云服务器更换操作系统,华为云 更换操作系统
  4. 【C】 小球自由下落
  5. 电子元器件行业B2B交易系统:规范企业交易流程,提升销售管理效率
  6. 安卓开发中获取服务器网络延迟(ping)
  7. 总结—每个程序员都应该了解的固态硬盘知识
  8. 终于有人把 “单点“ 登录说清楚了!
  9. 互联网中常见的实名认证方式有哪几种?
  10. Unity 模型导入材质丢失解决方案