Skip to content

Instantly share code, notes, and snippets.

@Mikulas
Created June 24, 2013 11:56
Show Gist options
  • Save Mikulas/5849553 to your computer and use it in GitHub Desktop.
Save Mikulas/5849553 to your computer and use it in GitHub Desktop.
Ramdisk mysql data
#!/bin/bash
# Tweaked from http://tomislavsantek.iz.hr/2011/03/moving-mysql-databases-to-ramdisk-in-ubuntu-linux
# @author Tomas Susanka
# @author Mikulas Dite
DB_PATH="/var/lib/mysql"
TMP_PATH="/tmp/ramdisk"
CONFIG_PATH="/etc/mysql/conf.d/ramdisk_datadir.cnf"
RAMDB_PATH="$TMP_PATH/mysql"
if [ "$(id -u)" != "0" ]; then
echo "Must be run as root"
exit 1
fi
COMMAND="$1"
case $COMMAND in
start)
echo "Stopping mysql service..."
service mysql stop
# set mysql datadir to ramdisk
echo "[mysqld]\ndatadir=$RAMDB_PATH" > $CONFIG_PATH
# Mount ramdisk folder in RAM
echo "Creating ramdisk at $TMP_PATH"
mkdir -p $TMP_PATH
mount -t tmpfs -o size=256M tmpfs $TMP_PATH
# Get MySQL data
echo "Copying databases from $DB_PATH to $RAMDB_PATH"
cp -a $DB_PATH $RAMDB_PATH
# Update permissions
chmod -R 700 $RAMDB_PATH
chown -R mysql:mysql $RAMDB_PATH
echo "Starting mysql..."
service mysql start
#curl "http://localhost/Clevis/NajdiProstory/migrations/run.php?reset&data" > /dev/null 2>&1 && echo "migrace dokončeny" #reset dat
;;
stop)
service mysql stop
rm -rf $TMP_PATH
rm -rf $CONFIG_PATH
;;
dbsave)
echo "not implemented"
exit 1
;;
*)
echo "usage: stop/start"
exit 1;
;;
esac
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment