MySQL: Difference between revisions
From MediaWiki
Jump to navigationJump to search
(New page: = MySQL = This page contains some notes on using the MySQL database server on a '''NST''' probe. == Backing Up A Database == The following script fragment demonstrates how one can backu...) |
|||
Line 57: | Line 57: | ||
mysql_restore() { | mysql_restore() { | ||
# Name of database and directory where backup was saved | # Name of database and directory where backup was saved | ||
local PKGDB=" | local PKGDB="${1}"; | ||
local PKGSAVEDIR=" | local PKGSAVEDIR="${2}"; | ||
local PKGSAVEFILE="${PKGSAVEDIR}/${PKGDB}.sql.gz"; | local PKGSAVEFILE="${PKGSAVEDIR}/${PKGDB}.sql.gz"; |
Revision as of 08:17, 28 February 2007
MySQL
This page contains some notes on using the MySQL database server on a NST probe.
Backing Up A Database
The following script fragment demonstrates how one can backup a single database kept at the server:
#!/bin/bash # mysql_backup DBNAME BACKUPDIR # # Function to backup MySQL database to specified backup directory. mysql_backup() { # Name of database and directory to save backup under. local PKGDB="${1}"; local PKGSAVEDIR="${2}"; local PKGSAVEFILE="${PKGSAVEDIR}/${PKGDB}.sql.gz"; # Load MySQL access password if [ "${MYSQLCTPASSWD}" == "" ]; then . /etc/nst.conf || return 1; fi # Create save directory if it doesn't exist yet [ -d "${PKGSAVEDIR}" ] || mkdir -p "${PKGSAVEDIR}" || return 1; # Dump the database mysqldump \ --host="127.0.0.1" \ --user="root" \ --password="${NSTCTMYSQLPASSWD}" \ --add-drop-database \ --add-drop-table \ --databases "${PKGDB}" \ | gzip -c >| "${PKGSAVEFILE}"; } # Backup database named "wikidb" unless user specified different name on command line mysql_backup "${1:-wikidb}" "/var/nst/backup/db";
NOTE: The above script needs to be run as root so that it can pull the MySQL password from the file: "/etc/nst.conf".
The following script fragment demonstrates how to restore the database (WARNING: THIS REPLACES ANY EXISTING DATABASE HAVING THE SAME NAME):
#!/bin/bash # mysql_restore DBNAME BACKUPDIR # # Restores a MySQL database that was previously saved using the "mysql_backup" function. mysql_restore() { # Name of database and directory where backup was saved local PKGDB="${1}"; local PKGSAVEDIR="${2}"; local PKGSAVEFILE="${PKGSAVEDIR}/${PKGDB}.sql.gz"; # Verify backup exists [ -f "${PKGSAVEFILE}" ] || return 1; # Load MySQL access password if [ "${MYSQLCTPASSWD}" == "" ]; then . /etc/nst.conf || return 1; fi # Restore the database gzip -dc < "${PKGSAVEFILE}" | \ mysql \ --host="127.0.0.1" \ --user="root" \ --password="${NSTCTMYSQLPASSWD}"; } # Restore database named "wikidb" unless user specified different name on command line mysql_restore "${1:-wikidb}" "/var/nst/backup/db";