Чистим историю в базе данных zabbix

Ни для кого не секрет , что со временем база данных zabbix увеличивается. Поэтому покажу вам как ее почистить в базе. Итак, подключаемся любым удобным клиентом к базе mysql и далее по списку. (далее…)

Как сделать резервную копию MySql всех баз данных

Хочу поделится с вами небольшим скриптом для создания резервных копий всех баз данных MySql.

#!/bin/bash

MyUSER="dbuser"
MyPASS="dbpass"
MyHOST="localhost"

MYSQL="$(which mysql)"
MYSQLDUMP="$(which mysqldump)"

#MYSQL="/usr/local/bin/mysql"
#MYSQLDUMP="/usr/local/bin/mysqldump"

CHOWN="$(which chown)"
CHMOD="$(which chmod)"
GZIP="$(which gzip)"

DEST="./db_backup"

MBD="$DEST"
HOST="$(hostname)"
NOW="$(date +"%Y%m%d")"

FILE=""
DBS=""

# DO NOT BACKUP these databases, delemiter SPACE
IGN="information_schema"

# Get all database list first
DBS="$($MYSQL -u $MyUSER -h $MyHOST -p$MyPASS -Bse 'show databases')"

for db in $DBS
do

    skipdb=-1
    if [ "$IGN" != "" ]; then
        for i in $IGN
        do
            [ "$db" == "$i" ] && skipdb=1 || :
        done
    fi

    if [ "$skipdb" == "-1" ] ; then
        MBD="$DEST/$db"    	
        [ ! -d $MBD ] && mkdir -p $MBD || :
        FILE="$MBD/$NOW.sql.gz"
            $MYSQLDUMP --opt -u $MyUSER -h $MyHOST -p$MyPASS $db | $GZIP -9 > $FILE
        FNUM="$(find $MBD/* | wc -l)"
        if [ $FNUM -ge 0 ] ; then
            find $MBD/* -type f -mtime 20 -exec rm -rf {} \;
        fi
    fi

done

Выводим список таблиц с количеством записей в mysql

Хочу привести небольшой пример запроса, с помощью которого можно получить список таблиц в mysql базе с количеством записей :

SELECT table_name, table_rows 
FROM INFORMATION_SCHEMA.TABLES 
WHERE TABLE_SCHEMA = '**YOUR DATABASE**';

Вывод будет примерно таким:

mysql (1)