More fixes as per the reviews.

- Took out ${prefix}-
- get_var sanity
- pt-mysql-summary now follows pt-summary's suit and doesn't take
  in files to write to
- pt-summary defers setting the CMD_FOO vars to a function, as
  otherwise it would skip our PATH mungling.
This commit is contained in:
Brian Fraser fraserb@gmail.com
2012-03-28 13:04:14 -03:00
parent ae6c1e3789
commit 4bb5968c23
65 changed files with 2865 additions and 452 deletions

View File

@@ -719,7 +719,7 @@ setup_data_dir () {
get_var () {
local varname="$1"
local file="$2"
echo "$(awk "\$1 ~ /^${varname}$/ { if (length(\$2)) { print substr(\$0, index(\$0,\$2)) } }" "${file}")"
awk -v pattern="${varname}" '$1 == pattern { if (length($2)) { print substr($0, index($0,$2)) } }' "${file}"
}
# ###########################################################################
@@ -741,8 +741,7 @@ CMD_MYSQL="${CMD_MYSQL:-""}"
CMD_MYSQLDUMP="${CMD_MYSQLDUMP:-""}"
collect_mysqld_instances () {
local file="$1"
local variables_file="$2"
local variables_file="$1"
local pids="$(_pidof mysqld)"
@@ -756,9 +755,9 @@ collect_mysqld_instances () {
done
pids="$(echo $pids | sed -e 's/ /,/g')"
ps ww -p "$pids" 2>/dev/null > "$file"
ps ww -p "$pids" 2>/dev/null
else
echo "mysqld doesn't appear to be running" > "$file"
echo "mysqld doesn't appear to be running"
fi
}
@@ -792,43 +791,35 @@ find_my_cnf_file() {
}
collect_mysql_variables () {
local file="$1"
$CMD_MYSQL $EXT_ARGV -ss -e 'SHOW /*!40100 GLOBAL*/ VARIABLES' > "$file"
$CMD_MYSQL $EXT_ARGV -ss -e 'SHOW /*!40100 GLOBAL*/ VARIABLES'
}
collect_mysql_status () {
local file="$1"
$CMD_MYSQL $EXT_ARGV -ss -e 'SHOW /*!50000 GLOBAL*/ STATUS' > "$file"
$CMD_MYSQL $EXT_ARGV -ss -e 'SHOW /*!50000 GLOBAL*/ STATUS'
}
collect_mysql_databases () {
local file="$1"
$CMD_MYSQL $EXT_ARGV -ss -e 'SHOW DATABASES' > "$file" 2>/dev/null
$CMD_MYSQL $EXT_ARGV -ss -e 'SHOW DATABASES' 2>/dev/null
}
collect_mysql_plugins () {
local file="$1"
$CMD_MYSQL $EXT_ARGV -ss -e 'SHOW PLUGINS' > "$file" 2>/dev/null
$CMD_MYSQL $EXT_ARGV -ss -e 'SHOW PLUGINS' 2>/dev/null
}
collect_mysql_slave_status () {
local file="$1"
$CMD_MYSQL $EXT_ARGV -ssE -e 'SHOW SLAVE STATUS' > "$file" 2>/dev/null
$CMD_MYSQL $EXT_ARGV -ssE -e 'SHOW SLAVE STATUS' 2>/dev/null
}
collect_mysql_innodb_status () {
local file="$1"
$CMD_MYSQL $EXT_ARGV -ssE -e 'SHOW /*!50000 ENGINE*/ INNODB STATUS' > "$file" 2>/dev/null
$CMD_MYSQL $EXT_ARGV -ssE -e 'SHOW /*!50000 ENGINE*/ INNODB STATUS' 2>/dev/null
}
collect_mysql_processlist () {
local file="$1"
$CMD_MYSQL $EXT_ARGV -ssE -e 'SHOW FULL PROCESSLIST' > "$file" 2>/dev/null
$CMD_MYSQL $EXT_ARGV -ssE -e 'SHOW FULL PROCESSLIST' 2>/dev/null
}
collect_mysql_users () {
local file="$1"
$CMD_MYSQL $EXT_ARGV -ss -e 'SELECT COUNT(*), SUM(user=""), SUM(password=""), SUM(password NOT LIKE "*%") FROM mysql.user' > "$file" 2>/dev/null
$CMD_MYSQL $EXT_ARGV -ss -e 'SELECT COUNT(*), SUM(user=""), SUM(password=""), SUM(password NOT LIKE "*%") FROM mysql.user' 2>/dev/null
}
collect_master_logs_status () {
@@ -840,14 +831,11 @@ collect_master_logs_status () {
collect_mysql_deferred_status () {
local status_file="$1"
local defer_file="$2"
collect_mysql_status "$TMPDIR/defer_gatherer"
cat "$TMPDIR/defer_gatherer" | join "$status_file" - > "$defer_file"
collect_mysql_status > "$TMPDIR/defer_gatherer"
join "$status_file" "$TMPDIR/defer_gatherer"
}
collect_internal_vars () {
local file="$1"
local FNV_64=""
if $CMD_MYSQL $EXT_ARGV -e 'SELECT FNV_64("a")' >/dev/null 2>&1; then
FNV_64="Enabled";
@@ -860,23 +848,22 @@ collect_internal_vars () {
local trigger_count=$($CMD_MYSQL $EXT_ARGV -ss -e "SELECT COUNT(*) FROM INFORMATION_SCHEMA.TRIGGERS" 2>/dev/null)
local has_symbols="$(has_symbols "${CMD_MYSQL}")"
echo "pt-summary-internal-mysql_executable $CMD_MYSQL" >> "$file"
echo "pt-summary-internal-now $now" >> "$file"
echo "pt-summary-internal-user $user" >> "$file"
echo "pt-summary-internal-FNV_64 $FNV_64" >> "$file"
echo "pt-summary-internal-trigger_count $trigger_count" >> "$file"
echo "pt-summary-internal-symbols $has_symbols" >> "$file"
echo "pt-summary-internal-mysql_executable $CMD_MYSQL"
echo "pt-summary-internal-now $now"
echo "pt-summary-internal-user $user"
echo "pt-summary-internal-FNV_64 $FNV_64"
echo "pt-summary-internal-trigger_count $trigger_count"
echo "pt-summary-internal-symbols $has_symbols"
}
get_mysqldump_for () {
local file="$1"
local args="$2"
local dbtodump="${3:-"--all-databases"}"
local args="$1"
local dbtodump="${2:-"--all-databases"}"
$CMD_MYSQLDUMP $EXT_ARGV --no-data --skip-comments \
--skip-add-locks --skip-add-drop-table --compact \
--skip-lock-all-tables --skip-lock-tables --skip-set-charset \
${args} --databases $( local IFS=,; echo ${dbtodump}) >> "$file"
${args} --databases $( local IFS=,; echo ${dbtodump})
}
get_mysqldump_args () {
@@ -900,43 +887,42 @@ get_mysqldump_args () {
collect_mysql_info () {
local dir="$1"
local prefix="${2:-percona-toolkit}"
collect_mysql_variables "$dir/${prefix}-mysql-variables"
collect_mysql_status "$dir/${prefix}-mysql-status"
collect_mysql_databases "$dir/${prefix}-mysql-databases"
collect_mysql_plugins "$dir/${prefix}-mysql-plugins"
collect_mysql_slave_status "$dir/${prefix}-mysql-slave"
collect_mysql_innodb_status "$dir/${prefix}-innodb-status"
collect_mysql_processlist "$dir/${prefix}-mysql-processlist"
collect_mysql_users "$dir/${prefix}-mysql-users"
collect_mysql_variables > "$dir/mysql-variables"
collect_mysql_status > "$dir/mysql-status"
collect_mysql_databases > "$dir/mysql-databases"
collect_mysql_plugins > "$dir/mysql-plugins"
collect_mysql_slave_status > "$dir/mysql-slave"
collect_mysql_innodb_status > "$dir/innodb-status"
collect_mysql_processlist > "$dir/mysql-processlist"
collect_mysql_users > "$dir/mysql-users"
collect_mysqld_instances "$dir/${prefix}-mysqld-instances" "$dir/${prefix}-mysql-variables"
collect_mysqld_instances "$dir/mysql-variables" > "$dir/mysqld-instances"
local binlog="$(get_var log_bin "$dir/${prefix}-mysql-variables")"
local binlog="$(get_var log_bin "$dir/mysql-variables")"
if [ "${binlog}" ]; then
collect_master_logs_status "$dir/${prefix}-mysql-master-logs" "$dir/${prefix}-mysql-master-status"
collect_master_logs_status "$dir/mysql-master-logs" "$dir/mysql-master-status"
fi
local uptime="$(get_var Uptime "$dir/${prefix}-mysql-status")"
local uptime="$(get_var Uptime "$dir/mysql-status")"
local current_time="$($CMD_MYSQL $EXT_ARGV -ss -e \
"SELECT LEFT(NOW() - INTERVAL ${uptime} SECOND, 16)")"
local port="$(get_var port "$dir/${prefix}-mysql-variables")"
local cnf_file=$(find_my_cnf_file "$dir/${prefix}-mysqld-instances" ${port});
local port="$(get_var port "$dir/mysql-variables")"
local cnf_file=$(find_my_cnf_file "$dir/mysqld-instances" ${port});
echo "pt-summary-internal-current_time $current_time" >> "$dir/${prefix}-mysql-variables"
echo "pt-summary-internal-Config_File $cnf_file" >> "$dir/${prefix}-mysql-variables"
collect_internal_vars "$dir/${prefix}-mysql-variables"
echo "pt-summary-internal-current_time $current_time" >> "$dir/mysql-variables"
echo "pt-summary-internal-Config_File $cnf_file" >> "$dir/mysql-variables"
collect_internal_vars >> "$dir/mysql-variables"
if [ -n "${OPT_DATABASES}" ]; then
local trg_arg="$( get_mysqldump_args "$dir/${prefix}-mysql-variables" )"
get_mysqldump_for "$dir/${prefix}-mysqldump" "${trg_arg}" "${OPT_DATABASES}"
local trg_arg="$( get_mysqldump_args "$dir/mysql-variables" )"
get_mysqldump_for "${trg_arg}" "${OPT_DATABASES}" > "$dir/mysqldump"
fi
(
sleep $OPT_SLEEP
collect_mysql_deferred_status "$dir/${prefix}-mysql-status" "$dir/${prefix}-mysql-status-defer"
collect_mysql_deferred_status "$dir/mysql-status" > "$dir/mysql-status-defer"
) &
_d "Forked child is $!"
}
@@ -966,10 +952,10 @@ secs_to_time () {
feat_on() {
local file="$1"
local varname="$2"
[ -e "$file" ] || return
test ! -e "$file" && return
if get_var "$2" "${file}" 1>/dev/null 2>&1 ; then
if [ "$( get_var "$varname" "${file}" )" ]; then
local var="$(awk "\$1 ~ /^$2$/ { print \$2 }" $file)"
if [ "${var}" = "ON" ]; then
echo "Enabled"
@@ -1000,10 +986,10 @@ feat_on() {
get_table_cache () {
local file="$1"
test ! -e "$file" && return
[ -e "$file" ] || return
local table_cache=""
if get_var table_open_cache "${file}" 1>/dev/null 2>&1; then
if [ "$( get_var table_open_cache "${file}" )" ]; then
table_cache="$(get_var table_open_cache "${file}")"
else
table_cache="$(get_var table_cache "${file}")"
@@ -1030,7 +1016,7 @@ parse_mysqld_instances () {
local port=${port:-""}
local datadir="${datadir:-""}"
test ! -e "$file" && return
[ -e "$file" ] || return
echo " Port Data Directory Nice OOM Socket"
echo " ===== ========================== ==== === ======"
@@ -1061,7 +1047,7 @@ parse_mysqld_instances () {
get_mysql_timezone () {
local file="$1"
test ! -e "$file" && return
[ -e "$file" ] || return
local tz="$(get_var time_zone "${file}")"
if [ "${tz}" = "SYSTEM" ]; then
@@ -1087,7 +1073,7 @@ get_mysql_uptime () {
summarize_binlogs () {
local file="$1"
test ! -e "$file" && return
[ -e "$file" ] || return
local size="$(awk '{t += $2} END{printf "%0.f\n", t}' "$file")"
name_val "Binlogs" $(wc -l "$file")
@@ -1097,20 +1083,20 @@ summarize_binlogs () {
format_users () {
local file="$1"
test ! -e "$file" && return
[ -e "$file" ] || return
awk '{printf "%d users, %d anon, %d w/o pw, %d old pw\n", $1, $2, $3, $4}' "${file}"
}
format_binlog_filters () {
local file="$1"
test ! -e "$file" && return
[ -e "$file" ] || return
name_val "binlog_do_db" "$(cut -f3 "$file")"
name_val "binlog_ignore_db" "$(cut -f4 "$file")"
}
format_status_variables () {
local file="$1"
test ! -e "$file" && return
[ -e "$file" ] || return
utime1="$(awk '/Uptime /{print $2}' "$file")";
utime2="$(awk '/Uptime /{print $3}' "$file")";
@@ -1156,7 +1142,7 @@ format_status_variables () {
summarize_processlist () {
local file="$1"
test ! -e "$file" && return
[ -e "$file" ] || return
for param in Command User Host db State; do
echo
@@ -1208,7 +1194,7 @@ summarize_processlist () {
pretty_print_cnf_file () {
local file="$1"
test ! -e "$file" && return
[ -e "$file" ] || return
awk '
BEGIN {
@@ -1257,7 +1243,7 @@ find_checkpoint_age() {
find_pending_io_reads() {
local file="$1"
test ! -e "$file" && return
[ -e "$file" ] || return
awk '
/Pending normal aio reads/ {
@@ -1282,7 +1268,7 @@ find_pending_io_reads() {
find_pending_io_writes() {
local file="$1"
test ! -e "$file" && return
[ -e "$file" ] || return
awk '
/aio writes/ {
@@ -1313,7 +1299,7 @@ find_pending_io_writes() {
find_pending_io_flushes() {
local file="$1"
test ! -e "$file" && return
[ -e "$file" ] || return
awk '
/Pending flushes/ {
@@ -1329,7 +1315,7 @@ find_pending_io_flushes() {
summarize_undo_log_entries() {
local file="$1"
test ! -e "$file" && return
[ -e "$file" ] || return
grep 'undo log entries' "${file}" \
| sed -e 's/^.*undo log entries \([0-9]*\)/\1/' \
@@ -1349,7 +1335,7 @@ summarize_undo_log_entries() {
find_max_trx_time() {
local file="$1"
test ! -e "$file" && return
[ -e "$file" ] || return
awk '
BEGIN {
@@ -1374,7 +1360,7 @@ find_transation_states () {
local file="$1"
local tmpfile="$TMPDIR/find_transation_states.tmp"
test ! -e "$file" && return
[ -e "$file" ] || return
awk -F, '/^---TRANSACTION/{print $2}' "${file}" \
| sed -e 's/ [0-9]* sec.*//' \
@@ -1386,7 +1372,7 @@ find_transation_states () {
format_innodb_status () {
local file=$1
test ! -e "$file" && return
[ -e "$file" ] || return
name_val "Checkpoint Age" "$(shorten $(find_checkpoint_age "${file}") 0)"
name_val "InnoDB Queue" "$(awk '/queries inside/{print}' "${file}")"
@@ -1425,7 +1411,7 @@ format_overall_db_stats () {
local file="$1"
local tmpfile="$TMPDIR/format_overall_db_stats.tmp"
test ! -e "$file" && return
[ -e "$file" ] || return
echo
awk '
@@ -1704,7 +1690,7 @@ format_overall_db_stats () {
section_percona_server_features () {
local file="$1"
test ! -e "$file" && return
[ -e "$file" ] || return
name_val "Table & Index Stats" \
"$(feat_on "$file" userstat_running)"
@@ -1736,7 +1722,7 @@ section_myisam () {
local variables_file="$1"
local status_file="$2"
test ! -e "$variables_file" -o ! -e "$status_file" && return
[ -e "$variables_file" -a -e "$status_file" ] || return
local buf_size="$(get_var key_buffer_size "$variables_file")"
local blk_size="$(get_var key_cache_block_size "$variables_file")"
@@ -1755,7 +1741,7 @@ section_innodb () {
local variables_file="$1"
local status_file="$2"
test ! -e "$variables_file" -o ! -e "$status_file" && return
[ -e "$variables_file" -a -e "$status_file" ] || return
local version=$(get_var innodb_version "$variables_file")
name_val Version ${version:-default}
@@ -1812,7 +1798,7 @@ section_innodb () {
section_noteworthy_variables () {
local file="$1"
test ! -e "$file" && return
[ -e "$file" ] || return
name_val "Auto-Inc Incr/Offset" "$(get_var auto_increment_increment "$file")/$(get_var auto_increment_offset "$file")"
for v in \
@@ -1838,7 +1824,7 @@ _semi_sync_stats_for () {
local target="$1"
local file="$2"
test ! -e "$file" && return
[ -e "$file" ] || return
local semisync_status="$(get_var "Rpl_semi_sync_${target}_status" "${file}" )"
local semisync_trace="$(get_var "rpl_semi_sync_${target}_trace_level" "${file}")"
@@ -1914,7 +1900,6 @@ noncounters_pattern () {
report_mysql_summary () {
local dir="$1"
local prefix="${2:-percona-toolkit}"
local NAME_VAL_LEN=25
@@ -1922,40 +1907,40 @@ report_mysql_summary () {
section Percona_Toolkit_MySQL_Summary_Report
name_val "System time" "`date -u +'%F %T UTC'` (local TZ: `date +'%Z %z'`)"
section Instances
parse_mysqld_instances "$dir/${prefix}-mysqld-instances" "$dir/${prefix}-mysql-variables"
parse_mysqld_instances "$dir/mysqld-instances" "$dir/mysql-variables"
section MySQL_Executable
name_val "Path to executable" "$( get_var pt-summary-internal-mysql_executable "$dir/${prefix}-mysql-variables" )"
name_val "Has symbols" "$( get_var "pt-summary-internal-symbols" "$dir/${prefix}-mysql-variables" )"
name_val "Path to executable" "$( get_var pt-summary-internal-mysql_executable "$dir/mysql-variables" )"
name_val "Has symbols" "$( get_var "pt-summary-internal-symbols" "$dir/mysql-variables" )"
local user="$(get_var "pt-summary-internal-user" "$dir/${prefix}-mysql-variables")"
local port="$(get_var port "$dir/${prefix}-mysql-variables")"
local now="$(get_var "pt-summary-internal-now" "$dir/${prefix}-mysql-variables")"
local user="$(get_var "pt-summary-internal-user" "$dir/mysql-variables")"
local port="$(get_var port "$dir/mysql-variables")"
local now="$(get_var "pt-summary-internal-now" "$dir/mysql-variables")"
section "Report_On_Port_${port}"
name_val User "${user}"
name_val Time "${now} ($(get_mysql_timezone "$dir/${prefix}-mysql-variables"))"
name_val Hostname "$(get_var hostname "$dir/${prefix}-mysql-variables")"
get_mysql_version "$dir/${prefix}-mysql-variables"
name_val Time "${now} ($(get_mysql_timezone "$dir/mysql-variables"))"
name_val Hostname "$(get_var hostname "$dir/mysql-variables")"
get_mysql_version "$dir/mysql-variables"
local uptime="$(get_var Uptime "$dir/${prefix}-mysql-status")"
local current_time="$(get_var "pt-summary-internal-current_time" "$dir/${prefix}-mysql-variables")"
local uptime="$(get_var Uptime "$dir/mysql-status")"
local current_time="$(get_var "pt-summary-internal-current_time" "$dir/mysql-variables")"
name_val Started "$(get_mysql_uptime "${uptime}" "${current_time}")"
local num_dbs="$(grep -c . "$dir/${prefix}-mysql-databases")"
local num_dbs="$(grep -c . "$dir/mysql-databases")"
name_val Databases "${num_dbs}"
name_val Datadir "$(get_var datadir "$dir/${prefix}-mysql-variables")"
name_val Datadir "$(get_var datadir "$dir/mysql-variables")"
local fuzz_procs=$(fuzz $(get_var Threads_connected "$dir/${prefix}-mysql-status"))
local fuzz_procr=$(fuzz $(get_var Threads_running "$dir/${prefix}-mysql-status"))
local fuzz_procs=$(fuzz $(get_var Threads_connected "$dir/mysql-status"))
local fuzz_procr=$(fuzz $(get_var Threads_running "$dir/mysql-status"))
name_val Processes "${fuzz_procs} connected, ${fuzz_procr} running"
local slave=""
if [ -s "$dir/${prefix}-mysql-slave" ]; then slave=""; else slave="not "; fi
local slavecount=$(grep -c 'Binlog Dump' "$dir/${prefix}-mysql-processlist")
if [ -s "$dir/mysql-slave" ]; then slave=""; else slave="not "; fi
local slavecount=$(grep -c 'Binlog Dump' "$dir/mysql-processlist")
name_val Replication "Is ${slave}a slave, has ${slavecount} slaves connected"
local pid_file="$(get_var pid_file "$dir/${prefix}-mysql-variables")"
local pid_file="$(get_var pid_file "$dir/mysql-variables")"
local PID_EXISTS=""
if [ -e "${pid_file}" ]; then
PID_EXISTS="(exists)"
@@ -1965,56 +1950,56 @@ report_mysql_summary () {
name_val Pidfile "${pid_file} ${PID_EXISTS}"
section Processlist
summarize_processlist "$dir/${prefix}-mysql-processlist"
summarize_processlist "$dir/mysql-processlist"
section "Status_Counters_(Wait_${OPT_SLEEP}_Seconds)"
wait
local noncounters_pattern="$(noncounters_pattern)"
format_status_variables "$dir/${prefix}-mysql-status-defer" | grep -v "${noncounters_pattern}"
format_status_variables "$dir/mysql-status-defer" | grep -v "${noncounters_pattern}"
section Table_cache
local open_tables=$(get_var Open_tables "$dir/${prefix}-mysql-status")
local table_cache=$(get_table_cache "$dir/${prefix}-mysql-status")
local open_tables=$(get_var Open_tables "$dir/mysql-status")
local table_cache=$(get_table_cache "$dir/mysql-status")
name_val Size $table_cache
name_val Usage "$(fuzzy_pct ${open_tables} ${table_cache})"
section Key_Percona_Server_features
section_percona_server_features "$dir/${prefix}-mysql-variables"
section_percona_server_features "$dir/mysql-variables"
section Plugins
name_val "InnoDB compression" "$(get_plugin_status "$dir/${prefix}-mysql-plugins" "INNODB_CMP")"
name_val "InnoDB compression" "$(get_plugin_status "$dir/mysql-plugins" "INNODB_CMP")"
if [ "$(get_var have_query_cache "$dir/${prefix}-mysql-variables")" ]; then
if [ "$(get_var have_query_cache "$dir/mysql-variables")" ]; then
section Query_cache
local query_cache_size=$(get_var query_cache_size "$dir/${prefix}-mysql-variables")
local used=$(( ${query_cache_size} - $(get_var Qcache_free_memory "$dir/${prefix}-mysql-status") ))
local hrat=$(fuzzy_pct $(get_var Qcache_hits "$dir/${prefix}-mysql-status") $(get_var Qcache_inserts "$dir/${prefix}-mysql-status"))
name_val query_cache_type $(get_var query_cache_type "$dir/${prefix}-mysql-variables")
local query_cache_size=$(get_var query_cache_size "$dir/mysql-variables")
local used=$(( ${query_cache_size} - $(get_var Qcache_free_memory "$dir/mysql-status") ))
local hrat=$(fuzzy_pct $(get_var Qcache_hits "$dir/mysql-status") $(get_var Qcache_inserts "$dir/mysql-status"))
name_val query_cache_type $(get_var query_cache_type "$dir/mysql-variables")
name_val Size "$(shorten ${query_cache_size} 1)"
name_val Usage "$(fuzzy_pct ${used} ${query_cache_size})"
name_val HitToInsertRatio "${hrat}"
fi
local semisync_enabled_master="$(get_var rpl_semi_sync_master_enabled "$dir/${prefix}-mysql-variables")"
local semisync_enabled_master="$(get_var rpl_semi_sync_master_enabled "$dir/mysql-variables")"
if [ -n "${semisync_enabled_master}" ]; then
section Semisynchronous_Replication
if [ "$semisync_enabled_master" = "OFF" -o "$semisync_enabled_master" = "0" -o -z "$semisync_enabled_master" ]; then
name_val "Master" "Disabled"
else
_semi_sync_stats_for "master" "$dir/${prefix}-mysql-variables"
_semi_sync_stats_for "master" "$dir/mysql-variables"
fi
local semisync_enabled_slave="$(get_var rpl_semi_sync_slave_enabled "$dir/${prefix}-mysql-variables")"
local semisync_enabled_slave="$(get_var rpl_semi_sync_slave_enabled "$dir/mysql-variables")"
if [ "$semisync_enabled_slave" = "OFF" -o "$semisync_enabled_slave" = "0" -o -z "$semisync_enabled_slave" ]; then
name_val "Slave" "Disabled"
else
_semi_sync_stats_for "slave" "$dir/${prefix}-mysql-variables"
_semi_sync_stats_for "slave" "$dir/mysql-variables"
fi
fi
section Schema
local reply="n"
if [ -n "${OPT_DATABASES}" ] || [ -n "${OPT_READ_SAMPLES}" ] \
|| [ -e "$dir/${prefix}-mysqldump" -a -s "$dir/${prefix}-mysqldump" ]; then
if [ "${OPT_DATABASES}" ] || [ "${OPT_READ_SAMPLES}" ] \
|| [ -e "$dir/mysqldump" -a -s "$dir/mysqldump" ]; then
reply="y"
elif [ -t 0 -a -t 1 ]; then
echo -n "Would you like to mysqldump -d the schema and analyze it? y/n "
@@ -2023,126 +2008,129 @@ report_mysql_summary () {
fi
if echo "${reply:-n}" | grep -i '^y' > /dev/null ; then
if [ -z "${OPT_DATABASES}" ] && [ -z "$OPT_READ_SAMPLES" ] \
&& [ ! -e "$dir/${prefix}-mysqldump" ]; then
&& [ ! -e "$dir/mysqldump" ]; then
echo "There are ${num_dbs} databases. Would you like to dump all, or just one?"
echo -n "Type the name of the database, or press Enter to dump all of them. "
local dbtodump=""
read dbtodump
local trg_arg="$( get_mysqldump_args "$dir/${prefix}-mysql-variables" )"
get_mysqldump_for "$dir/${prefix}-mysqldump" "${trg_arg}" "${dbtodump}"
local trg_arg="$( get_mysqldump_args "$dir/mysql-variables" )"
get_mysqldump_for "$dir/mysqldump" "${trg_arg}" "${dbtodump}"
fi
if [ -e "$dir/${prefix}-mysqldump" -a -s "$dir/${prefix}-mysqldump" ] \
&& grep 'CREATE TABLE' "$dir/${prefix}-mysqldump" >/dev/null 2>&1; then
format_overall_db_stats "$dir/${prefix}-mysqldump"
if [ -e "$dir/mysqldump" -a -s "$dir/mysqldump" ] \
&& grep 'CREATE TABLE' "$dir/mysqldump" >/dev/null 2>&1; then
format_overall_db_stats "$dir/mysqldump"
elif [ ! -e "$dir/mysqldump" -a "$OPT_READ_SAMPLES" ]; then
echo "Skipping schema analysis as the directory passed in" \
"doesn't have a dump file"
else
warn "Skipping schema analysis due to apparent error in dump file"
echo "Skipping schema analysis due to apparent error in dump file"
fi
else
echo "Skipping schema analysis"
fi
section Noteworthy_Technologies
if [ -s "$dir/${prefix}-mysqldump" ]; then
if grep FULLTEXT "$dir/${prefix}-mysqldump" > /dev/null; then
name_val "Full Text Indexing" Yes
section "Noteworthy_Technologies"
if [ -s "$dir/mysqldump" ]; then
if grep FULLTEXT "$dir/mysqldump" > /dev/null; then
name_val "Full Text Indexing" "Yes"
else
name_val "Full Text Indexing" No
name_val "Full Text Indexing" "No"
fi
if grep 'GEOMETRY\|POINT\|LINESTRING\|POLYGON' "$dir/${prefix}-mysqldump" > /dev/null; then
name_val "Geospatial Types" Yes
if grep 'GEOMETRY\|POINT\|LINESTRING\|POLYGON' "$dir/mysqldump" > /dev/null; then
name_val "Geospatial Types" "Yes"
else
name_val "Geospatial Types" No
name_val "Geospatial Types" "No"
fi
if grep 'FOREIGN KEY' "$dir/${prefix}-mysqldump" > /dev/null; then
name_val "Foreign Keys" Yes
if grep 'FOREIGN KEY' "$dir/mysqldump" > /dev/null; then
name_val "Foreign Keys" "Yes"
else
name_val "Foreign Keys" No
name_val "Foreign Keys" "No"
fi
if grep 'PARTITION BY' "$dir/${prefix}-mysqldump" > /dev/null; then
name_val "Partitioning" Yes
if grep 'PARTITION BY' "$dir/mysqldump" > /dev/null; then
name_val "Partitioning" "Yes"
else
name_val "Partitioning" No
name_val "Partitioning" "No"
fi
fi
local ssl="$(get_var Ssl_accepts "$dir/${prefix}-mysql-status")"
local ssl="$(get_var Ssl_accepts "$dir/mysql-status")"
if [ -n "$ssl" -a "${ssl:-0}" -gt 0 ]; then
name_val "SSL" Yes
name_val "SSL" "Yes"
else
name_val "SSL" No
name_val "SSL" "No"
fi
local lock_tables="$(get_var Com_lock_tables "$dir/${prefix}-mysql-status")"
local lock_tables="$(get_var Com_lock_tables "$dir/mysql-status")"
if [ -n "$lock_tables" -a "${lock_tables:-0}" -gt 0 ]; then
name_val "Explicit LOCK TABLES" Yes
name_val "Explicit LOCK TABLES" "Yes"
else
name_val "Explicit LOCK TABLES" No
name_val "Explicit LOCK TABLES" "No"
fi
local delayed_insert="$(get_var Delayed_writes "$dir/${prefix}-mysql-status")"
local delayed_insert="$(get_var Delayed_writes "$dir/mysql-status")"
if [ -n "$delayed_insert" -a "${delayed_insert:-0}" -gt 0 ]; then
name_val "Delayed Insert" Yes
name_val "Delayed Insert" "Yes"
else
name_val "Delayed Insert" No
name_val "Delayed Insert" "No"
fi
local xat="$(get_var Com_xa_start "$dir/${prefix}-mysql-status")"
local xat="$(get_var Com_xa_start "$dir/mysql-status")"
if [ -n "$xat" -a "${xat:-0}" -gt 0 ]; then
name_val "XA Transactions" Yes
name_val "XA Transactions" "Yes"
else
name_val "XA Transactions" No
name_val "XA Transactions" "No"
fi
local ndb_cluster="$(get_var Ndb_cluster_node_id "$dir/${prefix}-mysql-status")"
local ndb_cluster="$(get_var "Ndb_cluster_node_id" "$dir/mysql-status")"
if [ -n "$ndb_cluster" -a "${ndb_cluster:-0}" -gt 0 ]; then
name_val "NDB Cluster" Yes
name_val "NDB Cluster" "Yes"
else
name_val "NDB Cluster" No
name_val "NDB Cluster" "No"
fi
local prep=$(( $(get_var Com_stmt_prepare "$dir/${prefix}-mysql-status") + $(get_var Com_prepare_sql "$dir/${prefix}-mysql-status") ))
local prep=$(( $(get_var "Com_stmt_prepare" "$dir/mysql-status") + $(get_var "Com_prepare_sql" "$dir/mysql-status") ))
if [ "${prep}" -gt 0 ]; then
name_val "Prepared Statements" Yes
name_val "Prepared Statements" "Yes"
else
name_val "Prepared Statements" No
name_val "Prepared Statements" "No"
fi
local prep_count="$(get_var Prepared_stmt_count "$dir/${prefix}-mysql-status")"
local prep_count="$(get_var Prepared_stmt_count "$dir/mysql-status")"
if [ "${prep_count}" ]; then
name_val "Prepared statement count" "${prep_count}"
fi
section InnoDB
local have_innodb="$(get_var have_innodb "$dir/${prefix}-mysql-variables")"
local have_innodb="$(get_var have_innodb "$dir/mysql-variables")"
if [ "${have_innodb}" = "YES" ]; then
section_innodb "$dir/${prefix}-mysql-variables" "$dir/${prefix}-mysql-status"
section_innodb "$dir/mysql-variables" "$dir/mysql-status"
if [ -s "$dir/${prefix}-innodb-status" ]; then
format_innodb_status "$dir/${prefix}-innodb-status"
if [ -s "$dir/innodb-status" ]; then
format_innodb_status "$dir/innodb-status"
fi
fi
section MyISAM
section_myisam "$dir/${prefix}-mysql-variables" "$dir/${prefix}-mysql-status"
section_myisam "$dir/mysql-variables" "$dir/mysql-status"
section Security
local users="$( format_users "$dir/${prefix}-mysql-users" )"
local users="$( format_users "$dir/mysql-users" )"
name_val Users "${users}"
name_val "Old Passwords" "$(get_var old_passwords "$dir/${prefix}-mysql-variables")"
name_val "Old Passwords" "$(get_var old_passwords "$dir/mysql-variables")"
section Binary_Logging
if [ -s "$dir/${prefix}-mysql-master-logs" ] \
|| [ -s "$dir/${prefix}-mysql-master-status" ]; then
summarize_binlogs "$dir/${prefix}-mysql-master-logs"
local format="$(get_var binlog_format "$dir/${prefix}-mysql-variables")"
if [ -s "$dir/mysql-master-logs" ] \
|| [ -s "$dir/mysql-master-status" ]; then
summarize_binlogs "$dir/mysql-master-logs"
local format="$(get_var binlog_format "$dir/mysql-variables")"
name_val binlog_format "${format:-STATEMENT}"
name_val expire_logs_days "$(get_var expire_logs_days "$dir/${prefix}-mysql-variables")"
name_val sync_binlog "$(get_var sync_binlog "$dir/${prefix}-mysql-variables")"
name_val server_id "$(get_var server_id "$dir/${prefix}-mysql-variables")"
format_binlog_filters "$dir/${prefix}-mysql-master-status"
name_val expire_logs_days "$(get_var expire_logs_days "$dir/mysql-variables")"
name_val sync_binlog "$(get_var sync_binlog "$dir/mysql-variables")"
name_val server_id "$(get_var server_id "$dir/mysql-variables")"
format_binlog_filters "$dir/mysql-master-status"
fi
section Noteworthy_Variables
section_noteworthy_variables "$dir/${prefix}-mysql-variables"
section_noteworthy_variables "$dir/mysql-variables"
section Configuration_File
local cnf_file="$(get_var "pt-summary-internal-Config_File" "$dir/${prefix}-mysql-variables")"
local cnf_file="$(get_var "pt-summary-internal-Config_File" "$dir/mysql-variables")"
if [ -n "${cnf_file}" ]; then
name_val "Config File" "${cnf_file}"
pretty_print_cnf_file "${cnf_file}"

View File

@@ -13,13 +13,6 @@ TOOL="pt-summary"
POSIXLY_CORRECT=1
export POSIXLY_CORRECT
# Begin by setting the $PATH to include some common locations that are not
# always in the $PATH, including the "sbin" locations, and some common
# locations for proprietary management software, such as RAID controllers.
export PATH="${PATH}:/usr/local/bin:/usr/bin:/bin:/usr/libexec"
export PATH="${PATH}:/usr/local/sbin:/usr/sbin:/sbin"
export PATH="${PATH}:/usr/StorMan/:/opt/MegaRAID/MegaCli/";
# ###########################################################################
# log_warn_die package
# This package is a copy without comments from the original. The original
@@ -643,7 +636,7 @@ setup_data_dir () {
get_var () {
local varname="$1"
local file="$2"
echo "$(awk "\$1 ~ /^${varname}$/ { if (length(\$2)) { print substr(\$0, index(\$0,\$2)) } }" "${file}")"
awk -v pattern="${varname}" '$1 == pattern { if (length($2)) { print substr($0, index($0,$2)) } }' "${file}"
}
# ###########################################################################
@@ -753,30 +746,32 @@ group_concat () {
set -u
CMD_SYSCTL="$(_which sysctl 2>/dev/null )"
CMD_DMIDECODE="$(_which dmidecode 2>/dev/null )"
CMD_ZONENAME="$(_which zonename 2>/dev/null )"
CMD_DMESG="$(_which dmesg 2>/dev/null )"
CMD_FILE="$(_which file 2>/dev/null )"
CMD_LSPCI="$(_which lspci 2>/dev/null )"
CMD_PRTDIAG="$(_which prtdiag 2>/dev/null )"
CMD_SMBIOS="$(_which smbios 2>/dev/null )"
CMD_GETENFORCE="$(_which getenforce 2>/dev/null )"
CMD_PRTCONF="$(_which prtconf 2>/dev/null )"
CMD_LVS="$(_which lvs 2>/dev/null)"
CMD_VGS="$(_which vgs 2>/dev/null)"
CMD_PRSTAT="$(_which prstat 2>/dev/null)"
CMD_ISAINFO="$(_which isainfo 2>/dev/null)"
CMD_TOP="$(_which top 2>/dev/null)"
CMD_ARCCONF="$( _which arcconf 2>/dev/null )"
CMD_HPACUCLI="$( _which hpacucli 2>/dev/null )"
CMD_MEGACLI64="$( _which MegaCli64 2>/dev/null )"
CMD_VMSTAT="$(_which vmstat 2>/dev/null)"
CMD_IP="$( _which ip 2>/dev/null )"
CMD_NETSTAT="$( _which netstat 2>/dev/null )"
CMD_PSRINFO="$( _which psrinfo 2>/dev/null )"
CMD_SWAPCTL="$( _which swapctl 2>/dev/null )"
CMD_LSB_RELEASE="$( _which lsb_release 2>/dev/null )"
setup_commands () {
CMD_SYSCTL="$(_which sysctl 2>/dev/null )"
CMD_DMIDECODE="$(_which dmidecode 2>/dev/null )"
CMD_ZONENAME="$(_which zonename 2>/dev/null )"
CMD_DMESG="$(_which dmesg 2>/dev/null )"
CMD_FILE="$(_which file 2>/dev/null )"
CMD_LSPCI="$(_which lspci 2>/dev/null )"
CMD_PRTDIAG="$(_which prtdiag 2>/dev/null )"
CMD_SMBIOS="$(_which smbios 2>/dev/null )"
CMD_GETENFORCE="$(_which getenforce 2>/dev/null )"
CMD_PRTCONF="$(_which prtconf 2>/dev/null )"
CMD_LVS="$(_which lvs 2>/dev/null)"
CMD_VGS="$(_which vgs 2>/dev/null)"
CMD_PRSTAT="$(_which prstat 2>/dev/null)"
CMD_ISAINFO="$(_which isainfo 2>/dev/null)"
CMD_TOP="$(_which top 2>/dev/null)"
CMD_ARCCONF="$( _which arcconf 2>/dev/null )"
CMD_HPACUCLI="$( _which hpacucli 2>/dev/null )"
CMD_MEGACLI64="$( _which MegaCli64 2>/dev/null )"
CMD_VMSTAT="$(_which vmstat 2>/dev/null)"
CMD_IP="$( _which ip 2>/dev/null )"
CMD_NETSTAT="$( _which netstat 2>/dev/null )"
CMD_PSRINFO="$( _which psrinfo 2>/dev/null )"
CMD_SWAPCTL="$( _which swapctl 2>/dev/null )"
CMD_LSB_RELEASE="$( _which lsb_release 2>/dev/null )"
}
collect_system_data () { local PTFUNCNAME=collect_system_data;
local data_dir="$1"
@@ -2068,6 +2063,15 @@ main () { local PTFUNCNAME=main;
local RAN_WITH="--sleep=$OPT_SLEEP --save-samples=$OPT_SAVE_SAMPLES --read-samples=$OPT_READ_SAMPLES"
# Begin by setting the $PATH to include some common locations that are not
# always in the $PATH, including the "sbin" locations, and some common
# locations for proprietary management software, such as RAID controllers.
export PATH="${PATH}:/usr/local/bin:/usr/bin:/bin:/usr/libexec"
export PATH="${PATH}:/usr/local/sbin:/usr/sbin:/sbin"
export PATH="${PATH}:/usr/StorMan/:/opt/MegaRAID/MegaCli/"
setup_commands
_d "Starting $0 $RAN_WITH"
# Set up temporary files.

View File

@@ -30,8 +30,7 @@ CMD_MYSQLDUMP="${CMD_MYSQLDUMP:-""}"
# Simply looks for instances of mysqld in the outof of ps.
collect_mysqld_instances () {
local file="$1"
local variables_file="$2"
local variables_file="$1"
local pids="$(_pidof mysqld)"
@@ -45,9 +44,9 @@ collect_mysqld_instances () {
done
pids="$(echo $pids | sed -e 's/ /,/g')"
ps ww -p "$pids" 2>/dev/null > "$file"
ps ww -p "$pids" 2>/dev/null
else
echo "mysqld doesn't appear to be running" > "$file"
echo "mysqld doesn't appear to be running"
fi
}
@@ -85,43 +84,35 @@ find_my_cnf_file() {
}
collect_mysql_variables () {
local file="$1"
$CMD_MYSQL $EXT_ARGV -ss -e 'SHOW /*!40100 GLOBAL*/ VARIABLES' > "$file"
$CMD_MYSQL $EXT_ARGV -ss -e 'SHOW /*!40100 GLOBAL*/ VARIABLES'
}
collect_mysql_status () {
local file="$1"
$CMD_MYSQL $EXT_ARGV -ss -e 'SHOW /*!50000 GLOBAL*/ STATUS' > "$file"
$CMD_MYSQL $EXT_ARGV -ss -e 'SHOW /*!50000 GLOBAL*/ STATUS'
}
collect_mysql_databases () {
local file="$1"
$CMD_MYSQL $EXT_ARGV -ss -e 'SHOW DATABASES' > "$file" 2>/dev/null
$CMD_MYSQL $EXT_ARGV -ss -e 'SHOW DATABASES' 2>/dev/null
}
collect_mysql_plugins () {
local file="$1"
$CMD_MYSQL $EXT_ARGV -ss -e 'SHOW PLUGINS' > "$file" 2>/dev/null
$CMD_MYSQL $EXT_ARGV -ss -e 'SHOW PLUGINS' 2>/dev/null
}
collect_mysql_slave_status () {
local file="$1"
$CMD_MYSQL $EXT_ARGV -ssE -e 'SHOW SLAVE STATUS' > "$file" 2>/dev/null
$CMD_MYSQL $EXT_ARGV -ssE -e 'SHOW SLAVE STATUS' 2>/dev/null
}
collect_mysql_innodb_status () {
local file="$1"
$CMD_MYSQL $EXT_ARGV -ssE -e 'SHOW /*!50000 ENGINE*/ INNODB STATUS' > "$file" 2>/dev/null
$CMD_MYSQL $EXT_ARGV -ssE -e 'SHOW /*!50000 ENGINE*/ INNODB STATUS' 2>/dev/null
}
collect_mysql_processlist () {
local file="$1"
$CMD_MYSQL $EXT_ARGV -ssE -e 'SHOW FULL PROCESSLIST' > "$file" 2>/dev/null
$CMD_MYSQL $EXT_ARGV -ssE -e 'SHOW FULL PROCESSLIST' 2>/dev/null
}
collect_mysql_users () {
local file="$1"
$CMD_MYSQL $EXT_ARGV -ss -e 'SELECT COUNT(*), SUM(user=""), SUM(password=""), SUM(password NOT LIKE "*%") FROM mysql.user' > "$file" 2>/dev/null
$CMD_MYSQL $EXT_ARGV -ss -e 'SELECT COUNT(*), SUM(user=""), SUM(password=""), SUM(password NOT LIKE "*%") FROM mysql.user' 2>/dev/null
}
collect_master_logs_status () {
@@ -134,14 +125,11 @@ collect_master_logs_status () {
# Somewhat different from the others, this one joins the status we got earlier
collect_mysql_deferred_status () {
local status_file="$1"
local defer_file="$2"
collect_mysql_status "$TMPDIR/defer_gatherer"
cat "$TMPDIR/defer_gatherer" | join "$status_file" - > "$defer_file"
collect_mysql_status > "$TMPDIR/defer_gatherer"
join "$status_file" "$TMPDIR/defer_gatherer"
}
collect_internal_vars () {
local file="$1"
local FNV_64=""
if $CMD_MYSQL $EXT_ARGV -e 'SELECT FNV_64("a")' >/dev/null 2>&1; then
FNV_64="Enabled";
@@ -154,25 +142,24 @@ collect_internal_vars () {
local trigger_count=$($CMD_MYSQL $EXT_ARGV -ss -e "SELECT COUNT(*) FROM INFORMATION_SCHEMA.TRIGGERS" 2>/dev/null)
local has_symbols="$(has_symbols "${CMD_MYSQL}")"
echo "pt-summary-internal-mysql_executable $CMD_MYSQL" >> "$file"
echo "pt-summary-internal-now $now" >> "$file"
echo "pt-summary-internal-user $user" >> "$file"
echo "pt-summary-internal-FNV_64 $FNV_64" >> "$file"
echo "pt-summary-internal-trigger_count $trigger_count" >> "$file"
echo "pt-summary-internal-symbols $has_symbols" >> "$file"
echo "pt-summary-internal-mysql_executable $CMD_MYSQL"
echo "pt-summary-internal-now $now"
echo "pt-summary-internal-user $user"
echo "pt-summary-internal-FNV_64 $FNV_64"
echo "pt-summary-internal-trigger_count $trigger_count"
echo "pt-summary-internal-symbols $has_symbols"
}
# Uses mysqldump and dumps the results to FILE.
# args and dbtodump are passed to mysqldump.
get_mysqldump_for () {
local file="$1"
local args="$2"
local dbtodump="${3:-"--all-databases"}"
local args="$1"
local dbtodump="${2:-"--all-databases"}"
$CMD_MYSQLDUMP $EXT_ARGV --no-data --skip-comments \
--skip-add-locks --skip-add-drop-table --compact \
--skip-lock-all-tables --skip-lock-tables --skip-set-charset \
${args} --databases $( local IFS=,; echo ${dbtodump}) >> "$file"
${args} --databases $( local IFS=,; echo ${dbtodump})
}
# Returns a string with arguments to pass to mysqldump.
@@ -203,47 +190,46 @@ get_mysqldump_args () {
collect_mysql_info () {
local dir="$1"
local prefix="${2:-percona-toolkit}"
collect_mysql_variables "$dir/${prefix}-mysql-variables"
collect_mysql_status "$dir/${prefix}-mysql-status"
collect_mysql_databases "$dir/${prefix}-mysql-databases"
collect_mysql_plugins "$dir/${prefix}-mysql-plugins"
collect_mysql_slave_status "$dir/${prefix}-mysql-slave"
collect_mysql_innodb_status "$dir/${prefix}-innodb-status"
collect_mysql_processlist "$dir/${prefix}-mysql-processlist"
collect_mysql_users "$dir/${prefix}-mysql-users"
collect_mysql_variables > "$dir/mysql-variables"
collect_mysql_status > "$dir/mysql-status"
collect_mysql_databases > "$dir/mysql-databases"
collect_mysql_plugins > "$dir/mysql-plugins"
collect_mysql_slave_status > "$dir/mysql-slave"
collect_mysql_innodb_status > "$dir/innodb-status"
collect_mysql_processlist > "$dir/mysql-processlist"
collect_mysql_users > "$dir/mysql-users"
collect_mysqld_instances "$dir/${prefix}-mysqld-instances" "$dir/${prefix}-mysql-variables"
collect_mysqld_instances "$dir/mysql-variables" > "$dir/mysqld-instances"
local binlog="$(get_var log_bin "$dir/${prefix}-mysql-variables")"
local binlog="$(get_var log_bin "$dir/mysql-variables")"
if [ "${binlog}" ]; then
# "Got a binlog, going to get MASTER LOGS and MASTER STATUS"
collect_master_logs_status "$dir/${prefix}-mysql-master-logs" "$dir/${prefix}-mysql-master-status"
collect_master_logs_status "$dir/mysql-master-logs" "$dir/mysql-master-status"
fi
local uptime="$(get_var Uptime "$dir/${prefix}-mysql-status")"
local uptime="$(get_var Uptime "$dir/mysql-status")"
local current_time="$($CMD_MYSQL $EXT_ARGV -ss -e \
"SELECT LEFT(NOW() - INTERVAL ${uptime} SECOND, 16)")"
local port="$(get_var port "$dir/${prefix}-mysql-variables")"
local cnf_file=$(find_my_cnf_file "$dir/${prefix}-mysqld-instances" ${port});
local port="$(get_var port "$dir/mysql-variables")"
local cnf_file=$(find_my_cnf_file "$dir/mysqld-instances" ${port});
# TODO: Do these require a file of their own?
echo "pt-summary-internal-current_time $current_time" >> "$dir/${prefix}-mysql-variables"
echo "pt-summary-internal-Config_File $cnf_file" >> "$dir/${prefix}-mysql-variables"
collect_internal_vars "$dir/${prefix}-mysql-variables"
echo "pt-summary-internal-current_time $current_time" >> "$dir/mysql-variables"
echo "pt-summary-internal-Config_File $cnf_file" >> "$dir/mysql-variables"
collect_internal_vars >> "$dir/mysql-variables"
if [ -n "${OPT_DATABASES}" ]; then
# "--dump-schemas passed in, dumping early"
local trg_arg="$( get_mysqldump_args "$dir/${prefix}-mysql-variables" )"
get_mysqldump_for "$dir/${prefix}-mysqldump" "${trg_arg}" "${OPT_DATABASES}"
local trg_arg="$( get_mysqldump_args "$dir/mysql-variables" )"
get_mysqldump_for "${trg_arg}" "${OPT_DATABASES}" > "$dir/mysqldump"
fi
# TODO: gather this data in the same format as normal: TS line, stats
(
sleep $OPT_SLEEP
collect_mysql_deferred_status "$dir/${prefix}-mysql-status" "$dir/${prefix}-mysql-status-defer"
collect_mysql_deferred_status "$dir/mysql-status" > "$dir/mysql-status-defer"
) &
_d "Forked child is $!"
}

View File

@@ -27,31 +27,34 @@
set -u
# While extremely unwieldly, this allows us to fake the commands when testing.
CMD_SYSCTL="$(_which sysctl 2>/dev/null )"
CMD_DMIDECODE="$(_which dmidecode 2>/dev/null )"
CMD_ZONENAME="$(_which zonename 2>/dev/null )"
CMD_DMESG="$(_which dmesg 2>/dev/null )"
CMD_FILE="$(_which file 2>/dev/null )"
CMD_LSPCI="$(_which lspci 2>/dev/null )"
CMD_PRTDIAG="$(_which prtdiag 2>/dev/null )"
CMD_SMBIOS="$(_which smbios 2>/dev/null )"
CMD_GETENFORCE="$(_which getenforce 2>/dev/null )"
CMD_PRTCONF="$(_which prtconf 2>/dev/null )"
CMD_LVS="$(_which lvs 2>/dev/null)"
CMD_VGS="$(_which vgs 2>/dev/null)"
CMD_PRSTAT="$(_which prstat 2>/dev/null)"
CMD_ISAINFO="$(_which isainfo 2>/dev/null)"
CMD_TOP="$(_which top 2>/dev/null)"
CMD_ARCCONF="$( _which arcconf 2>/dev/null )"
CMD_HPACUCLI="$( _which hpacucli 2>/dev/null )"
CMD_MEGACLI64="$( _which MegaCli64 2>/dev/null )"
CMD_VMSTAT="$(_which vmstat 2>/dev/null)"
CMD_IP="$( _which ip 2>/dev/null )"
CMD_NETSTAT="$( _which netstat 2>/dev/null )"
CMD_PSRINFO="$( _which psrinfo 2>/dev/null )"
CMD_SWAPCTL="$( _which swapctl 2>/dev/null )"
CMD_LSB_RELEASE="$( _which lsb_release 2>/dev/null )"
# This is inside a function so it can take into account our PATH mungling.
setup_commands () {
# While extremely unwieldly, this allows us to fake the commands when testing.
CMD_SYSCTL="$(_which sysctl 2>/dev/null )"
CMD_DMIDECODE="$(_which dmidecode 2>/dev/null )"
CMD_ZONENAME="$(_which zonename 2>/dev/null )"
CMD_DMESG="$(_which dmesg 2>/dev/null )"
CMD_FILE="$(_which file 2>/dev/null )"
CMD_LSPCI="$(_which lspci 2>/dev/null )"
CMD_PRTDIAG="$(_which prtdiag 2>/dev/null )"
CMD_SMBIOS="$(_which smbios 2>/dev/null )"
CMD_GETENFORCE="$(_which getenforce 2>/dev/null )"
CMD_PRTCONF="$(_which prtconf 2>/dev/null )"
CMD_LVS="$(_which lvs 2>/dev/null)"
CMD_VGS="$(_which vgs 2>/dev/null)"
CMD_PRSTAT="$(_which prstat 2>/dev/null)"
CMD_ISAINFO="$(_which isainfo 2>/dev/null)"
CMD_TOP="$(_which top 2>/dev/null)"
CMD_ARCCONF="$( _which arcconf 2>/dev/null )"
CMD_HPACUCLI="$( _which hpacucli 2>/dev/null )"
CMD_MEGACLI64="$( _which MegaCli64 2>/dev/null )"
CMD_VMSTAT="$(_which vmstat 2>/dev/null)"
CMD_IP="$( _which ip 2>/dev/null )"
CMD_NETSTAT="$( _which netstat 2>/dev/null )"
CMD_PSRINFO="$( _which psrinfo 2>/dev/null )"
CMD_SWAPCTL="$( _which swapctl 2>/dev/null )"
CMD_LSB_RELEASE="$( _which lsb_release 2>/dev/null )"
}
collect_system_data () { local PTFUNCNAME=collect_system_data;
local data_dir="$1"

View File

@@ -37,10 +37,10 @@ secs_to_time () {
# (string equal) to some value.
feat_on() {
local file="$1"
local varname="$2"
[ -e "$file" ] || return
test ! -e "$file" && return
if get_var "$2" "${file}" 1>/dev/null 2>&1 ; then
if [ "$( get_var "$varname" "${file}" )" ]; then
local var="$(awk "\$1 ~ /^$2$/ { print \$2 }" $file)"
if [ "${var}" = "ON" ]; then
echo "Enabled"
@@ -71,10 +71,10 @@ feat_on() {
get_table_cache () {
local file="$1"
test ! -e "$file" && return
[ -e "$file" ] || return
local table_cache=""
if get_var table_open_cache "${file}" 1>/dev/null 2>&1; then
if [ "$( get_var table_open_cache "${file}" )" ]; then
table_cache="$(get_var table_open_cache "${file}")"
else
table_cache="$(get_var table_cache "${file}")"
@@ -108,7 +108,7 @@ parse_mysqld_instances () {
local port=${port:-""}
local datadir="${datadir:-""}"
test ! -e "$file" && return
[ -e "$file" ] || return
echo " Port Data Directory Nice OOM Socket"
echo " ===== ========================== ==== === ======"
@@ -143,7 +143,7 @@ parse_mysqld_instances () {
get_mysql_timezone () {
local file="$1"
test ! -e "$file" && return
[ -e "$file" ] || return
local tz="$(get_var time_zone "${file}")"
if [ "${tz}" = "SYSTEM" ]; then
@@ -172,7 +172,7 @@ get_mysql_uptime () {
summarize_binlogs () {
local file="$1"
test ! -e "$file" && return
[ -e "$file" ] || return
local size="$(awk '{t += $2} END{printf "%0.f\n", t}' "$file")"
name_val "Binlogs" $(wc -l "$file")
@@ -182,14 +182,14 @@ summarize_binlogs () {
format_users () {
local file="$1"
test ! -e "$file" && return
[ -e "$file" ] || return
awk '{printf "%d users, %d anon, %d w/o pw, %d old pw\n", $1, $2, $3, $4}' "${file}"
}
# Print out binlog_do_db and binlog_ignore_db
format_binlog_filters () {
local file="$1"
test ! -e "$file" && return
[ -e "$file" ] || return
name_val "binlog_do_db" "$(cut -f3 "$file")"
name_val "binlog_ignore_db" "$(cut -f4 "$file")"
}
@@ -200,7 +200,7 @@ format_binlog_filters () {
# samples. Omits any rows that are all zeroes.
format_status_variables () {
local file="$1"
test ! -e "$file" && return
[ -e "$file" ] || return
# First, figure out the intervals.
utime1="$(awk '/Uptime /{print $2}' "$file")";
@@ -256,7 +256,7 @@ format_status_variables () {
summarize_processlist () {
local file="$1"
test ! -e "$file" && return
[ -e "$file" ] || return
for param in Command User Host db State; do
echo
@@ -312,7 +312,7 @@ summarize_processlist () {
pretty_print_cnf_file () {
local file="$1"
test ! -e "$file" && return
[ -e "$file" ] || return
awk '
BEGIN {
@@ -361,7 +361,7 @@ find_checkpoint_age() {
find_pending_io_reads() {
local file="$1"
test ! -e "$file" && return
[ -e "$file" ] || return
awk '
/Pending normal aio reads/ {
@@ -386,7 +386,7 @@ find_pending_io_reads() {
find_pending_io_writes() {
local file="$1"
test ! -e "$file" && return
[ -e "$file" ] || return
awk '
/aio writes/ {
@@ -417,7 +417,7 @@ find_pending_io_writes() {
find_pending_io_flushes() {
local file="$1"
test ! -e "$file" && return
[ -e "$file" ] || return
awk '
/Pending flushes/ {
@@ -433,7 +433,7 @@ find_pending_io_flushes() {
summarize_undo_log_entries() {
local file="$1"
test ! -e "$file" && return
[ -e "$file" ] || return
grep 'undo log entries' "${file}" \
| sed -e 's/^.*undo log entries \([0-9]*\)/\1/' \
@@ -453,7 +453,7 @@ summarize_undo_log_entries() {
find_max_trx_time() {
local file="$1"
test ! -e "$file" && return
[ -e "$file" ] || return
awk '
BEGIN {
@@ -478,7 +478,7 @@ find_transation_states () {
local file="$1"
local tmpfile="$TMPDIR/find_transation_states.tmp"
test ! -e "$file" && return
[ -e "$file" ] || return
awk -F, '/^---TRANSACTION/{print $2}' "${file}" \
| sed -e 's/ [0-9]* sec.*//' \
@@ -491,7 +491,7 @@ find_transation_states () {
format_innodb_status () {
local file=$1
test ! -e "$file" && return
[ -e "$file" ] || return
name_val "Checkpoint Age" "$(shorten $(find_checkpoint_age "${file}") 0)"
name_val "InnoDB Queue" "$(awk '/queries inside/{print}' "${file}")"
@@ -533,7 +533,7 @@ format_overall_db_stats () {
local file="$1"
local tmpfile="$TMPDIR/format_overall_db_stats.tmp"
test ! -e "$file" && return
[ -e "$file" ] || return
echo
# We keep counts of everything in an associative array keyed by db name, and
@@ -827,7 +827,7 @@ format_overall_db_stats () {
section_percona_server_features () {
local file="$1"
test ! -e "$file" && return
[ -e "$file" ] || return
name_val "Table & Index Stats" \
"$(feat_on "$file" userstat_running)"
@@ -859,7 +859,7 @@ section_myisam () {
local variables_file="$1"
local status_file="$2"
test ! -e "$variables_file" -o ! -e "$status_file" && return
[ -e "$variables_file" -a -e "$status_file" ] || return
local buf_size="$(get_var key_buffer_size "$variables_file")"
local blk_size="$(get_var key_cache_block_size "$variables_file")"
@@ -878,7 +878,7 @@ section_innodb () {
local variables_file="$1"
local status_file="$2"
test ! -e "$variables_file" -o ! -e "$status_file" && return
[ -e "$variables_file" -a -e "$status_file" ] || return
# XXX TODO I don't think this is working right.
# XXX TODO Should it use data from information_schema.plugins too?
@@ -937,7 +937,7 @@ section_innodb () {
section_noteworthy_variables () {
local file="$1"
test ! -e "$file" && return
[ -e "$file" ] || return
name_val "Auto-Inc Incr/Offset" "$(get_var auto_increment_increment "$file")/$(get_var auto_increment_offset "$file")"
for v in \
@@ -966,7 +966,7 @@ _semi_sync_stats_for () {
local target="$1"
local file="$2"
test ! -e "$file" && return
[ -e "$file" ] || return
local semisync_status="$(get_var "Rpl_semi_sync_${target}_status" "${file}" )"
local semisync_trace="$(get_var "rpl_semi_sync_${target}_trace_level" "${file}")"
@@ -1045,7 +1045,6 @@ noncounters_pattern () {
report_mysql_summary () {
local dir="$1"
local prefix="${2:-percona-toolkit}"
# Field width for name_val
local NAME_VAL_LEN=25
@@ -1057,45 +1056,45 @@ report_mysql_summary () {
section Percona_Toolkit_MySQL_Summary_Report
name_val "System time" "`date -u +'%F %T UTC'` (local TZ: `date +'%Z %z'`)"
section Instances
parse_mysqld_instances "$dir/${prefix}-mysqld-instances" "$dir/${prefix}-mysql-variables"
parse_mysqld_instances "$dir/mysqld-instances" "$dir/mysql-variables"
section MySQL_Executable
name_val "Path to executable" "$( get_var pt-summary-internal-mysql_executable "$dir/${prefix}-mysql-variables" )"
name_val "Has symbols" "$( get_var "pt-summary-internal-symbols" "$dir/${prefix}-mysql-variables" )"
name_val "Path to executable" "$( get_var pt-summary-internal-mysql_executable "$dir/mysql-variables" )"
name_val "Has symbols" "$( get_var "pt-summary-internal-symbols" "$dir/mysql-variables" )"
# ########################################################################
# General date, hostname, etc
# ########################################################################
local user="$(get_var "pt-summary-internal-user" "$dir/${prefix}-mysql-variables")"
local port="$(get_var port "$dir/${prefix}-mysql-variables")"
local now="$(get_var "pt-summary-internal-now" "$dir/${prefix}-mysql-variables")"
local user="$(get_var "pt-summary-internal-user" "$dir/mysql-variables")"
local port="$(get_var port "$dir/mysql-variables")"
local now="$(get_var "pt-summary-internal-now" "$dir/mysql-variables")"
section "Report_On_Port_${port}"
name_val User "${user}"
name_val Time "${now} ($(get_mysql_timezone "$dir/${prefix}-mysql-variables"))"
name_val Hostname "$(get_var hostname "$dir/${prefix}-mysql-variables")"
get_mysql_version "$dir/${prefix}-mysql-variables"
name_val Time "${now} ($(get_mysql_timezone "$dir/mysql-variables"))"
name_val Hostname "$(get_var hostname "$dir/mysql-variables")"
get_mysql_version "$dir/mysql-variables"
local uptime="$(get_var Uptime "$dir/${prefix}-mysql-status")"
local current_time="$(get_var "pt-summary-internal-current_time" "$dir/${prefix}-mysql-variables")"
local uptime="$(get_var Uptime "$dir/mysql-status")"
local current_time="$(get_var "pt-summary-internal-current_time" "$dir/mysql-variables")"
name_val Started "$(get_mysql_uptime "${uptime}" "${current_time}")"
local num_dbs="$(grep -c . "$dir/${prefix}-mysql-databases")"
local num_dbs="$(grep -c . "$dir/mysql-databases")"
name_val Databases "${num_dbs}"
name_val Datadir "$(get_var datadir "$dir/${prefix}-mysql-variables")"
name_val Datadir "$(get_var datadir "$dir/mysql-variables")"
local fuzz_procs=$(fuzz $(get_var Threads_connected "$dir/${prefix}-mysql-status"))
local fuzz_procr=$(fuzz $(get_var Threads_running "$dir/${prefix}-mysql-status"))
local fuzz_procs=$(fuzz $(get_var Threads_connected "$dir/mysql-status"))
local fuzz_procr=$(fuzz $(get_var Threads_running "$dir/mysql-status"))
name_val Processes "${fuzz_procs} connected, ${fuzz_procr} running"
local slave=""
if [ -s "$dir/${prefix}-mysql-slave" ]; then slave=""; else slave="not "; fi
local slavecount=$(grep -c 'Binlog Dump' "$dir/${prefix}-mysql-processlist")
if [ -s "$dir/mysql-slave" ]; then slave=""; else slave="not "; fi
local slavecount=$(grep -c 'Binlog Dump' "$dir/mysql-processlist")
name_val Replication "Is ${slave}a slave, has ${slavecount} slaves connected"
# TODO move this into a section with other files: error log, slow log and
# show the sizes
local pid_file="$(get_var pid_file "$dir/${prefix}-mysql-variables")"
local pid_file="$(get_var pid_file "$dir/mysql-variables")"
local PID_EXISTS=""
if [ -e "${pid_file}" ]; then
PID_EXISTS="(exists)"
@@ -1108,7 +1107,7 @@ report_mysql_summary () {
# Processlist, sliced several different ways
# ########################################################################
section Processlist
summarize_processlist "$dir/${prefix}-mysql-processlist"
summarize_processlist "$dir/mysql-processlist"
# ########################################################################
# Queries and query plans
@@ -1117,14 +1116,14 @@ report_mysql_summary () {
# Wait for the child that was forked during collection.
wait
local noncounters_pattern="$(noncounters_pattern)"
format_status_variables "$dir/${prefix}-mysql-status-defer" | grep -v "${noncounters_pattern}"
format_status_variables "$dir/mysql-status-defer" | grep -v "${noncounters_pattern}"
# ########################################################################
# Table cache
# ########################################################################
section Table_cache
local open_tables=$(get_var Open_tables "$dir/${prefix}-mysql-status")
local table_cache=$(get_table_cache "$dir/${prefix}-mysql-status")
local open_tables=$(get_var Open_tables "$dir/mysql-status")
local table_cache=$(get_table_cache "$dir/mysql-status")
name_val Size $table_cache
name_val Usage "$(fuzzy_pct ${open_tables} ${table_cache})"
@@ -1132,41 +1131,41 @@ report_mysql_summary () {
# Percona Server features
# ########################################################################
section Key_Percona_Server_features
section_percona_server_features "$dir/${prefix}-mysql-variables"
section_percona_server_features "$dir/mysql-variables"
# ########################################################################
# Plugins
# ########################################################################
section Plugins
name_val "InnoDB compression" "$(get_plugin_status "$dir/${prefix}-mysql-plugins" "INNODB_CMP")"
name_val "InnoDB compression" "$(get_plugin_status "$dir/mysql-plugins" "INNODB_CMP")"
# ########################################################################
# Query cache
# ########################################################################
if [ "$(get_var have_query_cache "$dir/${prefix}-mysql-variables")" ]; then
if [ "$(get_var have_query_cache "$dir/mysql-variables")" ]; then
section Query_cache
local query_cache_size=$(get_var query_cache_size "$dir/${prefix}-mysql-variables")
local used=$(( ${query_cache_size} - $(get_var Qcache_free_memory "$dir/${prefix}-mysql-status") ))
local hrat=$(fuzzy_pct $(get_var Qcache_hits "$dir/${prefix}-mysql-status") $(get_var Qcache_inserts "$dir/${prefix}-mysql-status"))
name_val query_cache_type $(get_var query_cache_type "$dir/${prefix}-mysql-variables")
local query_cache_size=$(get_var query_cache_size "$dir/mysql-variables")
local used=$(( ${query_cache_size} - $(get_var Qcache_free_memory "$dir/mysql-status") ))
local hrat=$(fuzzy_pct $(get_var Qcache_hits "$dir/mysql-status") $(get_var Qcache_inserts "$dir/mysql-status"))
name_val query_cache_type $(get_var query_cache_type "$dir/mysql-variables")
name_val Size "$(shorten ${query_cache_size} 1)"
name_val Usage "$(fuzzy_pct ${used} ${query_cache_size})"
name_val HitToInsertRatio "${hrat}"
fi
local semisync_enabled_master="$(get_var rpl_semi_sync_master_enabled "$dir/${prefix}-mysql-variables")"
local semisync_enabled_master="$(get_var rpl_semi_sync_master_enabled "$dir/mysql-variables")"
if [ -n "${semisync_enabled_master}" ]; then
section Semisynchronous_Replication
if [ "$semisync_enabled_master" = "OFF" -o "$semisync_enabled_master" = "0" -o -z "$semisync_enabled_master" ]; then
name_val "Master" "Disabled"
else
_semi_sync_stats_for "master" "$dir/${prefix}-mysql-variables"
_semi_sync_stats_for "master" "$dir/mysql-variables"
fi
local semisync_enabled_slave="$(get_var rpl_semi_sync_slave_enabled "$dir/${prefix}-mysql-variables")"
local semisync_enabled_slave="$(get_var rpl_semi_sync_slave_enabled "$dir/mysql-variables")"
if [ "$semisync_enabled_slave" = "OFF" -o "$semisync_enabled_slave" = "0" -o -z "$semisync_enabled_slave" ]; then
name_val "Slave" "Disabled"
else
_semi_sync_stats_for "slave" "$dir/${prefix}-mysql-variables"
_semi_sync_stats_for "slave" "$dir/mysql-variables"
fi
fi
@@ -1177,10 +1176,10 @@ report_mysql_summary () {
# Assume "no" if stdin or stdout is not a terminal, so this can be run and
# put into a file, or piped into a pager, or something else like that.
local reply="n"
# But dump no matter what if they passed in something through --dump-schemas,
# But dump no matter what if they passed in something through --databases,
# OR if --read-samples was set
if [ -n "${OPT_DATABASES}" ] || [ -n "${OPT_READ_SAMPLES}" ] \
|| [ -e "$dir/${prefix}-mysqldump" -a -s "$dir/${prefix}-mysqldump" ]; then
if [ "${OPT_DATABASES}" ] || [ "${OPT_READ_SAMPLES}" ] \
|| [ -e "$dir/mysqldump" -a -s "$dir/mysqldump" ]; then
reply="y"
elif [ -t 0 -a -t 1 ]; then
echo -n "Would you like to mysqldump -d the schema and analyze it? y/n "
@@ -1189,24 +1188,27 @@ report_mysql_summary () {
fi
if echo "${reply:-n}" | grep -i '^y' > /dev/null ; then
if [ -z "${OPT_DATABASES}" ] && [ -z "$OPT_READ_SAMPLES" ] \
&& [ ! -e "$dir/${prefix}-mysqldump" ]; then
&& [ ! -e "$dir/mysqldump" ]; then
# If --dump-schemas wasn't used, ask what they want to dump
echo "There are ${num_dbs} databases. Would you like to dump all, or just one?"
echo -n "Type the name of the database, or press Enter to dump all of them. "
local dbtodump=""
read dbtodump
local trg_arg="$( get_mysqldump_args "$dir/${prefix}-mysql-variables" )"
get_mysqldump_for "$dir/${prefix}-mysqldump" "${trg_arg}" "${dbtodump}"
local trg_arg="$( get_mysqldump_args "$dir/mysql-variables" )"
get_mysqldump_for "$dir/mysqldump" "${trg_arg}" "${dbtodump}"
fi
# Test the result by checking the file, not by the exit status, because we
# might get partway through and then die, and the info is worth analyzing
# anyway.
if [ -e "$dir/${prefix}-mysqldump" -a -s "$dir/${prefix}-mysqldump" ] \
&& grep 'CREATE TABLE' "$dir/${prefix}-mysqldump" >/dev/null 2>&1; then
format_overall_db_stats "$dir/${prefix}-mysqldump"
if [ -e "$dir/mysqldump" -a -s "$dir/mysqldump" ] \
&& grep 'CREATE TABLE' "$dir/mysqldump" >/dev/null 2>&1; then
format_overall_db_stats "$dir/mysqldump"
elif [ ! -e "$dir/mysqldump" -a "$OPT_READ_SAMPLES" ]; then
echo "Skipping schema analysis as the directory passed in" \
"doesn't have a dump file"
else
warn "Skipping schema analysis due to apparent error in dump file"
echo "Skipping schema analysis due to apparent error in dump file"
fi
else
echo "Skipping schema analysis"
@@ -1215,66 +1217,66 @@ report_mysql_summary () {
# ########################################################################
# Noteworthy Technologies
# ########################################################################
section Noteworthy_Technologies
if [ -s "$dir/${prefix}-mysqldump" ]; then
if grep FULLTEXT "$dir/${prefix}-mysqldump" > /dev/null; then
name_val "Full Text Indexing" Yes
section "Noteworthy_Technologies"
if [ -s "$dir/mysqldump" ]; then
if grep FULLTEXT "$dir/mysqldump" > /dev/null; then
name_val "Full Text Indexing" "Yes"
else
name_val "Full Text Indexing" No
name_val "Full Text Indexing" "No"
fi
if grep 'GEOMETRY\|POINT\|LINESTRING\|POLYGON' "$dir/${prefix}-mysqldump" > /dev/null; then
name_val "Geospatial Types" Yes
if grep 'GEOMETRY\|POINT\|LINESTRING\|POLYGON' "$dir/mysqldump" > /dev/null; then
name_val "Geospatial Types" "Yes"
else
name_val "Geospatial Types" No
name_val "Geospatial Types" "No"
fi
if grep 'FOREIGN KEY' "$dir/${prefix}-mysqldump" > /dev/null; then
name_val "Foreign Keys" Yes
if grep 'FOREIGN KEY' "$dir/mysqldump" > /dev/null; then
name_val "Foreign Keys" "Yes"
else
name_val "Foreign Keys" No
name_val "Foreign Keys" "No"
fi
if grep 'PARTITION BY' "$dir/${prefix}-mysqldump" > /dev/null; then
name_val "Partitioning" Yes
if grep 'PARTITION BY' "$dir/mysqldump" > /dev/null; then
name_val "Partitioning" "Yes"
else
name_val "Partitioning" No
name_val "Partitioning" "No"
fi
fi
local ssl="$(get_var Ssl_accepts "$dir/${prefix}-mysql-status")"
local ssl="$(get_var Ssl_accepts "$dir/mysql-status")"
if [ -n "$ssl" -a "${ssl:-0}" -gt 0 ]; then
name_val "SSL" Yes
name_val "SSL" "Yes"
else
name_val "SSL" No
name_val "SSL" "No"
fi
local lock_tables="$(get_var Com_lock_tables "$dir/${prefix}-mysql-status")"
local lock_tables="$(get_var Com_lock_tables "$dir/mysql-status")"
if [ -n "$lock_tables" -a "${lock_tables:-0}" -gt 0 ]; then
name_val "Explicit LOCK TABLES" Yes
name_val "Explicit LOCK TABLES" "Yes"
else
name_val "Explicit LOCK TABLES" No
name_val "Explicit LOCK TABLES" "No"
fi
local delayed_insert="$(get_var Delayed_writes "$dir/${prefix}-mysql-status")"
local delayed_insert="$(get_var Delayed_writes "$dir/mysql-status")"
if [ -n "$delayed_insert" -a "${delayed_insert:-0}" -gt 0 ]; then
name_val "Delayed Insert" Yes
name_val "Delayed Insert" "Yes"
else
name_val "Delayed Insert" No
name_val "Delayed Insert" "No"
fi
local xat="$(get_var Com_xa_start "$dir/${prefix}-mysql-status")"
local xat="$(get_var Com_xa_start "$dir/mysql-status")"
if [ -n "$xat" -a "${xat:-0}" -gt 0 ]; then
name_val "XA Transactions" Yes
name_val "XA Transactions" "Yes"
else
name_val "XA Transactions" No
name_val "XA Transactions" "No"
fi
local ndb_cluster="$(get_var Ndb_cluster_node_id "$dir/${prefix}-mysql-status")"
local ndb_cluster="$(get_var "Ndb_cluster_node_id" "$dir/mysql-status")"
if [ -n "$ndb_cluster" -a "${ndb_cluster:-0}" -gt 0 ]; then
name_val "NDB Cluster" Yes
name_val "NDB Cluster" "Yes"
else
name_val "NDB Cluster" No
name_val "NDB Cluster" "No"
fi
local prep=$(( $(get_var Com_stmt_prepare "$dir/${prefix}-mysql-status") + $(get_var Com_prepare_sql "$dir/${prefix}-mysql-status") ))
local prep=$(( $(get_var "Com_stmt_prepare" "$dir/mysql-status") + $(get_var "Com_prepare_sql" "$dir/mysql-status") ))
if [ "${prep}" -gt 0 ]; then
name_val "Prepared Statements" Yes
name_val "Prepared Statements" "Yes"
else
name_val "Prepared Statements" No
name_val "Prepared Statements" "No"
fi
local prep_count="$(get_var Prepared_stmt_count "$dir/${prefix}-mysql-status")"
local prep_count="$(get_var Prepared_stmt_count "$dir/mysql-status")"
if [ "${prep_count}" ]; then
name_val "Prepared statement count" "${prep_count}"
fi
@@ -1283,12 +1285,12 @@ report_mysql_summary () {
# InnoDB
# ########################################################################
section InnoDB
local have_innodb="$(get_var have_innodb "$dir/${prefix}-mysql-variables")"
local have_innodb="$(get_var have_innodb "$dir/mysql-variables")"
if [ "${have_innodb}" = "YES" ]; then
section_innodb "$dir/${prefix}-mysql-variables" "$dir/${prefix}-mysql-status"
section_innodb "$dir/mysql-variables" "$dir/mysql-status"
if [ -s "$dir/${prefix}-innodb-status" ]; then
format_innodb_status "$dir/${prefix}-innodb-status"
if [ -s "$dir/innodb-status" ]; then
format_innodb_status "$dir/innodb-status"
fi
fi
@@ -1296,31 +1298,31 @@ report_mysql_summary () {
# MyISAM
# ########################################################################
section MyISAM
section_myisam "$dir/${prefix}-mysql-variables" "$dir/${prefix}-mysql-status"
section_myisam "$dir/mysql-variables" "$dir/mysql-status"
# ########################################################################
# Users & Security
# ########################################################################
section Security
local users="$( format_users "$dir/${prefix}-mysql-users" )"
local users="$( format_users "$dir/mysql-users" )"
# XXX TODO Give it a different formatting?
name_val Users "${users}"
name_val "Old Passwords" "$(get_var old_passwords "$dir/${prefix}-mysql-variables")"
name_val "Old Passwords" "$(get_var old_passwords "$dir/mysql-variables")"
# ########################################################################
# Binary Logging
# ########################################################################
section Binary_Logging
if [ -s "$dir/${prefix}-mysql-master-logs" ] \
|| [ -s "$dir/${prefix}-mysql-master-status" ]; then
summarize_binlogs "$dir/${prefix}-mysql-master-logs"
local format="$(get_var binlog_format "$dir/${prefix}-mysql-variables")"
if [ -s "$dir/mysql-master-logs" ] \
|| [ -s "$dir/mysql-master-status" ]; then
summarize_binlogs "$dir/mysql-master-logs"
local format="$(get_var binlog_format "$dir/mysql-variables")"
name_val binlog_format "${format:-STATEMENT}"
name_val expire_logs_days "$(get_var expire_logs_days "$dir/${prefix}-mysql-variables")"
name_val sync_binlog "$(get_var sync_binlog "$dir/${prefix}-mysql-variables")"
name_val server_id "$(get_var server_id "$dir/${prefix}-mysql-variables")"
format_binlog_filters "$dir/${prefix}-mysql-master-status"
name_val expire_logs_days "$(get_var expire_logs_days "$dir/mysql-variables")"
name_val sync_binlog "$(get_var sync_binlog "$dir/mysql-variables")"
name_val server_id "$(get_var server_id "$dir/mysql-variables")"
format_binlog_filters "$dir/mysql-master-status"
fi
# Replication: seconds behind, running, filters, skip_slave_start, skip_errors,
@@ -1330,13 +1332,13 @@ report_mysql_summary () {
# Interesting things that you just ought to know about.
# ########################################################################
section Noteworthy_Variables
section_noteworthy_variables "$dir/${prefix}-mysql-variables"
section_noteworthy_variables "$dir/mysql-variables"
# ########################################################################
# If there is a my.cnf in a standard location, see if we can pretty-print it.
# ########################################################################
section Configuration_File
local cnf_file="$(get_var "pt-summary-internal-Config_File" "$dir/${prefix}-mysql-variables")"
local cnf_file="$(get_var "pt-summary-internal-Config_File" "$dir/mysql-variables")"
if [ -n "${cnf_file}" ]; then
name_val "Config File" "${cnf_file}"
pretty_print_cnf_file "${cnf_file}"

View File

@@ -145,7 +145,7 @@ setup_data_dir () {
get_var () {
local varname="$1"
local file="$2"
echo "$(awk "\$1 ~ /^${varname}$/ { if (length(\$2)) { print substr(\$0, index(\$0,\$2)) } }" "${file}")"
awk -v pattern="${varname}" '$1 == pattern { if (length($2)) { print substr($0, index($0,$2)) } }' "${file}"
}
# ###########################################################################

View File

@@ -30,7 +30,7 @@ file_count=$(ls "$p" | wc -l)
is $file_count 12 "Creates the correct number of files (without --databases)"
awk '{print $1}' "$p/percona-toolkit-mysqld-instances" > "$TMPDIR/collect_mysqld_instances1.test"
awk '{print $1}' "$p/mysqld-instances" > "$TMPDIR/collect_mysqld_instances1.test"
ps ww -p "$(_pidof mysqld | sed -e "s/ /,/g")" | awk '{print $1}' > "$TMPDIR/collect_mysqld_instances2.test"
no_diff \
@@ -38,7 +38,7 @@ no_diff \
"$TMPDIR/collect_mysqld_instances2.test" \
"collect_mysql_info() finds the correct instances"
collect_mysqld_instances "$TMPDIR/collect_mysqld_instances3.test"
collect_mysqld_instances /dev/null > "$TMPDIR/collect_mysqld_instances3.test"
awk '{print $1}' "$TMPDIR/collect_mysqld_instances3.test"> "$TMPDIR/collect_mysqld_instances4.test"
@@ -52,7 +52,7 @@ $CMD_MYSQL $EXT_ARGV -ss -e 'SHOW /*!50000 GLOBAL*/ STATUS' > "$TMPDIR/collect_m
# TODO This is still pretty fragile.
awk '{print $1}' "$p/percona-toolkit-mysql-status" | sort > "$TMPDIR/collect_mysql_status_collect"
awk '{print $1}' "$p/mysql-status" | sort > "$TMPDIR/collect_mysql_status_collect"
awk '{print $1}' "$TMPDIR/collect_mysql_status" | sort > "$TMPDIR/collect_mysql_status_manual"
no_diff \
@@ -60,7 +60,7 @@ no_diff \
"$TMPDIR/collect_mysql_status_manual" \
"collect_mysql_status works the same than if done manually"
port="$(get_var port "$p/percona-toolkit-mysql-variables")"
port="$(get_var port "$p/mysql-variables")"
is \
$port \
@@ -70,14 +70,14 @@ is \
# collect_internal_vars
pat='pt-summary-internal-user\|pt-summary-internal-FNV_64\|pt-summary-internal-trigger_count\|pt-summary-internal-symbols'
collect_internal_vars "$TMPDIR/collect_internal_vars"
collect_internal_vars > "$TMPDIR/collect_internal_vars"
is \
"$( grep $pat "$p/percona-toolkit-mysql-variables" )" \
"$( grep $pat "$p/mysql-variables" )" \
"$( grep $pat "$TMPDIR/collect_internal_vars" )" \
"collect_internal_vars works"
# find_my_cnf_file
cnf_file=$(find_my_cnf_file "$p/percona-toolkit-mysqld-instances" ${port});
cnf_file=$(find_my_cnf_file "$p/mysqld-instances" ${port});
is \
"$cnf_file" \
@@ -101,13 +101,13 @@ is "$res" "/var/lib/mysql/my.cnf" "ps-mysqld-004.txt with port"
$CMD_MYSQL $EXT_ARGV -ss -e 'SHOW DATABASES' > "$TMPDIR/mysql_collect_databases" 2>/dev/null
no_diff \
"$p/percona-toolkit-mysql-databases" \
"$p/mysql-databases" \
"$TMPDIR/mysql_collect_databases" \
"collect_mysql_databases works"
$CMD_MYSQL $EXT_ARGV -ss -e 'CREATE DATABASE collect_mysql_databases_test;' 1>/dev/null 2>&1
collect_mysql_databases "$TMPDIR/mysql_collect_databases"
collect_mysql_databases > "$TMPDIR/mysql_collect_databases"
$CMD_MYSQL $EXT_ARGV -ss -e 'DROP DATABASE collect_mysql_databases_test;'
@@ -117,12 +117,12 @@ cmd_ok \
# collect_master_logs_status
if [ -n "$(get_var log_bin "$p/percona-toolkit-mysql-variables")" ]; then
if [ -n "$(get_var log_bin "$p/mysql-variables")" ]; then
cmd_ok \
"test -e $p/percona-toolkit-mysql-master-logs" \
"test -e $p/mysql-master-logs" \
"If we have a binlog, a file with the master logs should exist"
cmd_ok \
"test -e $p/percona-toolkit-mysql-master-status" \
"test -e $p/mysql-master-status" \
"And likewise for master status"
else
skip 1 2 "no binlog"
@@ -142,13 +142,13 @@ test_get_mysqldump_for () {
cat <<EOF > "$TMPDIR/expected"
--defaults-file=/tmp/12345/my.sandbox.cnf --no-data --skip-comments --skip-add-locks --skip-add-drop-table --compact --skip-lock-all-tables --skip-lock-tables --skip-set-charset --databases --all-databases
EOF
get_mysqldump_for "$dir/mysqldump_test_1" ''
get_mysqldump_for '' > "$dir/mysqldump_test_1"
no_diff \
"$dir/mysqldump_test_1" \
"$TMPDIR/expected" \
"get_mysqldump_for picks a name default"
get_mysqldump_for "$dir/mysqldump_test_2" '' '--all-databases'
get_mysqldump_for '' '--all-databases' > "$dir/mysqldump_test_2"
no_diff \
"$dir/mysqldump_test_2" \
"$TMPDIR/expected" \
@@ -157,7 +157,7 @@ EOF
cat <<EOF > "$TMPDIR/expected"
--defaults-file=/tmp/12345/my.sandbox.cnf --no-data --skip-comments --skip-add-locks --skip-add-drop-table --compact --skip-lock-all-tables --skip-lock-tables --skip-set-charset --databases a
EOF
get_mysqldump_for "$dir/mysqldump_test_3" '' 'a'
get_mysqldump_for '' 'a' > "$dir/mysqldump_test_3"
no_diff \
"$dir/mysqldump_test_3" \
"$TMPDIR/expected" \
@@ -166,7 +166,7 @@ EOF
cat <<EOF > "$TMPDIR/expected"
--defaults-file=/tmp/12345/my.sandbox.cnf --no-data --skip-comments --skip-add-locks --skip-add-drop-table --compact --skip-lock-all-tables --skip-lock-tables --skip-set-charset --databases a b
EOF
get_mysqldump_for "$dir/mysqldump_test_4" '' 'a,b'
get_mysqldump_for '' 'a,b' > "$dir/mysqldump_test_4"
no_diff \
"$dir/mysqldump_test_4" \
"$TMPDIR/expected" \
@@ -177,7 +177,7 @@ EOF
$CMD_MYSQL $EXT_ARGV -ss -e 'CREATE DATABASE collect_mysql_databases_test1;' 1>/dev/null 2>&1
$CMD_MYSQL $EXT_ARGV -ss -e 'CREATE DATABASE collect_mysql_databases_test2;' 1>/dev/null 2>&1
get_mysqldump_for "$dir/mysqldump_test_5" '' "collect_mysql_databases_test1,collect_mysql_databases_test2"
get_mysqldump_for '' "collect_mysql_databases_test1,collect_mysql_databases_test2" > "$dir/mysqldump_test_5"
like \
"$(cat $dir/mysqldump_test_5)" \

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env bash
plan 30
plan 32
. "$LIB_DIR/alt_cmds.sh"
. "$LIB_DIR/log_warn_die.sh"
@@ -312,17 +312,17 @@ no_diff "$TMPDIR/got" "$TMPDIR/expected" "parse_mysqld_instances"
# ###########################################################################
NAME_VAL_LEN=20
cp $samples/mysql-variables-001.txt $TMPDIR/percona-toolkit-mysql-variables
cp $samples/mysql-variables-001.txt $TMPDIR/mysql-variables
is \
$(get_mysql_timezone "$TMPDIR/percona-toolkit-mysql-variables") \
$(get_mysql_timezone "$TMPDIR/mysql-variables") \
"EDT" \
"get_mysql_timezone"
cat <<EOF > $TMPDIR/expected
2010-05-27 11:38 (up 0+02:08:52)
EOF
cp $samples/mysql-status-001.txt $TMPDIR/percona-toolkit-mysql-status
uptime="$(get_var Uptime $TMPDIR/percona-toolkit-mysql-status)"
cp $samples/mysql-status-001.txt $TMPDIR/mysql-status
uptime="$(get_var Uptime $TMPDIR/mysql-status)"
current_time="$(echo -e "2010-05-27 11:38\n")"
get_mysql_uptime "${uptime}" "${current_time}" > $TMPDIR/got
no_diff "$TMPDIR/got" "$TMPDIR/expected" "get_mysql_uptime"
@@ -331,8 +331,8 @@ cat <<EOF > $TMPDIR/expected
Version | 5.0.51a-24+lenny2 (Debian)
Built On | debian-linux-gnu i486
EOF
cp "$samples/mysql-variables-001.txt" "$TMPDIR/percona-toolkit-mysql-variables"
get_mysql_version "$TMPDIR/percona-toolkit-mysql-variables" > "$TMPDIR/got"
cp "$samples/mysql-variables-001.txt" "$TMPDIR/mysql-variables"
get_mysql_version "$TMPDIR/mysql-variables" > "$TMPDIR/got"
no_diff "$TMPDIR/got" "$TMPDIR/expected" "get_mysql_version"
# ###########################################################################
@@ -673,8 +673,8 @@ test_format_innodb () {
Adaptive Checkpoint | estimate
EOF
section_innodb "$samples/temp001/percona-toolkit-mysql-variables" $samples/temp001/percona-toolkit-mysql-status > $TMPDIR/got
no_diff $TMPDIR/expected $TMPDIR/got
section_innodb "$samples/temp001/mysql-variables" "$samples/temp001/mysql-status" > "$TMPDIR/got"
no_diff "$TMPDIR/expected" "$TMPDIR/got"
}
test_format_innodb
@@ -684,7 +684,7 @@ test_format_innodb
# format_innodb_filters
# ###########################################################################
format_innodb_filters_test () {
test_format_innodb_filters () {
local NAME_VAL_LEN=20
cat <<EOF > $TMPDIR/expected
@@ -692,11 +692,11 @@ format_innodb_filters_test () {
binlog_ignore_db | mysql,test
EOF
format_binlog_filters "$samples/mysql-show-master-status-001.txt" > $TMPDIR/got
format_binlog_filters "$samples/mysql-show-master-status-001.txt" > "$TMPDIR/got"
no_diff "$TMPDIR/got" "$TMPDIR/expected"
}
format_innodb_filters_test
test_format_innodb_filters
# ###########################################################################
# report_mysql_summary
@@ -706,13 +706,28 @@ OPT_SLEEP=1
OPT_DATABASES=""
OPT_READ_SAMPLES=""
NAME_VAL_LEN=25
_NO_FALSE_NEGATIVES=1
report_mysql_summary "$samples/tempdir" "percona-toolkit" | tail -n+3 > "$TMPDIR/got"
report_mysql_summary "$samples/tempdir" | tail -n+3 > "$TMPDIR/got"
no_diff "$TMPDIR/got" "$samples/expected_result_report_summary.txt"
_NO_FALSE_NEGATIVES=""
OPT_SLEEP=10
report_mysql_summary "$samples/temp002" "percona-toolkit" 2>/dev/null | tail -n+3 > "$TMPDIR/got"
no_diff "$TMPDIR/got" "$samples/expected_output_temp002.txt"
report_mysql_summary "$samples/temp002" 2>/dev/null | tail -n+3 > "$TMPDIR/got"
no_diff \
"$TMPDIR/got" \
"$samples/expected_output_temp002.txt" \
"report_mysql_summary, dir: temp002"
report_mysql_summary "$samples/temp003" 2>/dev/null | tail -n+3 > "$TMPDIR/got"
no_diff \
"$TMPDIR/got" \
"$samples/expected_output_temp003.txt" \
"report_mysql_summary, dir: temp003"
report_mysql_summary "$samples/temp004" 2>/dev/null | tail -n+3 > "$TMPDIR/got"
no_diff \
"$TMPDIR/got" \
"$samples/expected_output_temp004.txt" \
"report_mysql_summary, dir: temp004"
# ###########################################################################
# Done

View File

@@ -14,21 +14,22 @@ use PerconaTest;
my ($tool) = $PROGRAM_NAME =~ m/([\w-]+)\.t$/;
use Test::More tests => 3;
use File::Temp qw( tempdir );
use Test::More tests => 7;
use File::Temp qw( tempfile tempdir );
local $ENV{PTDEBUG} = "";
#
# --save-data
# --save-samples
#
my $dir = tempdir( CLEANUP => 1 );
`$trunk/bin/$tool --sleep 1 --save-data $dir`;
`$trunk/bin/$tool --sleep 1 --save-samples $dir`;
ok(
-e $dir,
"Using --save-data doesn't mistakenly delete the target dir"
"Using --save-samples doesn't mistakenly delete the target dir"
);
my @files = glob("$dir/*");
@@ -39,18 +40,45 @@ is(
"And leaves all files in there"
);
`$trunk/bin/$tool --sleep 1 --save-samples $dir`;
open my $fh, "<", "$dir/mysql-variables" or die "Can't open file: $!";
my $data = do { local $/; <$fh> };
unlike(
$data,
qr/pt-summary-internal-symbols.*pt-summary-internal-symbols/s,
"--save-samples doesn't re-use files if they already exist"
);
close $fh;
undef($dir);
#
# --dump-schemas
# --databases
#
my $out = `$trunk/bin/$tool --sleep 1 --dump-schemas mysql 2>/dev/null`;
my $out = `$trunk/bin/$tool --sleep 1 --databases mysql 2>/dev/null`;
like(
$out,
qr/Database Tables Views SPs Trigs Funcs FKs Partn\s+\Q{chosen}\E/,
"--dump-schemas works"
qr/Database Tables Views SPs Trigs Funcs FKs Partn\s+\Qmysql\E/,
"--databases works"
);
# --read-samples
for my $i (2..4) {
ok(
no_diff(
sub {
local $ENV{_NO_FALSE_NEGATIVES} = 1;
print `$trunk/bin/$tool --read-samples $trunk/t/pt-mysql-summary/samples/temp00$i | tail -n+3 | perl -wlnpe 's/Skipping schema analysis.*/Skipping schema analysis/'`
},
"t/pt-mysql-summary/samples/expected_output_temp00$i.txt",
),
"--read-samples works for t/pt-mysql-summary/temp00$i",
);
close $fh;
}
exit;

View File

@@ -173,6 +173,10 @@ Uptime 90000 1 1
performance_schema
# Noteworthy Technologies ####################################
Full Text Indexing | No
Geospatial Types | No
Foreign Keys | No
Partitioning | No
SSL | No
Explicit LOCK TABLES | No
Delayed Insert | No

View File

@@ -0,0 +1,222 @@
# Instances ##################################################
Port Data Directory Nice OOM Socket
===== ========================== ==== === ======
12345 /tmp/12345/data 0 0 /tmp/12345/mysql_sandbox12345.sock
# MySQL Executable ###########################################
Path to executable | /home/vagrant/mysql-5.1.49-barebones/bin/mysql
Has symbols | Yes
# Report On Port 12345 #######################################
User | msandbox@%
Time | 2012-03-27 16:33:46 (BST)
Hostname | vagrant-debian-squeeze
Version | 5.1.49-log MySQL Community Server (GPL)
Built On | pc-linux-gnu i686
Started | 2012-03-27 16:15 (up 0+00:18:12)
Databases | 2
Datadir | /tmp/12345/data/
Processes | 1 connected, 1 running
Replication | Is not a slave, has 0 slaves connected
Pidfile | /tmp/12345/data/mysql_sandbox12345.pid (exists)
# Processlist ################################################
Command COUNT(*) Working SUM(Time) MAX(Time)
------------------------------ -------- ------- --------- ---------
Query 1 1 0 0
User COUNT(*) Working SUM(Time) MAX(Time)
------------------------------ -------- ------- --------- ---------
msandbox 1 1 0 0
Host COUNT(*) Working SUM(Time) MAX(Time)
------------------------------ -------- ------- --------- ---------
localhost 1 1 0 0
db COUNT(*) Working SUM(Time) MAX(Time)
------------------------------ -------- ------- --------- ---------
NULL 1 1 0 0
State COUNT(*) Working SUM(Time) MAX(Time)
------------------------------ -------- ------- --------- ---------
NULL 1 1 0 0
# Status Counters (Wait 10 Seconds) ##########################
Variable Per day Per second 10 secs
Bytes_received 250000 2 200
Bytes_sent 3500000 40 1500
Com_admin_commands 80
Com_select 2250 1
Com_show_binlogs 80
Com_show_databases 80
Com_show_engine_status 150
Com_show_master_status 80
Com_show_plugins 80
Com_show_processlist 80
Com_show_slave_status 80
Com_show_status 225
Com_show_variables 150
Connections 1750 1
Created_tmp_disk_tables 800 1
Created_tmp_files 400
Created_tmp_tables 3000 3
Flush_commands 80
Handler_read_first 225
Handler_read_rnd_next 90000 1 30
Handler_write 90000 1 30
Innodb_buffer_pool_pages_flushed 15000
Innodb_buffer_pool_read_requests 100000 1
Innodb_buffer_pool_write_requests 90000 1
Innodb_data_fsyncs 1250
Innodb_data_writes 3000
Innodb_data_written 250000000 3000
Innodb_dblwr_pages_written 1250
Innodb_dblwr_writes 80
Innodb_log_write_requests 6000
Innodb_log_writes 300
Innodb_os_log_fsyncs 800
Innodb_os_log_written 3000000 35
Innodb_pages_created 15000
Innodb_pages_written 15000
Open_table_definitions 1750
Opened_files 10000 4
Opened_table_definitions 1750
Opened_tables 2250
Queries 5000 4
Questions 5000 4
Select_scan 700
Table_locks_immediate 1500
Threads_created 1750 1
Uptime 90000 1 1
# Table cache ################################################
Size | 0
Usage | 0%
# Key Percona Server features ################################
Table & Index Stats | Not Supported
Multiple I/O Threads | Not Supported
Corruption Resilient | Not Supported
Durable Replication | Not Supported
Import InnoDB Tables | Not Supported
Fast Server Restarts | Not Supported
Enhanced Logging | Not Supported
Replica Perf Logging | Not Supported
Response Time Hist. | Not Supported
Smooth Flushing | Not Supported
HandlerSocket NoSQL | Not Supported
Fast Hash UDFs | Unknown
# Plugins ####################################################
InnoDB compression | Not found
# Query cache ################################################
query_cache_type | ON
Size | 0.0
Usage | 0%
HitToInsertRatio | 0%
# Schema #####################################################
Skipping schema analysis
# Noteworthy Technologies ####################################
SSL | No
Explicit LOCK TABLES | No
Delayed Insert | No
XA Transactions | No
NDB Cluster | No
Prepared Statements | No
Prepared statement count | 0
# InnoDB #####################################################
Version | default
Buffer Pool Size | 16.0M
Buffer Pool Fill | 15%
Buffer Pool Dirty | 0%
File Per Table | OFF
Page Size | 16k
Log File Size | 2 * 5.0M = 10.0M
Log Buffer Size | 1M
Flush Method |
Flush Log At Commit | 1
XA Support | ON
Checksums | ON
Doublewrite | ON
R/W I/O Threads |
I/O Capacity |
Thread Concurrency | 8
Concurrency Tickets | 500
Commit Concurrency | 0
Txn Isolation Level | REPEATABLE-READ
Adaptive Flushing |
Adaptive Checkpoint |
Checkpoint Age | 0
InnoDB Queue | 0 queries inside InnoDB, 0 queries in queue
Oldest Transaction | 0 Seconds
History List Len | 0
Read Views | 1
Undo Log Entries | 0 transactions, 0 total undo, 0 max undo
Pending I/O Reads | 0 buf pool reads, 0 normal AIO, 0 ibuf AIO, 0 preads
Pending I/O Writes | 0 buf pool (0 LRU, 0 flush list, 0 page); 0 AIO, 0 sync, 0 log IO (0 log, 0 chkp); 0 pwrites
Pending I/O Flushes | 0 buf pool, 0 log
Transaction States | 1xnot started
# MyISAM #####################################################
Key Cache | 16.0M
Pct Used | 10%
Unflushed | 0%
# Security ###################################################
Users | 2 users, 0 anon, 0 w/o pw, 0 old pw
Old Passwords | OFF
# Binary Logging #############################################
Binlogs | 1
Zero-Sized | 0
Total Size | 106.0
binlog_format | STATEMENT
expire_logs_days | 0
sync_binlog | 0
server_id | 12345
binlog_do_db |
binlog_ignore_db |
# Noteworthy Variables #######################################
Auto-Inc Incr/Offset | 1/1
default_storage_engine |
flush_time | 0
init_connect |
init_file |
sql_mode |
join_buffer_size | 128k
sort_buffer_size | 2M
read_buffer_size | 128k
read_rnd_buffer_size | 256k
bulk_insert_buffer | 0.00
max_heap_table_size | 16M
tmp_table_size | 16M
max_allowed_packet | 1M
thread_stack | 192k
log | OFF
log_error | /tmp/12345/data/mysqld.log
log_warnings | 1
log_slow_queries | OFF
log_queries_not_using_indexes | OFF
log_slave_updates | ON
# Configuration File #########################################
Config File | /tmp/12345/my.sandbox.cnf
[client]
user = msandbox
password = msandbox
port = 12345
socket = /tmp/12345/mysql_sandbox12345.sock
[mysqld]
port = 12345
socket = /tmp/12345/mysql_sandbox12345.sock
pid-file = /tmp/12345/data/mysql_sandbox12345.pid
basedir = /home/hugmeir/mysql5/mysqlbrew/mysqls/Percona-Server-5.1/
datadir = /tmp/12345/data
key_buffer_size = 16M
innodb_buffer_pool_size = 16M
innodb_data_home_dir = /tmp/12345/data
innodb_log_group_home_dir = /tmp/12345/data
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_file_size = 5M
log-bin = mysql-bin
relay_log = mysql-relay-bin
log_slave_updates
server-id = 12345
report-host = 127.0.0.1
report-port = 12345
log-error = mysqld.log
innodb_lock_wait_timeout = 3
# The End ####################################################

View File

@@ -0,0 +1,221 @@
# Instances ##################################################
Port Data Directory Nice OOM Socket
===== ========================== ==== === ======
12345 /tmp/12345/data 0 0 /tmp/12345/mysql_sandbox12345.sock
# MySQL Executable ###########################################
Path to executable | /usr/bin/mysql
Has symbols | No
# Report On Port 12345 #######################################
User | msandbox@%
Time | 2012-03-27 09:16:44 (CEST)
Hostname | localhost.localdomain
Version | 5.1.49-log MySQL Community Server (GPL)
Built On | pc-linux-gnu i686
Started | 2012-03-27 09:09 (up 0+00:07:37)
Databases | 3
Datadir | /tmp/12345/data/
Processes | 1 connected, 1 running
Replication | Is not a slave, has 0 slaves connected
Pidfile | /tmp/12345/data/mysql_sandbox12345.pid (exists)
# Processlist ################################################
Command COUNT(*) Working SUM(Time) MAX(Time)
------------------------------ -------- ------- --------- ---------
Query 1 1 0 0
User COUNT(*) Working SUM(Time) MAX(Time)
------------------------------ -------- ------- --------- ---------
msandbox 1 1 0 0
Host COUNT(*) Working SUM(Time) MAX(Time)
------------------------------ -------- ------- --------- ---------
localhost 1 1 0 0
db COUNT(*) Working SUM(Time) MAX(Time)
------------------------------ -------- ------- --------- ---------
NULL 1 1 0 0
State COUNT(*) Working SUM(Time) MAX(Time)
------------------------------ -------- ------- --------- ---------
NULL 1 1 0 0
# Status Counters (Wait 10 Seconds) ##########################
Variable Per day Per second 10 secs
Bytes_received 500000 6 200
Bytes_sent 8000000 90 1500
Com_admin_commands 200
Com_select 5000 1
Com_show_binlogs 200
Com_show_databases 200
Com_show_engine_status 200
Com_show_master_status 200
Com_show_plugins 200
Com_show_processlist 200
Com_show_slave_status 200
Com_show_status 600
Com_show_variables 400
Connections 4000 1
Created_tmp_disk_tables 2000 1
Created_tmp_files 900
Created_tmp_tables 7000 3
Flush_commands 200
Handler_read_first 600
Handler_read_key 2500
Handler_read_rnd_next 225000 2 30
Handler_write 225000 2 30
Innodb_buffer_pool_read_ahead_rnd 600
Innodb_buffer_pool_read_requests 350000 3
Innodb_buffer_pool_reads 25000
Innodb_data_fsyncs 600
Innodb_data_read 1500000000 17500
Innodb_data_reads 50000
Innodb_data_writes 600
Innodb_data_written 300000 3
Innodb_log_writes 200
Innodb_os_log_fsyncs 600
Innodb_os_log_written 100000 1
Innodb_pages_read 40000
Open_table_definitions 9000
Opened_files 30000 4
Opened_table_definitions 7000
Opened_tables 9000
Queries 12500 4
Questions 12500 4
Select_scan 1750
Table_locks_immediate 3500
Threads_created 4000 1
Uptime 90000 1 1
# Table cache ################################################
Size | 0
Usage | 0%
# Key Percona Server features ################################
Table & Index Stats | Not Supported
Multiple I/O Threads | Not Supported
Corruption Resilient | Not Supported
Durable Replication | Not Supported
Import InnoDB Tables | Not Supported
Fast Server Restarts | Not Supported
Enhanced Logging | Not Supported
Replica Perf Logging | Not Supported
Response Time Hist. | Not Supported
Smooth Flushing | Not Supported
HandlerSocket NoSQL | Not Supported
Fast Hash UDFs | Unknown
# Plugins ####################################################
InnoDB compression | Not found
# Query cache ################################################
query_cache_type | ON
Size | 0.0
Usage | 0%
HitToInsertRatio | 0%
# Schema #####################################################
Skipping schema analysis
# Noteworthy Technologies ####################################
SSL | No
Explicit LOCK TABLES | No
Delayed Insert | No
XA Transactions | No
NDB Cluster | No
Prepared Statements | No
Prepared statement count | 0
# InnoDB #####################################################
Version | default
Buffer Pool Size | 16.0M
Buffer Pool Fill | 20%
Buffer Pool Dirty | 0%
File Per Table | OFF
Page Size | 16k
Log File Size | 2 * 5.0M = 10.0M
Log Buffer Size | 1M
Flush Method |
Flush Log At Commit | 1
XA Support | ON
Checksums | ON
Doublewrite | ON
R/W I/O Threads |
I/O Capacity |
Thread Concurrency | 8
Concurrency Tickets | 500
Commit Concurrency | 0
Txn Isolation Level | REPEATABLE-READ
Adaptive Flushing |
Adaptive Checkpoint |
Checkpoint Age | 0
InnoDB Queue | 0 queries inside InnoDB, 0 queries in queue
Oldest Transaction | 0 Seconds
History List Len | 0
Read Views | 1
Undo Log Entries | 0 transactions, 0 total undo, 0 max undo
Pending I/O Reads | 0 buf pool reads, 0 normal AIO, 0 ibuf AIO, 0 preads
Pending I/O Writes | 0 buf pool (0 LRU, 0 flush list, 0 page); 0 AIO, 0 sync, 0 log IO (0 log, 0 chkp); 0 pwrites
Pending I/O Flushes | 0 buf pool, 0 log
Transaction States | 1xnot started
# MyISAM #####################################################
Key Cache | 16.0M
Pct Used | 10%
Unflushed | 0%
# Security ###################################################
Users | 2 users, 0 anon, 0 w/o pw, 0 old pw
Old Passwords | OFF
# Binary Logging #############################################
Binlogs | 2
Zero-Sized | 0
Total Size | 3.1M
binlog_format | STATEMENT
expire_logs_days | 0
sync_binlog | 0
server_id | 12345
binlog_do_db |
binlog_ignore_db |
# Noteworthy Variables #######################################
Auto-Inc Incr/Offset | 1/1
default_storage_engine |
flush_time | 0
init_connect |
init_file |
sql_mode |
join_buffer_size | 128k
sort_buffer_size | 2M
read_buffer_size | 128k
read_rnd_buffer_size | 256k
bulk_insert_buffer | 0.00
max_heap_table_size | 16M
tmp_table_size | 16M
max_allowed_packet | 1M
thread_stack | 192k
log | OFF
log_error | /tmp/12345/data/mysqld.log
log_warnings | 1
log_slow_queries | OFF
log_queries_not_using_indexes | OFF
log_slave_updates | ON
# Configuration File #########################################
Config File | /tmp/12345/my.sandbox.cnf
[client]
user = msandbox
password = msandbox
port = 12345
socket = /tmp/12345/mysql_sandbox12345.sock
[mysqld]
port = 12345
socket = /tmp/12345/mysql_sandbox12345.sock
pid-file = /tmp/12345/data/mysql_sandbox12345.pid
basedir = /home/hugmeir/mysql5/mysqlbrew/mysqls/Percona-Server-5.1/
datadir = /tmp/12345/data
key_buffer_size = 16M
innodb_buffer_pool_size = 16M
innodb_data_home_dir = /tmp/12345/data
innodb_log_group_home_dir = /tmp/12345/data
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_file_size = 5M
log-bin = mysql-bin
relay_log = mysql-relay-bin
log_slave_updates
server-id = 12345
report-host = 127.0.0.1
report-port = 12345
log-error = mysqld.log
innodb_lock_wait_timeout = 3
# The End ####################################################

View File

@@ -0,0 +1,77 @@
*************************** 1. row ***************************
Type: InnoDB
Name:
Status:
=====================================
120327 16:33:46 INNODB MONITOR OUTPUT
=====================================
Per second averages calculated from the last 38 seconds
----------
SEMAPHORES
----------
OS WAIT ARRAY INFO: reservation count 7, signal count 7
Mutex spin waits 0, rounds 140, OS waits 7
RW-shared spins 0, OS waits 0; RW-excl spins 0, OS waits 0
------------
TRANSACTIONS
------------
Trx id counter 0 769
Purge done for trx's n:o < 0 0 undo n:o < 0 0
History list length 0
LIST OF TRANSACTIONS FOR EACH SESSION:
---TRANSACTION 0 0, not started, process no 1529, OS thread id 2970180464
MySQL thread id 26, query id 75 localhost msandbox
SHOW /*!50000 ENGINE*/ INNODB STATUS
--------
FILE I/O
--------
I/O thread 0 state: waiting for i/o request (insert buffer thread)
I/O thread 1 state: waiting for i/o request (log thread)
I/O thread 2 state: waiting for i/o request (read thread)
I/O thread 3 state: waiting for i/o request (write thread)
Pending normal aio reads: 0, aio writes: 0,
ibuf aio reads: 0, log i/o's: 0, sync i/o's: 0
Pending flushes (fsync) log: 0; buffer pool: 0
0 OS file reads, 38 OS file writes, 16 OS fsyncs
0.00 reads/s, 0 avg bytes/read, 0.00 writes/s, 0.00 fsyncs/s
-------------------------------------
INSERT BUFFER AND ADAPTIVE HASH INDEX
-------------------------------------
Ibuf: size 1, free list len 0, seg size 2,
0 inserts, 0 merged recs, 0 merges
Hash table size 69257, node heap has 1 buffer(s)
0.00 hash searches/s, 0.00 non-hash searches/s
---
LOG
---
Log sequence number 0 44233
Log flushed up to 0 44233
Last checkpoint at 0 44233
0 pending log writes, 0 pending chkp writes
11 log i/o's done, 0.00 log i/o's/second
----------------------
BUFFER POOL AND MEMORY
----------------------
Total memory allocated 26533784; in additional pool allocated 858752
Dictionary memory allocated 20888
Buffer pool size 1024
Free buffers 845
Database pages 178
Modified db pages 0
Pending reads 0
Pending writes: LRU 0, flush list 0, single page 0
Pages read 0, created 178, written 189
0.00 reads/s, 0.00 creates/s, 0.00 writes/s
No buffer pool page gets since the last printout
--------------
ROW OPERATIONS
--------------
0 queries inside InnoDB, 0 queries in queue
1 read views open inside InnoDB
Main thread process no. 1529, id 2978773872, state: waiting for server activity
Number of rows inserted 0, updated 0, deleted 0, read 0
0.00 inserts/s, 0.00 updates/s, 0.00 deletes/s, 0.00 reads/s
----------------------------
END OF INNODB MONITOR OUTPUT
============================

View File

@@ -0,0 +1,2 @@
information_schema
mysql

View File

@@ -0,0 +1 @@
mysql-bin.000001 106

View File

@@ -0,0 +1 @@
mysql-bin.000001 106

View File

@@ -0,0 +1,9 @@
*************************** 1. row ***************************
Id: 27
User: msandbox
Host: localhost
db: NULL
Command: Query
Time: 0
State: NULL
Info: SHOW FULL PROCESSLIST

View File

@@ -0,0 +1,291 @@
Aborted_clients 0
Aborted_connects 0
Binlog_cache_disk_use 0
Binlog_cache_use 0
Bytes_received 3015
Bytes_sent 43255
Com_admin_commands 1
Com_assign_to_keycache 0
Com_alter_db 0
Com_alter_db_upgrade 0
Com_alter_event 0
Com_alter_function 0
Com_alter_procedure 0
Com_alter_server 0
Com_alter_table 0
Com_alter_tablespace 0
Com_analyze 0
Com_backup_table 0
Com_begin 0
Com_binlog 0
Com_call_procedure 0
Com_change_db 0
Com_change_master 0
Com_check 0
Com_checksum 0
Com_commit 0
Com_create_db 0
Com_create_event 0
Com_create_function 0
Com_create_index 0
Com_create_procedure 0
Com_create_server 0
Com_create_table 0
Com_create_trigger 0
Com_create_udf 0
Com_create_user 0
Com_create_view 0
Com_dealloc_sql 0
Com_delete 0
Com_delete_multi 0
Com_do 0
Com_drop_db 0
Com_drop_event 0
Com_drop_function 0
Com_drop_index 0
Com_drop_procedure 0
Com_drop_server 0
Com_drop_table 0
Com_drop_trigger 0
Com_drop_user 0
Com_drop_view 0
Com_empty_query 0
Com_execute_sql 0
Com_flush 0
Com_grant 0
Com_ha_close 0
Com_ha_open 0
Com_ha_read 0
Com_help 0
Com_insert 0
Com_insert_select 0
Com_install_plugin 0
Com_kill 0
Com_load 0
Com_load_master_data 0
Com_load_master_table 0
Com_lock_tables 0
Com_optimize 0
Com_preload_keys 0
Com_prepare_sql 0
Com_purge 0
Com_purge_before_date 0
Com_release_savepoint 0
Com_rename_table 0
Com_rename_user 0
Com_repair 0
Com_replace 0
Com_replace_select 0
Com_reset 0
Com_restore_table 0
Com_revoke 0
Com_revoke_all 0
Com_rollback 0
Com_rollback_to_savepoint 0
Com_savepoint 0
Com_select 28
Com_set_option 0
Com_show_authors 0
Com_show_binlog_events 0
Com_show_binlogs 1
Com_show_charsets 0
Com_show_collations 0
Com_show_column_types 0
Com_show_contributors 0
Com_show_create_db 0
Com_show_create_event 0
Com_show_create_func 0
Com_show_create_proc 0
Com_show_create_table 0
Com_show_create_trigger 0
Com_show_databases 1
Com_show_engine_logs 0
Com_show_engine_mutex 0
Com_show_engine_status 2
Com_show_events 0
Com_show_errors 0
Com_show_fields 0
Com_show_function_status 0
Com_show_grants 0
Com_show_keys 0
Com_show_master_status 1
Com_show_new_master 0
Com_show_open_tables 0
Com_show_plugins 1
Com_show_privileges 0
Com_show_procedure_status 0
Com_show_processlist 1
Com_show_profile 0
Com_show_profiles 0
Com_show_slave_hosts 0
Com_show_slave_status 1
Com_show_status 3
Com_show_storage_engines 0
Com_show_table_status 0
Com_show_tables 0
Com_show_triggers 0
Com_show_variables 2
Com_show_warnings 0
Com_slave_start 0
Com_slave_stop 0
Com_stmt_close 0
Com_stmt_execute 0
Com_stmt_fetch 0
Com_stmt_prepare 0
Com_stmt_reprepare 0
Com_stmt_reset 0
Com_stmt_send_long_data 0
Com_truncate 0
Com_uninstall_plugin 0
Com_unlock_tables 0
Com_update 0
Com_update_multi 0
Com_xa_commit 0
Com_xa_end 0
Com_xa_prepare 0
Com_xa_recover 0
Com_xa_rollback 0
Com_xa_start 0
Compression OFF
Connections 23
Created_tmp_disk_tables 10
Created_tmp_files 5
Created_tmp_tables 36
Delayed_errors 0
Delayed_insert_threads 0
Delayed_writes 0
Flush_commands 1
Handler_commit 0
Handler_delete 0
Handler_discover 0
Handler_prepare 0
Handler_read_first 3
Handler_read_key 0
Handler_read_next 0
Handler_read_prev 0
Handler_read_rnd 0
Handler_read_rnd_next 1164
Handler_rollback 0
Handler_savepoint 0
Handler_savepoint_rollback 0
Handler_update 0
Handler_write 1142
Innodb_buffer_pool_pages_data 178
Innodb_buffer_pool_pages_dirty 0
Innodb_buffer_pool_pages_flushed 189
Innodb_buffer_pool_pages_free 845
Innodb_buffer_pool_pages_misc 1
Innodb_buffer_pool_pages_total 1024
Innodb_buffer_pool_read_ahead_rnd 0
Innodb_buffer_pool_read_ahead_seq 0
Innodb_buffer_pool_read_requests 1398
Innodb_buffer_pool_reads 0
Innodb_buffer_pool_wait_free 0
Innodb_buffer_pool_write_requests 1174
Innodb_data_fsyncs 16
Innodb_data_pending_fsyncs 0
Innodb_data_pending_reads 0
Innodb_data_pending_writes 0
Innodb_data_read 0
Innodb_data_reads 0
Innodb_data_writes 38
Innodb_data_written 3400192
Innodb_dblwr_pages_written 16
Innodb_dblwr_writes 1
Innodb_log_waits 0
Innodb_log_write_requests 77
Innodb_log_writes 4
Innodb_os_log_fsyncs 10
Innodb_os_log_pending_fsyncs 0
Innodb_os_log_pending_writes 0
Innodb_os_log_written 37888
Innodb_page_size 16384
Innodb_pages_created 178
Innodb_pages_read 0
Innodb_pages_written 189
Innodb_row_lock_current_waits 0
Innodb_row_lock_time 0
Innodb_row_lock_time_avg 0
Innodb_row_lock_time_max 0
Innodb_row_lock_waits 0
Innodb_rows_deleted 0
Innodb_rows_inserted 0
Innodb_rows_read 0
Innodb_rows_updated 0
Key_blocks_not_flushed 0
Key_blocks_unused 14497
Key_blocks_used 0
Key_read_requests 0
Key_reads 0
Key_write_requests 0
Key_writes 0
Last_query_cost 0.000000
Max_used_connections 1
Not_flushed_delayed_rows 0
Open_files 48
Open_streams 0
Open_table_definitions 23
Open_tables 23
Opened_files 138
Opened_table_definitions 23
Opened_tables 30
Prepared_stmt_count 0
Qcache_free_blocks 0
Qcache_free_memory 0
Qcache_hits 0
Qcache_inserts 0
Qcache_lowmem_prunes 0
Qcache_not_cached 0
Qcache_queries_in_cache 0
Qcache_total_blocks 0
Queries 63
Questions 63
Rpl_status NULL
Select_full_join 0
Select_full_range_join 0
Select_range 0
Select_range_check 0
Select_scan 9
Slave_open_temp_tables 0
Slave_retried_transactions 0
Slave_running OFF
Slow_launch_threads 0
Slow_queries 0
Sort_merge_passes 0
Sort_range 0
Sort_rows 0
Sort_scan 0
Ssl_accept_renegotiates 0
Ssl_accepts 0
Ssl_callback_cache_hits 0
Ssl_cipher
Ssl_cipher_list
Ssl_client_connects 0
Ssl_connect_renegotiates 0
Ssl_ctx_verify_depth 0
Ssl_ctx_verify_mode 0
Ssl_default_timeout 0
Ssl_finished_accepts 0
Ssl_finished_connects 0
Ssl_session_cache_hits 0
Ssl_session_cache_misses 0
Ssl_session_cache_mode NONE
Ssl_session_cache_overflows 0
Ssl_session_cache_size 0
Ssl_session_cache_timeouts 0
Ssl_sessions_reused 0
Ssl_used_session_cache_entries 0
Ssl_verify_depth 0
Ssl_verify_mode 0
Ssl_version
Table_locks_immediate 19
Table_locks_waited 0
Tc_log_max_pages_used 0
Tc_log_page_size 0
Tc_log_page_waits 0
Threads_cached 0
Threads_connected 1
Threads_created 22
Threads_running 1
Uptime 1092
Uptime_since_flush_status 1092

View File

@@ -0,0 +1,291 @@
Aborted_clients 0 0
Aborted_connects 0 0
Binlog_cache_disk_use 0 0
Binlog_cache_use 0 0
Bytes_received 3015 4996
Bytes_sent 43255 59206
Com_admin_commands 1 1
Com_assign_to_keycache 0 0
Com_alter_db 0 0
Com_alter_db_upgrade 0 0
Com_alter_event 0 0
Com_alter_function 0 0
Com_alter_procedure 0 0
Com_alter_server 0 0
Com_alter_table 0 0
Com_alter_tablespace 0 0
Com_analyze 0 0
Com_backup_table 0 0
Com_begin 0 0
Com_binlog 0 0
Com_call_procedure 0 0
Com_change_db 0 0
Com_change_master 0 0
Com_check 0 0
Com_checksum 0 0
Com_commit 0 0
Com_create_db 0 0
Com_create_event 0 0
Com_create_function 0 0
Com_create_index 0 0
Com_create_procedure 0 0
Com_create_server 0 0
Com_create_table 0 0
Com_create_trigger 0 0
Com_create_udf 0 0
Com_create_user 0 0
Com_create_view 0 0
Com_dealloc_sql 0 0
Com_delete 0 0
Com_delete_multi 0 0
Com_do 0 0
Com_drop_db 0 0
Com_drop_event 0 0
Com_drop_function 0 0
Com_drop_index 0 0
Com_drop_procedure 0 0
Com_drop_server 0 0
Com_drop_table 0 0
Com_drop_trigger 0 0
Com_drop_user 0 0
Com_drop_view 0 0
Com_empty_query 0 0
Com_execute_sql 0 0
Com_flush 0 0
Com_grant 0 0
Com_ha_close 0 0
Com_ha_open 0 0
Com_ha_read 0 0
Com_help 0 0
Com_insert 0 0
Com_insert_select 0 0
Com_install_plugin 0 0
Com_kill 0 0
Com_load 0 0
Com_load_master_data 0 0
Com_load_master_table 0 0
Com_lock_tables 0 0
Com_optimize 0 0
Com_preload_keys 0 0
Com_prepare_sql 0 0
Com_purge 0 0
Com_purge_before_date 0 0
Com_release_savepoint 0 0
Com_rename_table 0 0
Com_rename_user 0 0
Com_repair 0 0
Com_replace 0 0
Com_replace_select 0 0
Com_reset 0 0
Com_restore_table 0 0
Com_revoke 0 0
Com_revoke_all 0 0
Com_rollback 0 0
Com_rollback_to_savepoint 0 0
Com_savepoint 0 0
Com_select 28 47
Com_set_option 0 0
Com_show_authors 0 0
Com_show_binlog_events 0 0
Com_show_binlogs 1 2
Com_show_charsets 0 0
Com_show_collations 0 0
Com_show_column_types 0 0
Com_show_contributors 0 0
Com_show_create_db 0 0
Com_show_create_event 0 0
Com_show_create_func 0 0
Com_show_create_proc 0 0
Com_show_create_table 0 0
Com_show_create_trigger 0 0
Com_show_databases 1 2
Com_show_engine_logs 0 0
Com_show_engine_mutex 0 0
Com_show_engine_status 2 3
Com_show_events 0 0
Com_show_errors 0 0
Com_show_fields 0 0
Com_show_function_status 0 0
Com_show_grants 0 0
Com_show_keys 0 0
Com_show_master_status 1 2
Com_show_new_master 0 0
Com_show_open_tables 0 0
Com_show_plugins 1 2
Com_show_privileges 0 0
Com_show_procedure_status 0 0
Com_show_processlist 1 2
Com_show_profile 0 0
Com_show_profiles 0 0
Com_show_slave_hosts 0 0
Com_show_slave_status 1 2
Com_show_status 3 4
Com_show_storage_engines 0 0
Com_show_table_status 0 0
Com_show_tables 0 0
Com_show_triggers 0 0
Com_show_variables 2 2
Com_show_warnings 0 0
Com_slave_start 0 0
Com_slave_stop 0 0
Com_stmt_close 0 0
Com_stmt_execute 0 0
Com_stmt_fetch 0 0
Com_stmt_prepare 0 0
Com_stmt_reprepare 0 0
Com_stmt_reset 0 0
Com_stmt_send_long_data 0 0
Com_truncate 0 0
Com_uninstall_plugin 0 0
Com_unlock_tables 0 0
Com_update 0 0
Com_update_multi 0 0
Com_xa_commit 0 0
Com_xa_end 0 0
Com_xa_prepare 0 0
Com_xa_recover 0 0
Com_xa_rollback 0 0
Com_xa_start 0 0
Compression OFF OFF
Connections 23 37
Created_tmp_disk_tables 10 20
Created_tmp_files 5 5
Created_tmp_tables 36 68
Delayed_errors 0 0
Delayed_insert_threads 0 0
Delayed_writes 0 0
Flush_commands 1 1
Handler_commit 0 0
Handler_delete 0 0
Handler_discover 0 0
Handler_prepare 0 0
Handler_read_first 3 3
Handler_read_key 0 0
Handler_read_next 0 0
Handler_read_prev 0 0
Handler_read_rnd 0 0
Handler_read_rnd_next 1164 1474
Handler_rollback 0 0
Handler_savepoint 0 0
Handler_savepoint_rollback 0 0
Handler_update 0 0
Handler_write 1142 1445
Innodb_buffer_pool_pages_data 178 178
Innodb_buffer_pool_pages_dirty 0 0
Innodb_buffer_pool_pages_flushed 189 189
Innodb_buffer_pool_pages_free 845 845
Innodb_buffer_pool_pages_misc 1 1
Innodb_buffer_pool_pages_total 1024 1024
Innodb_buffer_pool_read_ahead_rnd 0 0
Innodb_buffer_pool_read_ahead_seq 0 0
Innodb_buffer_pool_read_requests 1398 1398
Innodb_buffer_pool_reads 0 0
Innodb_buffer_pool_wait_free 0 0
Innodb_buffer_pool_write_requests 1174 1174
Innodb_data_fsyncs 16 16
Innodb_data_pending_fsyncs 0 0
Innodb_data_pending_reads 0 0
Innodb_data_pending_writes 0 0
Innodb_data_read 0 0
Innodb_data_reads 0 0
Innodb_data_writes 38 38
Innodb_data_written 3400192 3400192
Innodb_dblwr_pages_written 16 16
Innodb_dblwr_writes 1 1
Innodb_log_waits 0 0
Innodb_log_write_requests 77 77
Innodb_log_writes 4 4
Innodb_os_log_fsyncs 10 10
Innodb_os_log_pending_fsyncs 0 0
Innodb_os_log_pending_writes 0 0
Innodb_os_log_written 37888 37888
Innodb_page_size 16384 16384
Innodb_pages_created 178 178
Innodb_pages_read 0 0
Innodb_pages_written 189 189
Innodb_row_lock_current_waits 0 0
Innodb_row_lock_time 0 0
Innodb_row_lock_time_avg 0 0
Innodb_row_lock_time_max 0 0
Innodb_row_lock_waits 0 0
Innodb_rows_deleted 0 0
Innodb_rows_inserted 0 0
Innodb_rows_read 0 0
Innodb_rows_updated 0 0
Key_blocks_not_flushed 0 0
Key_blocks_unused 14497 14497
Key_blocks_used 0 0
Key_read_requests 0 0
Key_reads 0 0
Key_write_requests 0 0
Key_writes 0 0
Last_query_cost 0.000000 0.000000
Max_used_connections 1 1
Not_flushed_delayed_rows 0 0
Open_files 48 48
Open_streams 0 0
Open_table_definitions 23 23
Open_tables 23 23
Opened_files 138 178
Opened_table_definitions 23 23
Opened_tables 30 30
Prepared_stmt_count 0 0
Qcache_free_blocks 0 0
Qcache_free_memory 0 0
Qcache_hits 0 0
Qcache_inserts 0 0
Qcache_lowmem_prunes 0 0
Qcache_not_cached 0 0
Qcache_queries_in_cache 0 0
Qcache_total_blocks 0 0
Queries 63 105
Questions 63 105
Rpl_status NULL NULL
Select_full_join 0 0
Select_full_range_join 0 0
Select_range 0 0
Select_range_check 0 0
Select_scan 9 14
Slave_open_temp_tables 0 0
Slave_retried_transactions 0 0
Slave_running OFF OFF
Slow_launch_threads 0 0
Slow_queries 0 0
Sort_merge_passes 0 0
Sort_range 0 0
Sort_rows 0 0
Sort_scan 0 0
Ssl_accept_renegotiates 0 0
Ssl_accepts 0 0
Ssl_callback_cache_hits 0 0
Ssl_cipher
Ssl_cipher_list
Ssl_client_connects 0 0
Ssl_connect_renegotiates 0 0
Ssl_ctx_verify_depth 0 0
Ssl_ctx_verify_mode 0 0
Ssl_default_timeout 0 0
Ssl_finished_accepts 0 0
Ssl_finished_connects 0 0
Ssl_session_cache_hits 0 0
Ssl_session_cache_misses 0 0
Ssl_session_cache_mode NONE NONE
Ssl_session_cache_overflows 0 0
Ssl_session_cache_size 0 0
Ssl_session_cache_timeouts 0 0
Ssl_sessions_reused 0 0
Ssl_used_session_cache_entries 0 0
Ssl_verify_depth 0 0
Ssl_verify_mode 0 0
Ssl_version
Table_locks_immediate 19 20
Table_locks_waited 0 0
Tc_log_max_pages_used 0 0
Tc_log_page_size 0 0
Tc_log_page_waits 0 0
Threads_cached 0 0
Threads_connected 1 1
Threads_created 22 36
Threads_running 1 1
Uptime 1092 1102
Uptime_since_flush_status 1092 1102

View File

@@ -0,0 +1 @@
2 0 0 0

View File

@@ -0,0 +1,284 @@
auto_increment_increment 1
auto_increment_offset 1
autocommit ON
automatic_sp_privileges ON
back_log 50
basedir /home/vagrant/mysql-5.1.49-barebones/
big_tables OFF
binlog_cache_size 32768
binlog_direct_non_transactional_updates OFF
binlog_format STATEMENT
bulk_insert_buffer_size 8388608
character_set_client latin1
character_set_connection latin1
character_set_database latin1
character_set_filesystem binary
character_set_results latin1
character_set_server latin1
character_set_system utf8
character_sets_dir /home/vagrant/mysql-5.1.49-barebones/share/charsets/
collation_connection latin1_swedish_ci
collation_database latin1_swedish_ci
collation_server latin1_swedish_ci
completion_type 0
concurrent_insert 1
connect_timeout 10
datadir /tmp/12345/data/
date_format %Y-%m-%d
datetime_format %Y-%m-%d %H:%i:%s
default_week_format 0
delay_key_write ON
delayed_insert_limit 100
delayed_insert_timeout 300
delayed_queue_size 1000
div_precision_increment 4
engine_condition_pushdown ON
error_count 0
event_scheduler OFF
expire_logs_days 0
flush OFF
flush_time 0
foreign_key_checks ON
ft_boolean_syntax + -><()~*:""&|
ft_max_word_len 84
ft_min_word_len 4
ft_query_expansion_limit 20
ft_stopword_file (built-in)
general_log OFF
general_log_file /tmp/12345/data/mysql_sandbox12345.log
group_concat_max_len 1024
have_community_features YES
have_compress YES
have_crypt YES
have_csv YES
have_dynamic_loading YES
have_geometry YES
have_innodb YES
have_ndbcluster NO
have_openssl DISABLED
have_partitioning YES
have_query_cache YES
have_rtree_keys YES
have_ssl DISABLED
have_symlink YES
hostname vagrant-debian-squeeze
identity 0
ignore_builtin_innodb OFF
init_connect
init_file
init_slave
innodb_adaptive_hash_index ON
innodb_additional_mem_pool_size 1048576
innodb_autoextend_increment 8
innodb_autoinc_lock_mode 1
innodb_buffer_pool_size 16777216
innodb_checksums ON
innodb_commit_concurrency 0
innodb_concurrency_tickets 500
innodb_data_file_path ibdata1:10M:autoextend
innodb_data_home_dir /tmp/12345/data
innodb_doublewrite ON
innodb_fast_shutdown 1
innodb_file_io_threads 4
innodb_file_per_table OFF
innodb_flush_log_at_trx_commit 1
innodb_flush_method
innodb_force_recovery 0
innodb_lock_wait_timeout 3
innodb_locks_unsafe_for_binlog OFF
innodb_log_buffer_size 1048576
innodb_log_file_size 5242880
innodb_log_files_in_group 2
innodb_log_group_home_dir /tmp/12345/data
innodb_max_dirty_pages_pct 90
innodb_max_purge_lag 0
innodb_mirrored_log_groups 1
innodb_open_files 300
innodb_rollback_on_timeout OFF
innodb_stats_on_metadata ON
innodb_support_xa ON
innodb_sync_spin_loops 20
innodb_table_locks ON
innodb_thread_concurrency 8
innodb_thread_sleep_delay 10000
innodb_use_legacy_cardinality_algorithm ON
insert_id 0
interactive_timeout 28800
join_buffer_size 131072
keep_files_on_create OFF
key_buffer_size 16777216
key_cache_age_threshold 300
key_cache_block_size 1024
key_cache_division_limit 100
language /home/vagrant/mysql-5.1.49-barebones/share/english/
large_files_support ON
large_page_size 0
large_pages OFF
last_insert_id 0
lc_time_names en_US
license GPL
local_infile ON
locked_in_memory OFF
log OFF
log_bin ON
log_bin_trust_function_creators OFF
log_bin_trust_routine_creators OFF
log_error /tmp/12345/data/mysqld.log
log_output FILE
log_queries_not_using_indexes OFF
log_slave_updates ON
log_slow_queries OFF
log_warnings 1
long_query_time 10.000000
low_priority_updates OFF
lower_case_file_system OFF
lower_case_table_names 0
max_allowed_packet 1048576
max_binlog_cache_size 4294963200
max_binlog_size 1073741824
max_connect_errors 10
max_connections 151
max_delayed_threads 20
max_error_count 64
max_heap_table_size 16777216
max_insert_delayed_threads 20
max_join_size 18446744073709551615
max_length_for_sort_data 1024
max_prepared_stmt_count 16382
max_relay_log_size 0
max_seeks_for_key 4294967295
max_sort_length 1024
max_sp_recursion_depth 0
max_tmp_tables 32
max_user_connections 0
max_write_lock_count 4294967295
min_examined_row_limit 0
multi_range_count 256
myisam_data_pointer_size 6
myisam_max_sort_file_size 2146435072
myisam_mmap_size 4294967295
myisam_recover_options OFF
myisam_repair_threads 1
myisam_sort_buffer_size 8388608
myisam_stats_method nulls_unequal
myisam_use_mmap OFF
net_buffer_length 16384
net_read_timeout 30
net_retry_count 10
net_write_timeout 60
new OFF
old OFF
old_alter_table OFF
old_passwords OFF
open_files_limit 1024
optimizer_prune_level 1
optimizer_search_depth 62
optimizer_switch index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on
pid_file /tmp/12345/data/mysql_sandbox12345.pid
plugin_dir /home/vagrant/mysql-5.1.49-barebones/lib/plugin
port 12345
preload_buffer_size 32768
profiling OFF
profiling_history_size 15
protocol_version 10
pseudo_thread_id 0
query_alloc_block_size 8192
query_cache_limit 1048576
query_cache_min_res_unit 4096
query_cache_size 0
query_cache_type ON
query_cache_wlock_invalidate OFF
query_prealloc_size 8192
rand_seed1
rand_seed2
range_alloc_block_size 4096
read_buffer_size 131072
read_only OFF
read_rnd_buffer_size 262144
relay_log mysql-relay-bin
relay_log_index
relay_log_info_file relay-log.info
relay_log_purge ON
relay_log_space_limit 0
report_host 127.0.0.1
report_password
report_port 12345
report_user
rpl_recovery_rank 0
secure_auth OFF
secure_file_priv
server_id 12345
skip_external_locking ON
skip_name_resolve OFF
skip_networking OFF
skip_show_database OFF
slave_compressed_protocol OFF
slave_exec_mode STRICT
slave_load_tmpdir /tmp
slave_net_timeout 3600
slave_skip_errors OFF
slave_transaction_retries 10
slow_launch_time 2
slow_query_log OFF
slow_query_log_file /tmp/12345/data/mysql_sandbox12345-slow.log
socket /tmp/12345/mysql_sandbox12345.sock
sort_buffer_size 2097144
sql_auto_is_null ON
sql_big_selects ON
sql_big_tables OFF
sql_buffer_result OFF
sql_log_bin ON
sql_log_off OFF
sql_log_update ON
sql_low_priority_updates OFF
sql_max_join_size 18446744073709551615
sql_mode
sql_notes ON
sql_quote_show_create ON
sql_safe_updates OFF
sql_select_limit 18446744073709551615
sql_slave_skip_counter
sql_warnings OFF
ssl_ca
ssl_capath
ssl_cert
ssl_cipher
ssl_key
storage_engine MyISAM
sync_binlog 0
sync_frm ON
system_time_zone BST
table_definition_cache 256
table_lock_wait_timeout 50
table_open_cache 64
table_type MyISAM
thread_cache_size 0
thread_handling one-thread-per-connection
thread_stack 196608
time_format %H:%i:%s
time_zone SYSTEM
timed_mutexes OFF
timestamp 1332862426
tmp_table_size 16777216
tmpdir /tmp
transaction_alloc_block_size 8192
transaction_prealloc_size 4096
tx_isolation REPEATABLE-READ
unique_checks ON
updatable_views_with_limit YES
version 5.1.49-log
version_comment MySQL Community Server (GPL)
version_compile_machine i686
version_compile_os pc-linux-gnu
wait_timeout 28800
warning_count 0
internal::nice_of_1529 0
internal::oom_of_1529 0
pt-summary-internal-current_time 2012-03-27 16:15
pt-summary-internal-Config_File /tmp/12345/my.sandbox.cnf
pt-summary-internal-mysql_executable /home/vagrant/mysql-5.1.49-barebones/bin/mysql
pt-summary-internal-now 2012-03-27 16:33:46
pt-summary-internal-user msandbox@%
pt-summary-internal-FNV_64 Unknown
pt-summary-internal-trigger_count 0
pt-summary-internal-symbols Yes

View File

@@ -0,0 +1,2 @@
PID TTY STAT TIME COMMAND
1529 pts/0 Sl 0:00 /home/vagrant/mysql-5.1.49-barebones/bin/mysqld --defaults-file=/tmp/12345/my.sandbox.cnf --basedir=/home/vagrant/mysql-5.1.49-barebones --datadir=/tmp/12345/data --log-error=/tmp/12345/data/mysqld.log --pid-file=/tmp/12345/data/mysql_sandbox12345.pid --socket=/tmp/12345/mysql_sandbox12345.sock --port=12345

View File

@@ -0,0 +1,77 @@
*************************** 1. row ***************************
Type: InnoDB
Name:
Status:
=====================================
120327 9:16:44 INNODB MONITOR OUTPUT
=====================================
Per second averages calculated from the last 26 seconds
----------
SEMAPHORES
----------
OS WAIT ARRAY INFO: reservation count 3, signal count 3
Mutex spin waits 0, rounds 20, OS waits 0
RW-shared spins 4, OS waits 2; RW-excl spins 1, OS waits 1
------------
TRANSACTIONS
------------
Trx id counter 0 1280
Purge done for trx's n:o < 0 0 undo n:o < 0 0
History list length 0
LIST OF TRANSACTIONS FOR EACH SESSION:
---TRANSACTION 0 0, not started, process no 2837, OS thread id 3007159184
MySQL thread id 25, query id 72 localhost msandbox
SHOW /*!50000 ENGINE*/ INNODB STATUS
--------
FILE I/O
--------
I/O thread 0 state: waiting for i/o request (insert buffer thread)
I/O thread 1 state: waiting for i/o request (log thread)
I/O thread 2 state: waiting for i/o request (read thread)
I/O thread 3 state: waiting for i/o request (write thread)
Pending normal aio reads: 0, aio writes: 0,
ibuf aio reads: 0, log i/o's: 0, sync i/o's: 0
Pending flushes (fsync) log: 0; buffer pool: 0
288 OS file reads, 3 OS file writes, 3 OS fsyncs
0.00 reads/s, 0 avg bytes/read, 0.00 writes/s, 0.00 fsyncs/s
-------------------------------------
INSERT BUFFER AND ADAPTIVE HASH INDEX
-------------------------------------
Ibuf: size 1, free list len 0, seg size 2,
0 inserts, 0 merged recs, 0 merges
Hash table size 69257, node heap has 0 buffer(s)
0.00 hash searches/s, 0.00 non-hash searches/s
---
LOG
---
Log sequence number 0 7006635
Log flushed up to 0 7006635
Last checkpoint at 0 7006635
0 pending log writes, 0 pending chkp writes
8 log i/o's done, 0.00 log i/o's/second
----------------------
BUFFER POOL AND MEMORY
----------------------
Total memory allocated 26528202; in additional pool allocated 985216
Dictionary memory allocated 80072
Buffer pool size 1024
Free buffers 815
Database pages 209
Modified db pages 0
Pending reads 0
Pending writes: LRU 0, flush list 0, single page 0
Pages read 209, created 0, written 0
0.00 reads/s, 0.00 creates/s, 0.00 writes/s
No buffer pool page gets since the last printout
--------------
ROW OPERATIONS
--------------
0 queries inside InnoDB, 0 queries in queue
1 read views open inside InnoDB
Main thread process no. 2837, id 2961238928, state: waiting for server activity
Number of rows inserted 0, updated 0, deleted 0, read 0
0.00 inserts/s, 0.00 updates/s, 0.00 deletes/s, 0.00 reads/s
----------------------------
END OF INNODB MONITOR OUTPUT
============================

View File

@@ -0,0 +1,3 @@
information_schema
mysql
sakila

View File

@@ -0,0 +1,2 @@
mysql-bin.000001 3251612
mysql-bin.000002 106

View File

@@ -0,0 +1 @@
mysql-bin.000002 106

View File

@@ -0,0 +1,10 @@
binlog ACTIVE STORAGE ENGINE NULL GPL
partition ACTIVE STORAGE ENGINE NULL GPL
ARCHIVE ACTIVE STORAGE ENGINE NULL GPL
BLACKHOLE ACTIVE STORAGE ENGINE NULL GPL
CSV ACTIVE STORAGE ENGINE NULL GPL
FEDERATED DISABLED STORAGE ENGINE NULL GPL
MEMORY ACTIVE STORAGE ENGINE NULL GPL
InnoDB ACTIVE STORAGE ENGINE NULL GPL
MyISAM ACTIVE STORAGE ENGINE NULL GPL
MRG_MYISAM ACTIVE STORAGE ENGINE NULL GPL

View File

@@ -0,0 +1,9 @@
*************************** 1. row ***************************
Id: 26
User: msandbox
Host: localhost
db: NULL
Command: Query
Time: 0
State: NULL
Info: SHOW FULL PROCESSLIST

View File

@@ -0,0 +1,291 @@
Aborted_clients 0
Aborted_connects 0
Binlog_cache_disk_use 0
Binlog_cache_use 0
Bytes_received 2865
Bytes_sent 40457
Com_admin_commands 1
Com_assign_to_keycache 0
Com_alter_db 0
Com_alter_db_upgrade 0
Com_alter_event 0
Com_alter_function 0
Com_alter_procedure 0
Com_alter_server 0
Com_alter_table 0
Com_alter_tablespace 0
Com_analyze 0
Com_backup_table 0
Com_begin 0
Com_binlog 0
Com_call_procedure 0
Com_change_db 0
Com_change_master 0
Com_check 0
Com_checksum 0
Com_commit 0
Com_create_db 0
Com_create_event 0
Com_create_function 0
Com_create_index 0
Com_create_procedure 0
Com_create_server 0
Com_create_table 0
Com_create_trigger 0
Com_create_udf 0
Com_create_user 0
Com_create_view 0
Com_dealloc_sql 0
Com_delete 0
Com_delete_multi 0
Com_do 0
Com_drop_db 0
Com_drop_event 0
Com_drop_function 0
Com_drop_index 0
Com_drop_procedure 0
Com_drop_server 0
Com_drop_table 0
Com_drop_trigger 0
Com_drop_user 0
Com_drop_view 0
Com_empty_query 0
Com_execute_sql 0
Com_flush 0
Com_grant 0
Com_ha_close 0
Com_ha_open 0
Com_ha_read 0
Com_help 0
Com_insert 0
Com_insert_select 0
Com_install_plugin 0
Com_kill 0
Com_load 0
Com_load_master_data 0
Com_load_master_table 0
Com_lock_tables 0
Com_optimize 0
Com_preload_keys 0
Com_prepare_sql 0
Com_purge 0
Com_purge_before_date 0
Com_release_savepoint 0
Com_rename_table 0
Com_rename_user 0
Com_repair 0
Com_replace 0
Com_replace_select 0
Com_reset 0
Com_restore_table 0
Com_revoke 0
Com_revoke_all 0
Com_rollback 0
Com_rollback_to_savepoint 0
Com_savepoint 0
Com_select 27
Com_set_option 0
Com_show_authors 0
Com_show_binlog_events 0
Com_show_binlogs 1
Com_show_charsets 0
Com_show_collations 0
Com_show_column_types 0
Com_show_contributors 0
Com_show_create_db 0
Com_show_create_event 0
Com_show_create_func 0
Com_show_create_proc 0
Com_show_create_table 0
Com_show_create_trigger 0
Com_show_databases 1
Com_show_engine_logs 0
Com_show_engine_mutex 0
Com_show_engine_status 1
Com_show_events 0
Com_show_errors 0
Com_show_fields 0
Com_show_function_status 0
Com_show_grants 0
Com_show_keys 0
Com_show_master_status 1
Com_show_new_master 0
Com_show_open_tables 0
Com_show_plugins 1
Com_show_privileges 0
Com_show_procedure_status 0
Com_show_processlist 1
Com_show_profile 0
Com_show_profiles 0
Com_show_slave_hosts 0
Com_show_slave_status 1
Com_show_status 3
Com_show_storage_engines 0
Com_show_table_status 0
Com_show_tables 0
Com_show_triggers 0
Com_show_variables 2
Com_show_warnings 0
Com_slave_start 0
Com_slave_stop 0
Com_stmt_close 0
Com_stmt_execute 0
Com_stmt_fetch 0
Com_stmt_prepare 0
Com_stmt_reprepare 0
Com_stmt_reset 0
Com_stmt_send_long_data 0
Com_truncate 0
Com_uninstall_plugin 0
Com_unlock_tables 0
Com_update 0
Com_update_multi 0
Com_xa_commit 0
Com_xa_end 0
Com_xa_prepare 0
Com_xa_recover 0
Com_xa_rollback 0
Com_xa_start 0
Compression OFF
Connections 22
Created_tmp_disk_tables 10
Created_tmp_files 5
Created_tmp_tables 36
Delayed_errors 0
Delayed_insert_threads 0
Delayed_writes 0
Flush_commands 1
Handler_commit 0
Handler_delete 0
Handler_discover 0
Handler_prepare 0
Handler_read_first 3
Handler_read_key 13
Handler_read_next 0
Handler_read_prev 0
Handler_read_rnd 0
Handler_read_rnd_next 1171
Handler_rollback 0
Handler_savepoint 0
Handler_savepoint_rollback 0
Handler_update 0
Handler_write 1149
Innodb_buffer_pool_pages_data 209
Innodb_buffer_pool_pages_dirty 0
Innodb_buffer_pool_pages_flushed 0
Innodb_buffer_pool_pages_free 815
Innodb_buffer_pool_pages_misc 0
Innodb_buffer_pool_pages_total 1024
Innodb_buffer_pool_read_ahead_rnd 3
Innodb_buffer_pool_read_ahead_seq 0
Innodb_buffer_pool_read_requests 1803
Innodb_buffer_pool_reads 140
Innodb_buffer_pool_wait_free 0
Innodb_buffer_pool_write_requests 0
Innodb_data_fsyncs 3
Innodb_data_pending_fsyncs 0
Innodb_data_pending_reads 0
Innodb_data_pending_writes 0
Innodb_data_read 7704576
Innodb_data_reads 288
Innodb_data_writes 3
Innodb_data_written 1536
Innodb_dblwr_pages_written 0
Innodb_dblwr_writes 0
Innodb_log_waits 0
Innodb_log_write_requests 0
Innodb_log_writes 1
Innodb_os_log_fsyncs 3
Innodb_os_log_pending_fsyncs 0
Innodb_os_log_pending_writes 0
Innodb_os_log_written 512
Innodb_page_size 16384
Innodb_pages_created 0
Innodb_pages_read 209
Innodb_pages_written 0
Innodb_row_lock_current_waits 0
Innodb_row_lock_time 0
Innodb_row_lock_time_avg 0
Innodb_row_lock_time_max 0
Innodb_row_lock_waits 0
Innodb_rows_deleted 0
Innodb_rows_inserted 0
Innodb_rows_read 0
Innodb_rows_updated 0
Key_blocks_not_flushed 0
Key_blocks_unused 14497
Key_blocks_used 0
Key_read_requests 0
Key_reads 0
Key_write_requests 0
Key_writes 0
Last_query_cost 0.000000
Max_used_connections 2
Not_flushed_delayed_rows 0
Open_files 50
Open_streams 0
Open_table_definitions 46
Open_tables 39
Opened_files 170
Opened_table_definitions 39
Opened_tables 46
Prepared_stmt_count 0
Qcache_free_blocks 0
Qcache_free_memory 0
Qcache_hits 0
Qcache_inserts 0
Qcache_lowmem_prunes 0
Qcache_not_cached 0
Qcache_queries_in_cache 0
Qcache_total_blocks 0
Queries 60
Questions 60
Rpl_status NULL
Select_full_join 0
Select_full_range_join 0
Select_range 0
Select_range_check 0
Select_scan 9
Slave_open_temp_tables 0
Slave_retried_transactions 0
Slave_running OFF
Slow_launch_threads 0
Slow_queries 0
Sort_merge_passes 0
Sort_range 0
Sort_rows 0
Sort_scan 0
Ssl_accept_renegotiates 0
Ssl_accepts 0
Ssl_callback_cache_hits 0
Ssl_cipher
Ssl_cipher_list
Ssl_client_connects 0
Ssl_connect_renegotiates 0
Ssl_ctx_verify_depth 0
Ssl_ctx_verify_mode 0
Ssl_default_timeout 0
Ssl_finished_accepts 0
Ssl_finished_connects 0
Ssl_session_cache_hits 0
Ssl_session_cache_misses 0
Ssl_session_cache_mode NONE
Ssl_session_cache_overflows 0
Ssl_session_cache_size 0
Ssl_session_cache_timeouts 0
Ssl_sessions_reused 0
Ssl_used_session_cache_entries 0
Ssl_verify_depth 0
Ssl_verify_mode 0
Ssl_version
Table_locks_immediate 19
Table_locks_waited 0
Tc_log_max_pages_used 0
Tc_log_page_size 0
Tc_log_page_waits 0
Threads_cached 0
Threads_connected 1
Threads_created 21
Threads_running 1
Uptime 457
Uptime_since_flush_status 457

View File

@@ -0,0 +1,291 @@
Aborted_clients 0 0
Aborted_connects 0 0
Binlog_cache_disk_use 0 0
Binlog_cache_use 0 0
Bytes_received 2865 4845
Bytes_sent 40457 56442
Com_admin_commands 1 1
Com_assign_to_keycache 0 0
Com_alter_db 0 0
Com_alter_db_upgrade 0 0
Com_alter_event 0 0
Com_alter_function 0 0
Com_alter_procedure 0 0
Com_alter_server 0 0
Com_alter_table 0 0
Com_alter_tablespace 0 0
Com_analyze 0 0
Com_backup_table 0 0
Com_begin 0 0
Com_binlog 0 0
Com_call_procedure 0 0
Com_change_db 0 0
Com_change_master 0 0
Com_check 0 0
Com_checksum 0 0
Com_commit 0 0
Com_create_db 0 0
Com_create_event 0 0
Com_create_function 0 0
Com_create_index 0 0
Com_create_procedure 0 0
Com_create_server 0 0
Com_create_table 0 0
Com_create_trigger 0 0
Com_create_udf 0 0
Com_create_user 0 0
Com_create_view 0 0
Com_dealloc_sql 0 0
Com_delete 0 0
Com_delete_multi 0 0
Com_do 0 0
Com_drop_db 0 0
Com_drop_event 0 0
Com_drop_function 0 0
Com_drop_index 0 0
Com_drop_procedure 0 0
Com_drop_server 0 0
Com_drop_table 0 0
Com_drop_trigger 0 0
Com_drop_user 0 0
Com_drop_view 0 0
Com_empty_query 0 0
Com_execute_sql 0 0
Com_flush 0 0
Com_grant 0 0
Com_ha_close 0 0
Com_ha_open 0 0
Com_ha_read 0 0
Com_help 0 0
Com_insert 0 0
Com_insert_select 0 0
Com_install_plugin 0 0
Com_kill 0 0
Com_load 0 0
Com_load_master_data 0 0
Com_load_master_table 0 0
Com_lock_tables 0 0
Com_optimize 0 0
Com_preload_keys 0 0
Com_prepare_sql 0 0
Com_purge 0 0
Com_purge_before_date 0 0
Com_release_savepoint 0 0
Com_rename_table 0 0
Com_rename_user 0 0
Com_repair 0 0
Com_replace 0 0
Com_replace_select 0 0
Com_reset 0 0
Com_restore_table 0 0
Com_revoke 0 0
Com_revoke_all 0 0
Com_rollback 0 0
Com_rollback_to_savepoint 0 0
Com_savepoint 0 0
Com_select 27 46
Com_set_option 0 0
Com_show_authors 0 0
Com_show_binlog_events 0 0
Com_show_binlogs 1 2
Com_show_charsets 0 0
Com_show_collations 0 0
Com_show_column_types 0 0
Com_show_contributors 0 0
Com_show_create_db 0 0
Com_show_create_event 0 0
Com_show_create_func 0 0
Com_show_create_proc 0 0
Com_show_create_table 0 0
Com_show_create_trigger 0 0
Com_show_databases 1 2
Com_show_engine_logs 0 0
Com_show_engine_mutex 0 0
Com_show_engine_status 1 2
Com_show_events 0 0
Com_show_errors 0 0
Com_show_fields 0 0
Com_show_function_status 0 0
Com_show_grants 0 0
Com_show_keys 0 0
Com_show_master_status 1 2
Com_show_new_master 0 0
Com_show_open_tables 0 0
Com_show_plugins 1 2
Com_show_privileges 0 0
Com_show_procedure_status 0 0
Com_show_processlist 1 2
Com_show_profile 0 0
Com_show_profiles 0 0
Com_show_slave_hosts 0 0
Com_show_slave_status 1 2
Com_show_status 3 4
Com_show_storage_engines 0 0
Com_show_table_status 0 0
Com_show_tables 0 0
Com_show_triggers 0 0
Com_show_variables 2 2
Com_show_warnings 0 0
Com_slave_start 0 0
Com_slave_stop 0 0
Com_stmt_close 0 0
Com_stmt_execute 0 0
Com_stmt_fetch 0 0
Com_stmt_prepare 0 0
Com_stmt_reprepare 0 0
Com_stmt_reset 0 0
Com_stmt_send_long_data 0 0
Com_truncate 0 0
Com_uninstall_plugin 0 0
Com_unlock_tables 0 0
Com_update 0 0
Com_update_multi 0 0
Com_xa_commit 0 0
Com_xa_end 0 0
Com_xa_prepare 0 0
Com_xa_recover 0 0
Com_xa_rollback 0 0
Com_xa_start 0 0
Compression OFF OFF
Connections 22 36
Created_tmp_disk_tables 10 20
Created_tmp_files 5 5
Created_tmp_tables 36 68
Delayed_errors 0 0
Delayed_insert_threads 0 0
Delayed_writes 0 0
Flush_commands 1 1
Handler_commit 0 0
Handler_delete 0 0
Handler_discover 0 0
Handler_prepare 0 0
Handler_read_first 3 3
Handler_read_key 13 13
Handler_read_next 0 0
Handler_read_prev 0 0
Handler_read_rnd 0 0
Handler_read_rnd_next 1171 1488
Handler_rollback 0 0
Handler_savepoint 0 0
Handler_savepoint_rollback 0 0
Handler_update 0 0
Handler_write 1149 1459
Innodb_buffer_pool_pages_data 209 209
Innodb_buffer_pool_pages_dirty 0 0
Innodb_buffer_pool_pages_flushed 0 0
Innodb_buffer_pool_pages_free 815 815
Innodb_buffer_pool_pages_misc 0 0
Innodb_buffer_pool_pages_total 1024 1024
Innodb_buffer_pool_read_ahead_rnd 3 3
Innodb_buffer_pool_read_ahead_seq 0 0
Innodb_buffer_pool_read_requests 1803 1803
Innodb_buffer_pool_reads 140 140
Innodb_buffer_pool_wait_free 0 0
Innodb_buffer_pool_write_requests 0 0
Innodb_data_fsyncs 3 3
Innodb_data_pending_fsyncs 0 0
Innodb_data_pending_reads 0 0
Innodb_data_pending_writes 0 0
Innodb_data_read 7704576 7704576
Innodb_data_reads 288 288
Innodb_data_writes 3 3
Innodb_data_written 1536 1536
Innodb_dblwr_pages_written 0 0
Innodb_dblwr_writes 0 0
Innodb_log_waits 0 0
Innodb_log_write_requests 0 0
Innodb_log_writes 1 1
Innodb_os_log_fsyncs 3 3
Innodb_os_log_pending_fsyncs 0 0
Innodb_os_log_pending_writes 0 0
Innodb_os_log_written 512 512
Innodb_page_size 16384 16384
Innodb_pages_created 0 0
Innodb_pages_read 209 209
Innodb_pages_written 0 0
Innodb_row_lock_current_waits 0 0
Innodb_row_lock_time 0 0
Innodb_row_lock_time_avg 0 0
Innodb_row_lock_time_max 0 0
Innodb_row_lock_waits 0 0
Innodb_rows_deleted 0 0
Innodb_rows_inserted 0 0
Innodb_rows_read 0 0
Innodb_rows_updated 0 0
Key_blocks_not_flushed 0 0
Key_blocks_unused 14497 14497
Key_blocks_used 0 0
Key_read_requests 0 0
Key_reads 0 0
Key_write_requests 0 0
Key_writes 0 0
Last_query_cost 0.000000 0.000000
Max_used_connections 2 2
Not_flushed_delayed_rows 0 0
Open_files 50 50
Open_streams 0 0
Open_table_definitions 46 46
Open_tables 39 39
Opened_files 170 211
Opened_table_definitions 39 39
Opened_tables 46 46
Prepared_stmt_count 0 0
Qcache_free_blocks 0 0
Qcache_free_memory 0 0
Qcache_hits 0 0
Qcache_inserts 0 0
Qcache_lowmem_prunes 0 0
Qcache_not_cached 0 0
Qcache_queries_in_cache 0 0
Qcache_total_blocks 0 0
Queries 60 102
Questions 60 102
Rpl_status NULL NULL
Select_full_join 0 0
Select_full_range_join 0 0
Select_range 0 0
Select_range_check 0 0
Select_scan 9 14
Slave_open_temp_tables 0 0
Slave_retried_transactions 0 0
Slave_running OFF OFF
Slow_launch_threads 0 0
Slow_queries 0 0
Sort_merge_passes 0 0
Sort_range 0 0
Sort_rows 0 0
Sort_scan 0 0
Ssl_accept_renegotiates 0 0
Ssl_accepts 0 0
Ssl_callback_cache_hits 0 0
Ssl_cipher
Ssl_cipher_list
Ssl_client_connects 0 0
Ssl_connect_renegotiates 0 0
Ssl_ctx_verify_depth 0 0
Ssl_ctx_verify_mode 0 0
Ssl_default_timeout 0 0
Ssl_finished_accepts 0 0
Ssl_finished_connects 0 0
Ssl_session_cache_hits 0 0
Ssl_session_cache_misses 0 0
Ssl_session_cache_mode NONE NONE
Ssl_session_cache_overflows 0 0
Ssl_session_cache_size 0 0
Ssl_session_cache_timeouts 0 0
Ssl_sessions_reused 0 0
Ssl_used_session_cache_entries 0 0
Ssl_verify_depth 0 0
Ssl_verify_mode 0 0
Ssl_version
Table_locks_immediate 19 20
Table_locks_waited 0 0
Tc_log_max_pages_used 0 0
Tc_log_page_size 0 0
Tc_log_page_waits 0 0
Threads_cached 0 0
Threads_connected 1 1
Threads_created 21 35
Threads_running 1 1
Uptime 457 467
Uptime_since_flush_status 457 467

View File

@@ -0,0 +1 @@
2 0 0 0

View File

@@ -0,0 +1,284 @@
auto_increment_increment 1
auto_increment_offset 1
autocommit ON
automatic_sp_privileges ON
back_log 50
basedir /home/vagrant/mysql-5.1.49-barebones/
big_tables OFF
binlog_cache_size 32768
binlog_direct_non_transactional_updates OFF
binlog_format STATEMENT
bulk_insert_buffer_size 8388608
character_set_client latin1
character_set_connection latin1
character_set_database latin1
character_set_filesystem binary
character_set_results latin1
character_set_server latin1
character_set_system utf8
character_sets_dir /home/vagrant/mysql-5.1.49-barebones/share/charsets/
collation_connection latin1_swedish_ci
collation_database latin1_swedish_ci
collation_server latin1_swedish_ci
completion_type 0
concurrent_insert 1
connect_timeout 10
datadir /tmp/12345/data/
date_format %Y-%m-%d
datetime_format %Y-%m-%d %H:%i:%s
default_week_format 0
delay_key_write ON
delayed_insert_limit 100
delayed_insert_timeout 300
delayed_queue_size 1000
div_precision_increment 4
engine_condition_pushdown ON
error_count 0
event_scheduler OFF
expire_logs_days 0
flush OFF
flush_time 0
foreign_key_checks ON
ft_boolean_syntax + -><()~*:""&|
ft_max_word_len 84
ft_min_word_len 4
ft_query_expansion_limit 20
ft_stopword_file (built-in)
general_log OFF
general_log_file /tmp/12345/data/mysql_sandbox12345.log
group_concat_max_len 1024
have_community_features YES
have_compress YES
have_crypt YES
have_csv YES
have_dynamic_loading YES
have_geometry YES
have_innodb YES
have_ndbcluster NO
have_openssl DISABLED
have_partitioning YES
have_query_cache YES
have_rtree_keys YES
have_ssl DISABLED
have_symlink YES
hostname localhost.localdomain
identity 0
ignore_builtin_innodb OFF
init_connect
init_file
init_slave
innodb_adaptive_hash_index ON
innodb_additional_mem_pool_size 1048576
innodb_autoextend_increment 8
innodb_autoinc_lock_mode 1
innodb_buffer_pool_size 16777216
innodb_checksums ON
innodb_commit_concurrency 0
innodb_concurrency_tickets 500
innodb_data_file_path ibdata1:10M:autoextend
innodb_data_home_dir /tmp/12345/data
innodb_doublewrite ON
innodb_fast_shutdown 1
innodb_file_io_threads 4
innodb_file_per_table OFF
innodb_flush_log_at_trx_commit 1
innodb_flush_method
innodb_force_recovery 0
innodb_lock_wait_timeout 3
innodb_locks_unsafe_for_binlog OFF
innodb_log_buffer_size 1048576
innodb_log_file_size 5242880
innodb_log_files_in_group 2
innodb_log_group_home_dir /tmp/12345/data
innodb_max_dirty_pages_pct 90
innodb_max_purge_lag 0
innodb_mirrored_log_groups 1
innodb_open_files 300
innodb_rollback_on_timeout OFF
innodb_stats_on_metadata ON
innodb_support_xa ON
innodb_sync_spin_loops 20
innodb_table_locks ON
innodb_thread_concurrency 8
innodb_thread_sleep_delay 10000
innodb_use_legacy_cardinality_algorithm ON
insert_id 0
interactive_timeout 28800
join_buffer_size 131072
keep_files_on_create OFF
key_buffer_size 16777216
key_cache_age_threshold 300
key_cache_block_size 1024
key_cache_division_limit 100
language /home/vagrant/mysql-5.1.49-barebones/share/english/
large_files_support ON
large_page_size 0
large_pages OFF
last_insert_id 0
lc_time_names en_US
license GPL
local_infile ON
locked_in_memory OFF
log OFF
log_bin ON
log_bin_trust_function_creators OFF
log_bin_trust_routine_creators OFF
log_error /tmp/12345/data/mysqld.log
log_output FILE
log_queries_not_using_indexes OFF
log_slave_updates ON
log_slow_queries OFF
log_warnings 1
long_query_time 10.000000
low_priority_updates OFF
lower_case_file_system OFF
lower_case_table_names 0
max_allowed_packet 1048576
max_binlog_cache_size 4294963200
max_binlog_size 1073741824
max_connect_errors 10
max_connections 151
max_delayed_threads 20
max_error_count 64
max_heap_table_size 16777216
max_insert_delayed_threads 20
max_join_size 18446744073709551615
max_length_for_sort_data 1024
max_prepared_stmt_count 16382
max_relay_log_size 0
max_seeks_for_key 4294967295
max_sort_length 1024
max_sp_recursion_depth 0
max_tmp_tables 32
max_user_connections 0
max_write_lock_count 4294967295
min_examined_row_limit 0
multi_range_count 256
myisam_data_pointer_size 6
myisam_max_sort_file_size 2146435072
myisam_mmap_size 4294967295
myisam_recover_options OFF
myisam_repair_threads 1
myisam_sort_buffer_size 8388608
myisam_stats_method nulls_unequal
myisam_use_mmap OFF
net_buffer_length 16384
net_read_timeout 30
net_retry_count 10
net_write_timeout 60
new OFF
old OFF
old_alter_table OFF
old_passwords OFF
open_files_limit 1024
optimizer_prune_level 1
optimizer_search_depth 62
optimizer_switch index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on
pid_file /tmp/12345/data/mysql_sandbox12345.pid
plugin_dir /home/vagrant/mysql-5.1.49-barebones/lib/plugin
port 12345
preload_buffer_size 32768
profiling OFF
profiling_history_size 15
protocol_version 10
pseudo_thread_id 0
query_alloc_block_size 8192
query_cache_limit 1048576
query_cache_min_res_unit 4096
query_cache_size 0
query_cache_type ON
query_cache_wlock_invalidate OFF
query_prealloc_size 8192
rand_seed1
rand_seed2
range_alloc_block_size 4096
read_buffer_size 131072
read_only OFF
read_rnd_buffer_size 262144
relay_log mysql-relay-bin
relay_log_index
relay_log_info_file relay-log.info
relay_log_purge ON
relay_log_space_limit 0
report_host 127.0.0.1
report_password
report_port 12345
report_user
rpl_recovery_rank 0
secure_auth OFF
secure_file_priv
server_id 12345
skip_external_locking ON
skip_name_resolve OFF
skip_networking OFF
skip_show_database OFF
slave_compressed_protocol OFF
slave_exec_mode STRICT
slave_load_tmpdir /tmp
slave_net_timeout 3600
slave_skip_errors OFF
slave_transaction_retries 10
slow_launch_time 2
slow_query_log OFF
slow_query_log_file /tmp/12345/data/mysql_sandbox12345-slow.log
socket /tmp/12345/mysql_sandbox12345.sock
sort_buffer_size 2097144
sql_auto_is_null ON
sql_big_selects ON
sql_big_tables OFF
sql_buffer_result OFF
sql_log_bin ON
sql_log_off OFF
sql_log_update ON
sql_low_priority_updates OFF
sql_max_join_size 18446744073709551615
sql_mode
sql_notes ON
sql_quote_show_create ON
sql_safe_updates OFF
sql_select_limit 18446744073709551615
sql_slave_skip_counter
sql_warnings OFF
ssl_ca
ssl_capath
ssl_cert
ssl_cipher
ssl_key
storage_engine MyISAM
sync_binlog 0
sync_frm ON
system_time_zone CEST
table_definition_cache 256
table_lock_wait_timeout 50
table_open_cache 64
table_type MyISAM
thread_cache_size 0
thread_handling one-thread-per-connection
thread_stack 196608
time_format %H:%i:%s
time_zone SYSTEM
timed_mutexes OFF
timestamp 1332832604
tmp_table_size 16777216
tmpdir /tmp
transaction_alloc_block_size 8192
transaction_prealloc_size 4096
tx_isolation REPEATABLE-READ
unique_checks ON
updatable_views_with_limit YES
version 5.1.49-log
version_comment MySQL Community Server (GPL)
version_compile_machine i686
version_compile_os pc-linux-gnu
wait_timeout 28800
warning_count 0
internal::nice_of_2837 0
internal::oom_of_2837 0
pt-summary-internal-current_time 2012-03-27 09:09
pt-summary-internal-Config_File /tmp/12345/my.sandbox.cnf
pt-summary-internal-mysql_executable /usr/bin/mysql
pt-summary-internal-now 2012-03-27 09:16:44
pt-summary-internal-user msandbox@%
pt-summary-internal-FNV_64 Unknown
pt-summary-internal-trigger_count 6
pt-summary-internal-symbols No

View File

@@ -0,0 +1,2 @@
PID TTY STAT TIME COMMAND
2837 pts/0 Sl 0:00 /home/vagrant/mysql-5.1.49-barebones/bin/mysqld --defaults-file=/tmp/12345/my.sandbox.cnf --basedir=/home/vagrant/mysql-5.1.49-barebones --datadir=/tmp/12345/data --log-error=/tmp/12345/data/mysqld.log --pid-file=/tmp/12345/data/mysql_sandbox12345.pid --socket=/tmp/12345/mysql_sandbox12345.sock --port=12345

View File

@@ -0,0 +1,10 @@
binlog ACTIVE STORAGE ENGINE NULL GPL
partition ACTIVE STORAGE ENGINE NULL GPL
ARCHIVE ACTIVE STORAGE ENGINE NULL GPL
BLACKHOLE ACTIVE STORAGE ENGINE NULL GPL
CSV ACTIVE STORAGE ENGINE NULL GPL
FEDERATED DISABLED STORAGE ENGINE NULL GPL
MEMORY ACTIVE STORAGE ENGINE NULL GPL
InnoDB ACTIVE STORAGE ENGINE NULL GPL
MyISAM ACTIVE STORAGE ENGINE NULL GPL
MRG_MYISAM ACTIVE STORAGE ENGINE NULL GPL