Skip to content

# Tag: scripts

## mk-schema-change? Check out ideas from oak-online-alter-table

MySQL openark kit Schema scripts March 10, 2010

In response to Mark Callaghan’s post mk-schema-change.

I apologize for not commenting on the post itself, I do not hold a Facebook account. Anyway this is a long write, so it may as well deserve a post of its own.

Some of the work Mark is describing already exists under openark kit‘s oak-online-alter-table. Allow me to explain what I have gained there, and how the issue can be further pursued. There is relevance to Mark’s suggestion.

oak-online-alter-table uses a combination of locks, chunks and triggers to achieve an almost non-blocking ALTER TABLE effect. I had a very short opportunity to speak with Mark on last year’s conference, in between bites. Mark stated that anything involving triggers was irrelevant in his case.

The triggers are a pain, but I believe a few other insights from oak-online-alter-table can be of interest. Continue reading » “mk-schema-change? Check out ideas from oak-online-alter-table”

## mycheckpoint rev. 76: OS monitoring, auto deploy, brief HTML and 24/7 reports

MySQL Graphs Linux Monitoring mycheckpoint python scripts January 5, 2010January 5, 2010

Revision 76 of mycheckpoint comes with quite a few improvements, including:

- OS monitoring (CPU, load average, memory)
- Auto-deploy
- Improved charting
- Brief HTML reports
- 24/7 charts

#### OS Monitoring

When monitoring the local machine, mycheckpoint now monitors CPU utilization, load average, memory and swap space.

This only applies to the Linux operating system; there is currently no plan to work this out for other operating systems.

Examples:

>     mysql> SELECT os_cpu_utilization_percent FROM sv_report_chart_sample;

>     mysql> SELECT ts, os_loadavg FROM mycheckpoint.sv_report_sample;
>     +---------------------+------------+
>     | 2009-12-27 11:45:01 |       1.78 |
>     | 2009-12-27 11:50:01 |       2.48 |
>     | 2009-12-27 11:55:01 |       2.35 |
>     ...
>     +---------------------+------------+

>     mysql> SELECT report FROM mycheckpoint.sv_report_human_sample ORDER BY id DESC LIMIT 1 \G
>     *************************** 1. row ***************************
>     report:
>     Report period: 2009-12-27 13:20:01 to 2009-12-27 13:25:01. Period is 5 minutes (0.08 hours)
>     Uptime: 100.0% (Up: 334 days, 06:37:28 hours)

>     OS:
>      Load average: 1.67
>      CPU utilization: 25.2%
>      Memory: 7486.4MB used out of 7985.6484MB (Active: 6685.8906MB)
>      Swap: 3835.2MB used out of 8189.3750MB
>     ...

#### Auto-deploy

mycheckpoint now has a version recognition mechanism. There is no need to call mycheckpoint with the “deploy” argument on first install or after upgrade. mycheckpoint will recognize a change of version and will auto-deploy before moving on to monitoring your system.

Continue reading » “mycheckpoint rev. 76: OS monitoring, auto deploy, brief HTML and 24/7 reports”

## On restoring a single table from mysqldump

MySQL Backup Books mysqldump Performance scripts December 1, 2009December 16, 2009

Following Restore one table from an ALL database dump and Restore a Single Table From mysqldump, I would like to add my own thoughts and comments on the subject.

I also wish to note performance issues with the two suggested solutions, and offer improvements.

#### Problem relevance

While the problem is interesting, I just want to note that it is relevant in very specific database dimensions. Too small – and it doesn’t matter how you solve it (e.g. just open vi/emacs and copy+paste). Too big – and it would not be worthwhile to restore from mysqldump anyway. I would suggest that the problem is interesting in the whereabouts of a few dozen GB worth of data.

#### Problem recap

Given a dump file (generated by mysqldump), how do you restore a single table, without making any changes to other tables?

Let’s review the two referenced solutions. I’ll be using the employees db on mysql-sandbox for testing. I’ll choose a very small table to restore: departments (only a few rows in this table).

#### Security based solution

Chris offers to create a special purpose account, which will only have write (CREATE, INSERT, etc.) privileges on the particular table to restore. Cool hack! But, I’m afraid, not too efficient, for two reasons: Continue reading » “On restoring a single table from mysqldump”