PHP 8.5.2
Preview: mysql-systemd-start Size: 2.64 KB
//usr/share/mysql/mysql-systemd-start

#!/bin/bash

# Scripts to run by Percona Server systemd service
#
# Needed argument: pre
#
# pre mode  :  try to perform sanity check for configuration, log, data

# Include helper functions
. /usr/share/mysql/mysql-helpers

fix_thp_setting() {
        THP_SETTING=$(my_print_defaults mysqld_safe | grep thp-setting | cut -d= -f2 | tail -n 1)
        if [ ! -z "${THP_SETTING}" ]; then
                # Set whatever option is specified in config file
                echo "${THP_SETTING}" > /sys/kernel/mm/transparent_hugepage/defrag
                echo "${THP_SETTING}" > /sys/kernel/mm/transparent_hugepage/enabled
        fi
}

my_which () {
    save_ifs="${IFS-UNSET}"
    IFS=:
    ret=0
    for file
    do
        for dir in $PATH
        do
        if [ -f "$dir/$file" ]
        then
            echo "$dir/$file"
            continue 2
        fi
        done

        ret=1  #signal an error
        break
    done

    if [ "$save_ifs" = UNSET ]
    then
        unset IFS
    else
        IFS="$save_ifs"
    fi
    return $ret  # Success
}

fix_flush_caches() {
    flush_caches=$(my_print_defaults mysqld_safe | grep flush_caches | cut -d= -f2 | tail -n 1)
    if [ ! -z ${flush_caches} ]; then
        if [ ${flush_caches} = 1 ]; then
            if [ ! $(my_which sync) ]; then
                echo "sync command not found, required for --flush-caches"
                exit 1
            # Flush file system buffers.
            else
                sync
                ret=$?
                if [ $ret -ne 0 ]; then
                    # Huh, the sync() function is always successful...
                    echo "sync failed, check if sync is properly installed"
                fi
            fi

            # Locate sysctl, ensure it exists.
            if [ ! $(my_which sysctl) ]; then
                echo "sysctl command not found, required for --flush-caches"
                exit 1
            # Purge page cache, dentries and inodes.
            else
                sysctl -q -w vm.drop_caches=3
                ret=$?
                if [ $ret -ne 0 ]; then
                    echo "sysctl failed, check the error message for details"
                    exit 1
                fi
            fi
        fi
    fi
}

sanity () {
# Make sure database and required directories exist
        verify_ready $1
        verify_database $1


        if [ ! -r /etc/mysql/my.cnf ]; then
                echo "Percona Server configuration not found at /etc/mysql/my.cnf. Please install one using update-alternatives."
                exit 1
        fi

        # Needed because of TokuDB
        fix_thp_setting
	fix_flush_caches
}

case $1 in
        "pre")  sanity $2 ;;
esac

Directory Contents

Dirs: 25 × Files: 10

Name Size Perms Modified Actions
bulgarian DIR
- drwxr-xr-x 2026-01-23 09:02:20
Edit Download
charsets DIR
- drwxr-xr-x 2026-01-23 09:02:20
Edit Download
czech DIR
- drwxr-xr-x 2026-01-23 09:02:20
Edit Download
danish DIR
- drwxr-xr-x 2026-01-23 09:02:20
Edit Download
dutch DIR
- drwxr-xr-x 2026-01-23 09:02:20
Edit Download
english DIR
- drwxr-xr-x 2026-01-23 09:02:20
Edit Download
estonian DIR
- drwxr-xr-x 2026-01-23 09:02:20
Edit Download
french DIR
- drwxr-xr-x 2026-01-23 09:02:20
Edit Download
german DIR
- drwxr-xr-x 2026-01-23 09:02:20
Edit Download
greek DIR
- drwxr-xr-x 2026-01-23 09:02:20
Edit Download
hungarian DIR
- drwxr-xr-x 2026-01-23 09:02:20
Edit Download
italian DIR
- drwxr-xr-x 2026-01-23 09:02:20
Edit Download
japanese DIR
- drwxr-xr-x 2026-01-23 09:02:20
Edit Download
korean DIR
- drwxr-xr-x 2026-01-23 09:02:20
Edit Download
norwegian DIR
- drwxr-xr-x 2026-01-23 09:02:20
Edit Download
- drwxr-xr-x 2026-01-23 09:02:20
Edit Download
polish DIR
- drwxr-xr-x 2026-01-23 09:02:20
Edit Download
- drwxr-xr-x 2026-01-23 09:02:20
Edit Download
romanian DIR
- drwxr-xr-x 2026-01-23 09:02:20
Edit Download
russian DIR
- drwxr-xr-x 2026-01-23 09:02:20
Edit Download
serbian DIR
- drwxr-xr-x 2026-01-23 09:02:20
Edit Download
slovak DIR
- drwxr-xr-x 2026-01-23 09:02:20
Edit Download
spanish DIR
- drwxr-xr-x 2026-01-23 09:02:20
Edit Download
swedish DIR
- drwxr-xr-x 2026-01-23 09:02:20
Edit Download
ukrainian DIR
- drwxr-xr-x 2026-01-23 09:02:20
Edit Download
2.25 KB lrw-r--r-- 2025-12-04 10:46:13
Edit Download
24.98 KB lrw-r--r-- 2025-12-04 10:46:13
Edit Download
2.21 KB lrw-r--r-- 2025-12-16 08:06:46
Edit Download
637.44 KB lrw-r--r-- 2025-12-04 10:46:13
Edit Download
423.96 KB lrw-r--r-- 2025-12-04 10:46:13
Edit Download
6.71 KB lrw-r--r-- 2025-12-16 08:06:46
Edit Download
1.98 KB lrw-r--r-- 2025-12-16 08:06:46
Edit Download
2.64 KB lrwxr-xr-x 2025-12-16 08:06:46
Edit Download
1.04 KB lrwxr-xr-x 2025-12-04 10:46:13
Edit Download
1.27 KB lrw-r--r-- 2025-12-16 08:06:46
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).