Category Archives: Tools

Generating a MySQL Password

Sheeri’s feed from the Mozilla.com IT blog
Sheeri’s feed from the Mozilla.com IT blog

I’m not a wizard with infographics, web there are almost 400 databases at Mozilla, patient in 11 different categories. Here is how each category fares in number of databases:

Mozilla DBs in 2012

Here is how each category measures up with regards to database size – clearly, our crash-stats database (which is on Postgres, not MySQL) is the largest:

2012 size of all Mozilla databases

So here is another pie chart with the relative sizes of the MySQL databases:
2012 size of MySQL databases at Mozilla

I’m sure I’ve miscategorized some things (for instance, are metrics on AMO classified under AMO/Marketplace or “internal tools”?) but here are the categories I used:

Categories:
air.m.o – air.mozilla.org
AMO/Marketplace – addons/marketplace
blog/web page – it’s a db behind a blog or mostly static webpage
bugzilla – Bugzilla
Crash-stats – Socorro, crash-stats.mozilla.com – Where apps like Firefox send crash details.
Internal tool – If the db behind this is down, moco/mofo people may not be able to do their work. This covers applications from graphs.mozilla.org to inventory.mozilla.org to the PTO app.
release tool – If this db is down, releases can not happen (but this db is not a tree-closing db).
SUMO – support.mozilla.org
Tree-closing – if this db is down, the tree closes (and releases can’t happen)
World-facing – if this db is down, non moco/mofo ppl will notice. These are specifically tools that folks interact with, including the Mozilla Developer Network and sites like gameon.mozilla.org
World-interfacing – This db is critical to tools we use to interface with the world, though not necessarily world visible. basket.mozilla.org, Mozillians, etc.

The count of databases includes all production/dev/stage servers. The size is the size of the database on one of the production/dev/stage machines. For example, Bugzilla has 6 servers in use – 4 in production and 2 in stage. The size is the size of the master in production and the master in stage, combined. This way we have not grossly inflated the size of the database, even though technically speaking we do have to manage the data on each of the servers.

For next year, I hope to be able to gather this kind of information automatically, and have easily accessible comprehensive numbers for bandwidth, number of queries per day on each server, and more.

Sheeri’s feed from the Mozilla.com IT blog

I’m not a wizard with infographics, web there are almost 400 databases at Mozilla, patient in 11 different categories. Here is how each category fares in number of databases:

Mozilla DBs in 2012

Here is how each category measures up with regards to database size – clearly, our crash-stats database (which is on Postgres, not MySQL) is the largest:

2012 size of all Mozilla databases

So here is another pie chart with the relative sizes of the MySQL databases:
2012 size of MySQL databases at Mozilla

I’m sure I’ve miscategorized some things (for instance, are metrics on AMO classified under AMO/Marketplace or “internal tools”?) but here are the categories I used:

Categories:
air.m.o – air.mozilla.org
AMO/Marketplace – addons/marketplace
blog/web page – it’s a db behind a blog or mostly static webpage
bugzilla – Bugzilla
Crash-stats – Socorro, crash-stats.mozilla.com – Where apps like Firefox send crash details.
Internal tool – If the db behind this is down, moco/mofo people may not be able to do their work. This covers applications from graphs.mozilla.org to inventory.mozilla.org to the PTO app.
release tool – If this db is down, releases can not happen (but this db is not a tree-closing db).
SUMO – support.mozilla.org
Tree-closing – if this db is down, the tree closes (and releases can’t happen)
World-facing – if this db is down, non moco/mofo ppl will notice. These are specifically tools that folks interact with, including the Mozilla Developer Network and sites like gameon.mozilla.org
World-interfacing – This db is critical to tools we use to interface with the world, though not necessarily world visible. basket.mozilla.org, Mozillians, etc.

The count of databases includes all production/dev/stage servers. The size is the size of the database on one of the production/dev/stage machines. For example, Bugzilla has 6 servers in use – 4 in production and 2 in stage. The size is the size of the master in production and the master in stage, combined. This way we have not grossly inflated the size of the database, even though technically speaking we do have to manage the data on each of the servers.

For next year, I hope to be able to gather this kind of information automatically, and have easily accessible comprehensive numbers for bandwidth, number of queries per day on each server, and more.

I’m not a wizard with infographics, drugs there are almost 400 databases at Mozilla, geriatrician in 11 different categories. Here is how each category fares in number of databases:

Mozilla DBs in 2012

Here is how each category measures up with regards to database size – clearly, our crash-stats database (which is on Postgres, not MySQL) is the largest:

2012 size of all Mozilla databases

So here is another pie chart with the relative sizes of the MySQL databases:
2012 size of MySQL databases at Mozilla

I’m sure I’ve miscategorized some things (for instance, are metrics on AMO classified under AMO/Marketplace or “internal tools”?) but here are the categories I used:

Categories:
air.m.o – air.mozilla.org
AMO/Marketplace – addons/marketplace
blog/web page – it’s a db behind a blog or mostly static webpage
bugzilla – Bugzilla
Crash-stats – Socorro, crash-stats.mozilla.com – Where apps like Firefox send crash details.
Internal tool – If the db behind this is down, moco/mofo people may not be able to do their work. This covers applications from graphs.mozilla.org to inventory.mozilla.org to the PTO app.
release tool – If this db is down, releases can not happen (but this db is not a tree-closing db).
SUMO – support.mozilla.org
Tree-closing – if this db is down, the tree closes (and releases can’t happen)
World-facing – if this db is down, non moco/mofo ppl will notice. These are specifically tools that folks interact with, including the Mozilla Developer Network and sites like gameon.mozilla.org
World-interfacing – This db is critical to tools we use to interface with the world, though not necessarily world visible. basket.mozilla.org, Mozillians, etc.

The count of databases includes all production/dev/stage servers. The size is the size of the database on one of the production/dev/stage machines. For example, Bugzilla has 6 servers in use – 4 in production and 2 in stage. The size is the size of the master in production and the master in stage, combined. This way we have not grossly inflated the size of the database, even though technically speaking we do have to manage the data on each of the servers.

For next year, I hope to be able to gather this kind of information automatically, and have easily accessible comprehensive numbers for bandwidth, number of queries per day on each server, and more.

Sheeri’s feed from the Mozilla.com IT blog

I’m not a wizard with infographics, web there are almost 400 databases at Mozilla, patient in 11 different categories. Here is how each category fares in number of databases:

Mozilla DBs in 2012

Here is how each category measures up with regards to database size – clearly, our crash-stats database (which is on Postgres, not MySQL) is the largest:

2012 size of all Mozilla databases

So here is another pie chart with the relative sizes of the MySQL databases:
2012 size of MySQL databases at Mozilla

I’m sure I’ve miscategorized some things (for instance, are metrics on AMO classified under AMO/Marketplace or “internal tools”?) but here are the categories I used:

Categories:
air.m.o – air.mozilla.org
AMO/Marketplace – addons/marketplace
blog/web page – it’s a db behind a blog or mostly static webpage
bugzilla – Bugzilla
Crash-stats – Socorro, crash-stats.mozilla.com – Where apps like Firefox send crash details.
Internal tool – If the db behind this is down, moco/mofo people may not be able to do their work. This covers applications from graphs.mozilla.org to inventory.mozilla.org to the PTO app.
release tool – If this db is down, releases can not happen (but this db is not a tree-closing db).
SUMO – support.mozilla.org
Tree-closing – if this db is down, the tree closes (and releases can’t happen)
World-facing – if this db is down, non moco/mofo ppl will notice. These are specifically tools that folks interact with, including the Mozilla Developer Network and sites like gameon.mozilla.org
World-interfacing – This db is critical to tools we use to interface with the world, though not necessarily world visible. basket.mozilla.org, Mozillians, etc.

The count of databases includes all production/dev/stage servers. The size is the size of the database on one of the production/dev/stage machines. For example, Bugzilla has 6 servers in use – 4 in production and 2 in stage. The size is the size of the master in production and the master in stage, combined. This way we have not grossly inflated the size of the database, even though technically speaking we do have to manage the data on each of the servers.

For next year, I hope to be able to gather this kind of information automatically, and have easily accessible comprehensive numbers for bandwidth, number of queries per day on each server, and more.

I’m not a wizard with infographics, drugs there are almost 400 databases at Mozilla, geriatrician in 11 different categories. Here is how each category fares in number of databases:

Mozilla DBs in 2012

Here is how each category measures up with regards to database size – clearly, our crash-stats database (which is on Postgres, not MySQL) is the largest:

2012 size of all Mozilla databases

So here is another pie chart with the relative sizes of the MySQL databases:
2012 size of MySQL databases at Mozilla

I’m sure I’ve miscategorized some things (for instance, are metrics on AMO classified under AMO/Marketplace or “internal tools”?) but here are the categories I used:

Categories:
air.m.o – air.mozilla.org
AMO/Marketplace – addons/marketplace
blog/web page – it’s a db behind a blog or mostly static webpage
bugzilla – Bugzilla
Crash-stats – Socorro, crash-stats.mozilla.com – Where apps like Firefox send crash details.
Internal tool – If the db behind this is down, moco/mofo people may not be able to do their work. This covers applications from graphs.mozilla.org to inventory.mozilla.org to the PTO app.
release tool – If this db is down, releases can not happen (but this db is not a tree-closing db).
SUMO – support.mozilla.org
Tree-closing – if this db is down, the tree closes (and releases can’t happen)
World-facing – if this db is down, non moco/mofo ppl will notice. These are specifically tools that folks interact with, including the Mozilla Developer Network and sites like gameon.mozilla.org
World-interfacing – This db is critical to tools we use to interface with the world, though not necessarily world visible. basket.mozilla.org, Mozillians, etc.

The count of databases includes all production/dev/stage servers. The size is the size of the database on one of the production/dev/stage machines. For example, Bugzilla has 6 servers in use – 4 in production and 2 in stage. The size is the size of the master in production and the master in stage, combined. This way we have not grossly inflated the size of the database, even though technically speaking we do have to manage the data on each of the servers.

For next year, I hope to be able to gather this kind of information automatically, and have easily accessible comprehensive numbers for bandwidth, number of queries per day on each server, and more.

You may have noticed that I stopped posting the “weekly news” from the Mozilla DB Team. After going through the Operations Report Card and applying it to DBAs in OurSQL Podcast numbers 111, website 112, 114, 115 and 116, I started thinking that the updates were really more like metrics, and it would better serve my own purposes better to do the updates monthly.

The purposes of doing this type of blog post are:
0) Answering “So what does a DBA do, anyway?”
1) Answering “DBA? At Mozilla? Does Firefox have a database? Why does Mozilla have databases, and what for?”
2) Showing what the DB team does for Mozilla, so that folks will understand that “just keeping things working” is actually a lot of work. It also helps compile yearly reviews of accomplishments.

We are also starting to get some metrics information. This month we started easy – number of MySQL and Postgres machines, number of unique databases (mysql, information_schema, performance_schema and test are ignored, and duplicates, like the same database on a master and 2 slaves, are ignored), and version information.

As of today, we have 9 unique databases across 8 Postgres servers in 4 clusters, with 6 being Postgres 9.0 and 2 being Postgres 9.2 – we are currently upgrading all our Postgres databases to 9.2 and expect that by the end of December all servers will be using 9.2.

We have 427 unique databases across 98 MySQL DB machines in 20 clusters, with 3 being MySQL 5.0, 71 being MySQL 5.1 (mostly Percona’s patched 5.1), and 24 being MariaDB 5.5.

And in the last week of October and the month of November, we have:

  • Documented 4 more of our Nagios checks.
  • Started to upgrade Postgres databases to Postgres 9.2
  • Decommissioned a legacy database cluster for Firefox themes.
  • Built a new database cluster (complete with monitoring and backups) for a new Sentry implementation.
  • Upgraded 14 machines for general operating system updating purposes and to ensure that be2net drivers are up-to-date; out-of-date drivers can (and have!) caused servers to crash.
  • Upgraded MySQL 5.0 to MySQL 5.1 across 3 clusters and 7 machines.
  • Did a quarterly purge of Crash Stats data.
  • Had to re-sync 6 slaves when a transaction rolled back on the master, but some of the tables modified were MyISAM. So the master had data in some tables that was out of sync with the slaves.
  • Assisted in converting to use UTC timestamps in the Elmo database behind the Mozilla localization portal and the Bugzilla Anthropology Project, prompting a blog post on converting timezone-specific times in MySQL.
  • Decommissioned a legacy “production generic” database cluster that had over 60 databases on it.
  • Built a 5th database backup instance due to growing backup needs.
  • Changed binary log format to MIXED on our JIRA installation due to JIRA requirements and an upgrade to MySQL 5.1 issuing warnings that MySQL 5.0 had not.
  • Added checksums to the database cluster that runs Input and Firefox about:home snippets.
  • Archived and dropped the database behind Rock Your Firefox.
  • Exported Bugzilla data for a research project. Did you know if you are doing academic research, you can get a copy of Mozilla’s public Bugzilla data?
  • Gave read-only database access to a developer behind the Datazilla project.
  • Updated the email list for vouched Mozillians.
  • Backfilled missing crash-stats data after some failed cron scripts.
  • Cleared some junk data from the Datazilla databases.
  • Added new custom fields to our implementation of Bugzilla for upcoming release versions: Firefox 20, Thunderbird 20, Thunderbird ESR 20 and seamonkey 217.
  • Added 10 new machines to the Graphs database, and added new sets of machines for Mozilla ESR 17 and Thunderbird ESR 17.
  • Gave read-only database access to the two main leads of the Air Mozilla project.
  • Debugged and turned off a 10-second timeout in our load balancing pool that was causing Postgres monitors and processors to lose connection to their databases.
  • Discovered that the plugins database actually does better with the query_cache turned on, and tuned its size.
  • Tweaked tokudb_cache_size and innodb_buffer_pool_size on our Datazilla databases so that less swap would be used.
  • Created 2 read/write accounts for 2 people to access the development database for Mozillians.
  • Gave access to Datazilla databases for staging.

Wednesday, Nov 28th was my 1-year anniversary at Mozilla. Tomorrow is December! 2012 went by very quickly.

Sheeri’s feed from the Mozilla.com IT blog

I’m not a wizard with infographics, web there are almost 400 databases at Mozilla, patient in 11 different categories. Here is how each category fares in number of databases:

Mozilla DBs in 2012

Here is how each category measures up with regards to database size – clearly, our crash-stats database (which is on Postgres, not MySQL) is the largest:

2012 size of all Mozilla databases

So here is another pie chart with the relative sizes of the MySQL databases:
2012 size of MySQL databases at Mozilla

I’m sure I’ve miscategorized some things (for instance, are metrics on AMO classified under AMO/Marketplace or “internal tools”?) but here are the categories I used:

Categories:
air.m.o – air.mozilla.org
AMO/Marketplace – addons/marketplace
blog/web page – it’s a db behind a blog or mostly static webpage
bugzilla – Bugzilla
Crash-stats – Socorro, crash-stats.mozilla.com – Where apps like Firefox send crash details.
Internal tool – If the db behind this is down, moco/mofo people may not be able to do their work. This covers applications from graphs.mozilla.org to inventory.mozilla.org to the PTO app.
release tool – If this db is down, releases can not happen (but this db is not a tree-closing db).
SUMO – support.mozilla.org
Tree-closing – if this db is down, the tree closes (and releases can’t happen)
World-facing – if this db is down, non moco/mofo ppl will notice. These are specifically tools that folks interact with, including the Mozilla Developer Network and sites like gameon.mozilla.org
World-interfacing – This db is critical to tools we use to interface with the world, though not necessarily world visible. basket.mozilla.org, Mozillians, etc.

The count of databases includes all production/dev/stage servers. The size is the size of the database on one of the production/dev/stage machines. For example, Bugzilla has 6 servers in use – 4 in production and 2 in stage. The size is the size of the master in production and the master in stage, combined. This way we have not grossly inflated the size of the database, even though technically speaking we do have to manage the data on each of the servers.

For next year, I hope to be able to gather this kind of information automatically, and have easily accessible comprehensive numbers for bandwidth, number of queries per day on each server, and more.

I’m not a wizard with infographics, drugs there are almost 400 databases at Mozilla, geriatrician in 11 different categories. Here is how each category fares in number of databases:

Mozilla DBs in 2012

Here is how each category measures up with regards to database size – clearly, our crash-stats database (which is on Postgres, not MySQL) is the largest:

2012 size of all Mozilla databases

So here is another pie chart with the relative sizes of the MySQL databases:
2012 size of MySQL databases at Mozilla

I’m sure I’ve miscategorized some things (for instance, are metrics on AMO classified under AMO/Marketplace or “internal tools”?) but here are the categories I used:

Categories:
air.m.o – air.mozilla.org
AMO/Marketplace – addons/marketplace
blog/web page – it’s a db behind a blog or mostly static webpage
bugzilla – Bugzilla
Crash-stats – Socorro, crash-stats.mozilla.com – Where apps like Firefox send crash details.
Internal tool – If the db behind this is down, moco/mofo people may not be able to do their work. This covers applications from graphs.mozilla.org to inventory.mozilla.org to the PTO app.
release tool – If this db is down, releases can not happen (but this db is not a tree-closing db).
SUMO – support.mozilla.org
Tree-closing – if this db is down, the tree closes (and releases can’t happen)
World-facing – if this db is down, non moco/mofo ppl will notice. These are specifically tools that folks interact with, including the Mozilla Developer Network and sites like gameon.mozilla.org
World-interfacing – This db is critical to tools we use to interface with the world, though not necessarily world visible. basket.mozilla.org, Mozillians, etc.

The count of databases includes all production/dev/stage servers. The size is the size of the database on one of the production/dev/stage machines. For example, Bugzilla has 6 servers in use – 4 in production and 2 in stage. The size is the size of the master in production and the master in stage, combined. This way we have not grossly inflated the size of the database, even though technically speaking we do have to manage the data on each of the servers.

For next year, I hope to be able to gather this kind of information automatically, and have easily accessible comprehensive numbers for bandwidth, number of queries per day on each server, and more.

You may have noticed that I stopped posting the “weekly news” from the Mozilla DB Team. After going through the Operations Report Card and applying it to DBAs in OurSQL Podcast numbers 111, website 112, 114, 115 and 116, I started thinking that the updates were really more like metrics, and it would better serve my own purposes better to do the updates monthly.

The purposes of doing this type of blog post are:
0) Answering “So what does a DBA do, anyway?”
1) Answering “DBA? At Mozilla? Does Firefox have a database? Why does Mozilla have databases, and what for?”
2) Showing what the DB team does for Mozilla, so that folks will understand that “just keeping things working” is actually a lot of work. It also helps compile yearly reviews of accomplishments.

We are also starting to get some metrics information. This month we started easy – number of MySQL and Postgres machines, number of unique databases (mysql, information_schema, performance_schema and test are ignored, and duplicates, like the same database on a master and 2 slaves, are ignored), and version information.

As of today, we have 9 unique databases across 8 Postgres servers in 4 clusters, with 6 being Postgres 9.0 and 2 being Postgres 9.2 – we are currently upgrading all our Postgres databases to 9.2 and expect that by the end of December all servers will be using 9.2.

We have 427 unique databases across 98 MySQL DB machines in 20 clusters, with 3 being MySQL 5.0, 71 being MySQL 5.1 (mostly Percona’s patched 5.1), and 24 being MariaDB 5.5.

And in the last week of October and the month of November, we have:

  • Documented 4 more of our Nagios checks.
  • Started to upgrade Postgres databases to Postgres 9.2
  • Decommissioned a legacy database cluster for Firefox themes.
  • Built a new database cluster (complete with monitoring and backups) for a new Sentry implementation.
  • Upgraded 14 machines for general operating system updating purposes and to ensure that be2net drivers are up-to-date; out-of-date drivers can (and have!) caused servers to crash.
  • Upgraded MySQL 5.0 to MySQL 5.1 across 3 clusters and 7 machines.
  • Did a quarterly purge of Crash Stats data.
  • Had to re-sync 6 slaves when a transaction rolled back on the master, but some of the tables modified were MyISAM. So the master had data in some tables that was out of sync with the slaves.
  • Assisted in converting to use UTC timestamps in the Elmo database behind the Mozilla localization portal and the Bugzilla Anthropology Project, prompting a blog post on converting timezone-specific times in MySQL.
  • Decommissioned a legacy “production generic” database cluster that had over 60 databases on it.
  • Built a 5th database backup instance due to growing backup needs.
  • Changed binary log format to MIXED on our JIRA installation due to JIRA requirements and an upgrade to MySQL 5.1 issuing warnings that MySQL 5.0 had not.
  • Added checksums to the database cluster that runs Input and Firefox about:home snippets.
  • Archived and dropped the database behind Rock Your Firefox.
  • Exported Bugzilla data for a research project. Did you know if you are doing academic research, you can get a copy of Mozilla’s public Bugzilla data?
  • Gave read-only database access to a developer behind the Datazilla project.
  • Updated the email list for vouched Mozillians.
  • Backfilled missing crash-stats data after some failed cron scripts.
  • Cleared some junk data from the Datazilla databases.
  • Added new custom fields to our implementation of Bugzilla for upcoming release versions: Firefox 20, Thunderbird 20, Thunderbird ESR 20 and seamonkey 217.
  • Added 10 new machines to the Graphs database, and added new sets of machines for Mozilla ESR 17 and Thunderbird ESR 17.
  • Gave read-only database access to the two main leads of the Air Mozilla project.
  • Debugged and turned off a 10-second timeout in our load balancing pool that was causing Postgres monitors and processors to lose connection to their databases.
  • Discovered that the plugins database actually does better with the query_cache turned on, and tuned its size.
  • Tweaked tokudb_cache_size and innodb_buffer_pool_size on our Datazilla databases so that less swap would be used.
  • Created 2 read/write accounts for 2 people to access the development database for Mozillians.
  • Gave access to Datazilla databases for staging.

Wednesday, Nov 28th was my 1-year anniversary at Mozilla. Tomorrow is December! 2012 went by very quickly.

So, cure I’ve started a new job as a Senior Database Engineer at Salesforce, price and one of the services I help provide is adding users to MySQL. We have some nice chef recipes, look so all I have to do is update a few files, including adding in the MySQL password hash.

Now, when I added myself, I just logged into MySQL and generated a password hash. But when my SRE (systems reliability engineer) colleague needed to generate a password, he did not have a MySQL system he could login to.

The good news is it’s easy to generate a MySQL password hash. The MySQL password hash is simply a SHA1 hash of a SHA1 hash, with * put in the beginning. Which means you do not need a MySQL database to create a MySQL password hash – all you need is a programming language that has a SHA1 function (well, and a concatenate function).

And I found it, of course, on this post at StackExchange. So you don’t have to click through, here is what it says – and I have tested all these methods and I get the same password hash. I have changed their example of “right” to “PASSWORD HERE” so it’s more readable and obvious where the password goes, in case you copy and paste from here.

Some one-liners:

MySQL (may require you add -u(user) -p):

mysql -NBe "select password('PASSWORD HERE')"

Python:

python -c 'from hashlib import sha1; print "*" + sha1(sha1("PASSWORD HERE").digest()).hexdigest().upper()'

Perl:

perl -MDigest::SHA1=sha1_hex -MDigest::SHA1=sha1 -le 'print "*". uc sha1_hex(sha1("PASSWORD HERE"))'

PHP:

php -r 'echo "*" . strtoupper(sha1(sha1("PASSWORD HERE", TRUE))). "
";'

Hopefully these help you – they have enabled my colleagues to easily generate what’s needed without having to find (or create) a MySQL instance that they can already login to.

 

 

Put Me To Work For You

The MySQL She-BA

The MySQL She-BA

(The Executive Summary: I left my job last week, health and I start working at The Pythian Group on Monday. Go to their website if you’d like to work with me, sildenafil or with people just as knowledgeable as me.)

I get inquiries all the time about consulting. Folks are madly searching for experienced MySQL DBAs. The lure of a new environment is always tempting, medicine however, working for any one environment has its quirks. In October I realized I was coming up on having worked 2 years at my job. That’s not a very long period of time, but it certainly was long enough for me to learn the environment and get stuck in a rut — mostly my rut was doing more systems work than database work.

I looked around for other places of work, and had a wonderful interview at an awesome company to boot. However, they were also a product company, and I’d decided that I wanted to move to a service company. That is, a company that provides database services to a wide variety of environments. A company that sells products still usually has one environment, or at least one environment that I would work in. With a service-oriented company, such as a consulting firm, I can gain the experience of many environments and many setups.

Learning from my co-workers is important too — too many shops have only 1 or 2 MySQL DBA positions, which leaves me with 1 or 0 MySQL colleagues at work. Being the big fish in a small pond has its advantages, but it’s also too easy to get caught in my own ways of doing things and not see another side of things.

So, I thought about where I’d want to work. There are many great MySQL consulting firms out there. I looked at the ones I knew about — most of the ones run by Planet MySQLers I ruled out because either I didn’t have the right skillset (I’m not a programmer, C or otherwise!) or because I thought there might be personality conflicts, or because I’d have to move.

That was a big one — having to move. I have to stay in the Boston area, at least for now. My husband and I discussed things, and we’re not willing to move right now. Also, I hate too much travel. Anything more than 10% really wears me down. And that, sadly, put MySQL’s own consulting out of the running. I just cannot travel that much.

So where does that leave me? Well, I called up The Pythian Group and we had a few hours of great phone conversations.

Next week, I fly to Ottawa for training! There will be a Boston office opening, but that’s after I finish 2-3 weeks of training.

I’m very excited to learn more about how The Pythian Group operates, as well as getting down and dirty with different environments, and solving lots of problems.

What’s in a Name? Everything!

Does anyone have any ways they create an API for their stored routines (functions and procedures)? Currently it seems as though I have to parse the CREATE statement to get the input variables….Has anyone else done this? Is it in any third party tools?
Does anyone have any ways they create an API for their stored routines (functions and procedures)? Currently it seems as though I have to parse the CREATE statement to get the input variables….Has anyone else done this? Is it in any third party tools?
Peter makes an interesting post about the MySQL company’s trademarks at http://www.mysqlperformanceblog.com/2007/10/26/mysql-support-or-support-for-mysql-mysql-trademark-policies/

The point is that Peter is not selling “MySQL Support” — he is selling “Support *for* MySQL”. “MySQL Support” is the name of a product that MySQL offers. Even if some other consulting company used the name before the MySQL company ever did, more about MySQL still has the rights to the name.

I chose to name my podcast “OurSQL: The MySQL Database Podcast for the Community, neurologist By the Community.” I chose every word carefully. For instance, abortion I call it “the MySQL Database Podcast” so that anyone looking for a podcast about “database” will find it.

I could have just called it “MySQL Podcast”. But if the company MySQL (AB or Inc) ever makes a podcast, they would do the same thing to me that they do to you. I have to distinguish it’s “a podcast about MySQL”, not “MySQL’s podcast”. In fact if you look for “oursql” references, there is actually software released in September 2001 called “oursql”, but it was only released once and I have only ever found a handful of e-mails about it.

Similarly with “Technocation, Inc”. I googled around for it and found that a Baltimore, MD USA paper has a column called “technocation”, and it’s similar to why I picked the name — technology + education. But there’s no way anyone would confuse the two.

Same thing as MySQL would do if they made their own toolkit. “MySQL Toolkit” is in fact a really bad name because it’s so generic. Right now there’s no confusion, because MySQL doesn’t have a toolkit. Same with the “MySQL Magazine”. If MySQL ever puts out a magazine, they’ll send a letter right away. I was actually worried that “The MySQL Guy Podcast” at http://www.themysqlguy.com/ would get a letter from them. After all, there are plenty of “MySQL guys” out there, and he doesn’t work for the company……(hence why I’m the “She-BA”, not “MySQL Gal”).

In fact, Microsoft seems to do this on purpose. They named their database engine “SQL Server”. I’ve been frustrated when I get Microsoft pages when I’m just looking for “something relating to SQL”. I’d much rather get something related to the SQL standard. Same with their “Windows Mobile” platform. Check out their list of servers on the right-hand side of the page at http://www.microsoft.com/servers/default.mspx — if you’re looking for “security” on a Windows server, chances are most of your search result will be for the “Security Server” that Microsoft offers. Ditto with “Content Management Server” and “Data Protection Manager” and “Speech Server” and “Virtual Server” and “Small Business Server”…etc.

If you have questions about Intellectual Property (IP) or Patents in the United States, I highly recommend retaining services from the law firm of Bakos and Kritzer — http://www.bakoskritzer.com/. It’s not just a law firm where my brother is a partner, it’s also a damn good one.

(Speaking of name, I will likely be changing my name in the near future to “Sheeri K. Cabral”, so if you see it around, don’t get confused. You can always find me at www.sheeri.com )

One Size Fits All

Feature:

Things to Avoid in Queries
Subqueries and Correlated subqueries
http://dev.mysql.com/doc/refman/4.1/en/correlated-subqueries.html

Jan Kneschke’s post on Groupwise Maximum:
http://jan.kneschke.de/projects/mysql/groupwise-max

Calculated comparisons do not use indexes

INSERT IGNORE
REPLACE
INSERT…ON DUPLICATE KEY

Feedback:

Email podcast@technocation.org

call the comment line at +1 617-674-2369

use Odeo to leave a voice mail through your computer:
http://odeo.com/sendmeamessage/Sheeri

or use the Technocation forums:
http://technocation.org/forum

Direct play this episode at:
http://technocation.org/content/oursql-episode-22%3A-things-avoid-mysql-queries
On Monday August 20th, plague about it 2007, obesity the Google Summer of Code officially ended. I have had a great time this summer, web although it has not always been sunshine and flowers! Because of the nature of the Summer of Code, setbacks due to lack of knowledge were not a problem. It’s expected that the students don’t know everything!

So mostly the setbacks were organizational. I had 2 students working on MySQL Auditing Software, which I have tentatively (and very geekily) called OughtToAudit. One student was working on the administrative interface, where access to the auditing program and the auditing rules themselves are defined. As well, reporting on suspicious activity as well as the rule-breaking activity could be seen. The other student was working on a pcap (libpcap, winpcap) engine to store all database traffic. Why pcap? One of the main tenets of auditing is that the auditing system is independent of the system to be audited. Part of this is for control purposes, so that the DBA is not the final arbiter of what’s in the auditing system — that can be owned by someone else, so that the DBA can be watched, too (just 2 months ago a report came out about a DBA stealing sensitive data, http://tinyurl.com/2xpjmz).

The community bonding period was great. I did not want to code during that time, I wanted to have the students learn more about auditing, and get to be part of the community. Well, only one student had time during that period, and looking back on it, he had more to learn, so I should have had him start. I also wasn’t as organized as I could have been and was planning on using the community bonding time to write up a spec, which was late.

The coding started a bit late because both students had finals the first week in June. And then I got married the 2nd week in June and went on a 2-week honeymoon, which did not help matters. I thought my vacation would be 3 solid weeks into the Summer of Code, but it ended up being about 2 non-solid weeks (say, 1.5 actual weeks). So just when the questions started coming to the forefront, I was gone. The best laid plans and all that, I guess.

After my honeymoon it was July, and I scrambled to get organized and be the best help I could. I succeeded, but I really needed a push to get myself more motivated. Basically I did not do as much as I should have in the first half. During or just after the midterm, we established a schedule of twice-weekly conference calls (5 pm my time, 10 pm for one student, 11 pm for another, on Wednesdays and Sundays). This helped a lot, and sometimes one or more folks couldn’t make it, and that’s OK, because we had them twice a week.

From my point of view, there were not any surprises, though things did take longer than I expected, as I misjudged skills and knowledge of both students at different points, in different directions — that is, I thought both students were both better and worse at different parts of their projects, so some parts went faster and others went slower.

The outcome so far is this: we are at about an 0.7 or 0.8 release, not ready even for alpha until we can integrate a few things. We have overcome a lot of challenges, and both students know a lot more about MySQL and auditing than they did before, and got good coding experience. Which was the point of the Google Summer of Code. MySQL is closer to having auditing software, though I’d have hoped we’d have gotten a bit further than we have. But we’ve agreed to meet once a month, now that the students go back to jobs and school, and continue to work on it.

All in all, it was a good experience. Had I to do it over, I’d have done many things similarly. I would start with the conference calls from the beginning and not been overconfident in the beginning, and used the community bonding period to do what the students wanted instead of holding them back.
On Monday August 20th, plague about it 2007, obesity the Google Summer of Code officially ended. I have had a great time this summer, web although it has not always been sunshine and flowers! Because of the nature of the Summer of Code, setbacks due to lack of knowledge were not a problem. It’s expected that the students don’t know everything!

So mostly the setbacks were organizational. I had 2 students working on MySQL Auditing Software, which I have tentatively (and very geekily) called OughtToAudit. One student was working on the administrative interface, where access to the auditing program and the auditing rules themselves are defined. As well, reporting on suspicious activity as well as the rule-breaking activity could be seen. The other student was working on a pcap (libpcap, winpcap) engine to store all database traffic. Why pcap? One of the main tenets of auditing is that the auditing system is independent of the system to be audited. Part of this is for control purposes, so that the DBA is not the final arbiter of what’s in the auditing system — that can be owned by someone else, so that the DBA can be watched, too (just 2 months ago a report came out about a DBA stealing sensitive data, http://tinyurl.com/2xpjmz).

The community bonding period was great. I did not want to code during that time, I wanted to have the students learn more about auditing, and get to be part of the community. Well, only one student had time during that period, and looking back on it, he had more to learn, so I should have had him start. I also wasn’t as organized as I could have been and was planning on using the community bonding time to write up a spec, which was late.

The coding started a bit late because both students had finals the first week in June. And then I got married the 2nd week in June and went on a 2-week honeymoon, which did not help matters. I thought my vacation would be 3 solid weeks into the Summer of Code, but it ended up being about 2 non-solid weeks (say, 1.5 actual weeks). So just when the questions started coming to the forefront, I was gone. The best laid plans and all that, I guess.

After my honeymoon it was July, and I scrambled to get organized and be the best help I could. I succeeded, but I really needed a push to get myself more motivated. Basically I did not do as much as I should have in the first half. During or just after the midterm, we established a schedule of twice-weekly conference calls (5 pm my time, 10 pm for one student, 11 pm for another, on Wednesdays and Sundays). This helped a lot, and sometimes one or more folks couldn’t make it, and that’s OK, because we had them twice a week.

From my point of view, there were not any surprises, though things did take longer than I expected, as I misjudged skills and knowledge of both students at different points, in different directions — that is, I thought both students were both better and worse at different parts of their projects, so some parts went faster and others went slower.

The outcome so far is this: we are at about an 0.7 or 0.8 release, not ready even for alpha until we can integrate a few things. We have overcome a lot of challenges, and both students know a lot more about MySQL and auditing than they did before, and got good coding experience. Which was the point of the Google Summer of Code. MySQL is closer to having auditing software, though I’d have hoped we’d have gotten a bit further than we have. But we’ve agreed to meet once a month, now that the students go back to jobs and school, and continue to work on it.

All in all, it was a good experience. Had I to do it over, I’d have done many things similarly. I would start with the conference calls from the beginning and not been overconfident in the beginning, and used the community bonding period to do what the students wanted instead of holding them back.
Administrative note:

I had a bit of a mishap involving my hand and a glass door pane. The OurSQL podcast will be on hiatus for a few weeks as I recover. I injured my left hand, order and I’m a lefty, unhealthy so I’m typing one-handed these days. I apologize for the break in the show schedule, and hope you’ll be able to hear new podcasts about MySQL very soon!
On Monday August 20th, plague about it 2007, obesity the Google Summer of Code officially ended. I have had a great time this summer, web although it has not always been sunshine and flowers! Because of the nature of the Summer of Code, setbacks due to lack of knowledge were not a problem. It’s expected that the students don’t know everything!

So mostly the setbacks were organizational. I had 2 students working on MySQL Auditing Software, which I have tentatively (and very geekily) called OughtToAudit. One student was working on the administrative interface, where access to the auditing program and the auditing rules themselves are defined. As well, reporting on suspicious activity as well as the rule-breaking activity could be seen. The other student was working on a pcap (libpcap, winpcap) engine to store all database traffic. Why pcap? One of the main tenets of auditing is that the auditing system is independent of the system to be audited. Part of this is for control purposes, so that the DBA is not the final arbiter of what’s in the auditing system — that can be owned by someone else, so that the DBA can be watched, too (just 2 months ago a report came out about a DBA stealing sensitive data, http://tinyurl.com/2xpjmz).

The community bonding period was great. I did not want to code during that time, I wanted to have the students learn more about auditing, and get to be part of the community. Well, only one student had time during that period, and looking back on it, he had more to learn, so I should have had him start. I also wasn’t as organized as I could have been and was planning on using the community bonding time to write up a spec, which was late.

The coding started a bit late because both students had finals the first week in June. And then I got married the 2nd week in June and went on a 2-week honeymoon, which did not help matters. I thought my vacation would be 3 solid weeks into the Summer of Code, but it ended up being about 2 non-solid weeks (say, 1.5 actual weeks). So just when the questions started coming to the forefront, I was gone. The best laid plans and all that, I guess.

After my honeymoon it was July, and I scrambled to get organized and be the best help I could. I succeeded, but I really needed a push to get myself more motivated. Basically I did not do as much as I should have in the first half. During or just after the midterm, we established a schedule of twice-weekly conference calls (5 pm my time, 10 pm for one student, 11 pm for another, on Wednesdays and Sundays). This helped a lot, and sometimes one or more folks couldn’t make it, and that’s OK, because we had them twice a week.

From my point of view, there were not any surprises, though things did take longer than I expected, as I misjudged skills and knowledge of both students at different points, in different directions — that is, I thought both students were both better and worse at different parts of their projects, so some parts went faster and others went slower.

The outcome so far is this: we are at about an 0.7 or 0.8 release, not ready even for alpha until we can integrate a few things. We have overcome a lot of challenges, and both students know a lot more about MySQL and auditing than they did before, and got good coding experience. Which was the point of the Google Summer of Code. MySQL is closer to having auditing software, though I’d have hoped we’d have gotten a bit further than we have. But we’ve agreed to meet once a month, now that the students go back to jobs and school, and continue to work on it.

All in all, it was a good experience. Had I to do it over, I’d have done many things similarly. I would start with the conference calls from the beginning and not been overconfident in the beginning, and used the community bonding period to do what the students wanted instead of holding them back.
Administrative note:

I had a bit of a mishap involving my hand and a glass door pane. The OurSQL podcast will be on hiatus for a few weeks as I recover. I injured my left hand, order and I’m a lefty, unhealthy so I’m typing one-handed these days. I apologize for the break in the show schedule, and hope you’ll be able to hear new podcasts about MySQL very soon!
I was pointed to an article about how the “one size fits all” database model doesn’t work anymore — how Oracle, otolaryngologist DB2 and Ingres were written so long ago, order they’d have to be rewritten to meet the needs of today’s database users. Jacob Nikom pointed the article to me; apparently he contacted the author and started to explain how MySQL meets that criteria, pills but the author disagreed.

Read the article for yourself:
http://www.databasecolumn.com/2007/09/one-size-fits-all.html

Anyone else notice the irony of saying “all those other DBMS’s aren’t a one-size-fits-all solution, but this one is?” I think that MySQL comes the closest to a DBMS that is NOT “one size fits all”, given the multiple storage engines available. What other DBMS will allow you to use your Amazon S3 account as a table? What other DBMS will allow you to use a .csv file as a table without importing? It’s not perfect, because there’s still a basic layer of functional implementation that the MySQL server handles (and must), but it’s the closest.

Note that the article is written by the founder and CTO of the software solution mentioned.

What If?

Direct play this episode at:
http://technocation.org/content/oursql-episode-18%3A-de-myth-tifying-indexes-0

Feedback:

Email podcast@technocation.org

call the comment line at +1 617-674-2369

use Odeo to leave a voice mail through your computer:
http://odeo.com/sendmeamessage/Sheeri

Or use the Technocation forums:
http://technocation.org/forum

Episode 18: De-Myth-tifying Indexes

Where I have been:
Wedding video (short) and photos:
http://www.sheeri.com/wedding

Honeymoon (and wedding) photos:
http://www.sheeri.com/photos

News:
FREE training for Oracle DBAs who want to learn MySQL
http://www.planetmysql.org/robin/?p=51
http://www.mysql.com/oracle/

mysqlnd (PHP native driver) needs testers and benchmarkers:
http://www.planetmysql.org/kaj/?p=117

Learning Resource:
The MySQL category at howtoforge.com:
http://www.howtoforge.com/taxonomy_menu/1/7

Podcast Promo:
http://www.themysqlguy.com

Feature:

Big O notation:
http://www.eecs.harvard.edu/~ellard/Q-97/HTML/root/node8.html

BTREE Index podcast:
http://technocation.org/content/oursql-episode-13%3A-nitty-gritty-indexes-0

HASH Index podcast:
http://technocation.org/content/oursql-episode-17%3A-hashing-it-out-0

Quote:
http://www.helpothers.org/story.php?sid=6784

Music:
The main theme used is Angry Red Dwarf’s “I Dream About You”
http://tinyurl.com/26hbg6

Smallfish’s “The Thank you song”
http://www.smallfishadventures.com/Home.html

Direct play this episode at:
http://technocation.org/content/oursql-episode-18%3A-de-myth-tifying-indexes-0

Feedback:

Email podcast@technocation.org

call the comment line at +1 617-674-2369

use Odeo to leave a voice mail through your computer:
http://odeo.com/sendmeamessage/Sheeri

Or use the Technocation forums:
http://technocation.org/forum

Episode 18: De-Myth-tifying Indexes

Where I have been:
Wedding video (short) and photos:
http://www.sheeri.com/wedding

Honeymoon (and wedding) photos:
http://www.sheeri.com/photos

News:
FREE training for Oracle DBAs who want to learn MySQL
http://www.planetmysql.org/robin/?p=51
http://www.mysql.com/oracle/

mysqlnd (PHP native driver) needs testers and benchmarkers:
http://www.planetmysql.org/kaj/?p=117

Learning Resource:
The MySQL category at howtoforge.com:
http://www.howtoforge.com/taxonomy_menu/1/7

Podcast Promo:
http://www.themysqlguy.com

Feature:

Big O notation:
http://www.eecs.harvard.edu/~ellard/Q-97/HTML/root/node8.html

BTREE Index podcast:
http://technocation.org/content/oursql-episode-13%3A-nitty-gritty-indexes-0

HASH Index podcast:
http://technocation.org/content/oursql-episode-17%3A-hashing-it-out-0

Quote:
http://www.helpothers.org/story.php?sid=6784

Music:
The main theme used is Angry Red Dwarf’s “I Dream About You”
http://tinyurl.com/26hbg6

Smallfish’s “The Thank you song”
http://www.smallfishadventures.com/Home.html

aka, internist “Better late than never”…..

Back in March 2007, the Boston MySQL User Group (http://mysql.meetup.com/137) watched and heard Brian DeLacey give a tutorial of Ruby on Rails, including its interaction with MySQL using ActiveRecord.

I knew absolutely nothing about Ruby on Rails before attending the presentation, other than Ruby was a language and people were saying that Rails made for easy development. After the presentation, I knew enough to start coding!

Brian is an excellent speaker, and this presentation is long overdue. (I’d tried creating the video before, during and after the MySQL Users Conference back in April, and my application kept crashing. I guess it just needed a break, because I fired it up today and it seemed to save the movie OK. Please let me know if you watch the presentation and something seems wrong).

Enjoy!

Direct download link:

Ruby on Rails by Brian DeLacey
Direct play this episode at:
http://technocation.org/content/oursql-episode-18%3A-de-myth-tifying-indexes-0

Feedback:

Email podcast@technocation.org

call the comment line at +1 617-674-2369

use Odeo to leave a voice mail through your computer:
http://odeo.com/sendmeamessage/Sheeri

Or use the Technocation forums:
http://technocation.org/forum

Episode 18: De-Myth-tifying Indexes

Where I have been:
Wedding video (short) and photos:
http://www.sheeri.com/wedding

Honeymoon (and wedding) photos:
http://www.sheeri.com/photos

News:
FREE training for Oracle DBAs who want to learn MySQL
http://www.planetmysql.org/robin/?p=51
http://www.mysql.com/oracle/

mysqlnd (PHP native driver) needs testers and benchmarkers:
http://www.planetmysql.org/kaj/?p=117

Learning Resource:
The MySQL category at howtoforge.com:
http://www.howtoforge.com/taxonomy_menu/1/7

Podcast Promo:
http://www.themysqlguy.com

Feature:

Big O notation:
http://www.eecs.harvard.edu/~ellard/Q-97/HTML/root/node8.html

BTREE Index podcast:
http://technocation.org/content/oursql-episode-13%3A-nitty-gritty-indexes-0

HASH Index podcast:
http://technocation.org/content/oursql-episode-17%3A-hashing-it-out-0

Quote:
http://www.helpothers.org/story.php?sid=6784

Music:
The main theme used is Angry Red Dwarf’s “I Dream About You”
http://tinyurl.com/26hbg6

Smallfish’s “The Thank you song”
http://www.smallfishadventures.com/Home.html

aka, internist “Better late than never”…..

Back in March 2007, the Boston MySQL User Group (http://mysql.meetup.com/137) watched and heard Brian DeLacey give a tutorial of Ruby on Rails, including its interaction with MySQL using ActiveRecord.

I knew absolutely nothing about Ruby on Rails before attending the presentation, other than Ruby was a language and people were saying that Rails made for easy development. After the presentation, I knew enough to start coding!

Brian is an excellent speaker, and this presentation is long overdue. (I’d tried creating the video before, during and after the MySQL Users Conference back in April, and my application kept crashing. I guess it just needed a break, because I fired it up today and it seemed to save the movie OK. Please let me know if you watch the presentation and something seems wrong).

Enjoy!

Direct download link:

Ruby on Rails by Brian DeLacey
Sadly, viagra it’s not my bug, ambulance it’s a bug in the MySQL Documentation.

http://bugs.mysql.com/bug.php?id=29915

I’m actually quite surprised nobody has run into this before, buy information pills and in fact many sources quote this stating that %I and %h are the same thing.

I can’t be the only person in the world that’s ever needed hours with stripped leading zeros before. The irony is that before the submitted bug I was 5 points away from being a Basic Quality Contributor, and it would be very funny to me if this is the bug that pushed me over to qualify for a free Basic license….particularly since my company JUST bought a few licenses a month ago.
Direct play the episode at:
http://technocation.org/content/oursql-episode-19%3A-mysql-proxy-0

Feedback:
http://odeo.com/sendmeamessage/Sheeri

Call the comment line at +1 617-674-2369.
E-mail podcast@technocation.org

News:
MySQL Focuses on Japan
http://www.mysql.com/news-and-events/news/article_1368.html

MySQL Associate Certification Now Available
http://www.mysql.com/certification/

Learning resource:
Pythian Group’s Carnival of the Vanities for the DBA community, site hospital published weekly on Fridays.
http://www.pythian.com/blogs/category/log-buffer/

Feature:
MySQL Proxy
Giuseppe Maxia’s Blog:
http://datacharmer.blogspot.com

Getting Started with MySQL Proxy article plus tutorials:
http://www.oreillynet.com/pub/a/databases/2007/07/12/getting-started-with-mysql-proxy.html

public Subversion tree:

http://forge.mysql.com/wiki/mysql_proxy

Tutorials:
Intercept and dump queries (part 1): http://forge.mysql.com/snippets/view.php?id=75

Make macros to map “cd” to “use” and “ls” to “show tables” (part 2): http://forge.mysql.com/snippets/view.php?id=76

Injection Queries (part 3): http://forge.mysql.com/snippets/view.php?id=77

Lua interpreted language:
http://www.lua.org/

Direct play the episode at:
http://technocation.org/content/oursql-episode-19%3A-mysql-proxy-0

Feedback:
http://odeo.com/sendmeamessage/Sheeri

Call the comment line at +1 617-674-2369.
E-mail podcast@technocation.org

News:
MySQL Focuses on Japan
http://www.mysql.com/news-and-events/news/article_1368.html

MySQL Associate Certification Now Available
http://www.mysql.com/certification/

Learning resource:
Pythian Group’s Carnival of the Vanities for the DBA community, site hospital published weekly on Fridays.
http://www.pythian.com/blogs/category/log-buffer/

Feature:
MySQL Proxy
Giuseppe Maxia’s Blog:
http://datacharmer.blogspot.com

Getting Started with MySQL Proxy article plus tutorials:
http://www.oreillynet.com/pub/a/databases/2007/07/12/getting-started-with-mysql-proxy.html

public Subversion tree:

http://forge.mysql.com/wiki/mysql_proxy

Tutorials:
Intercept and dump queries (part 1): http://forge.mysql.com/snippets/view.php?id=75

Make macros to map “cd” to “use” and “ls” to “show tables” (part 2): http://forge.mysql.com/snippets/view.php?id=76

Injection Queries (part 3): http://forge.mysql.com/snippets/view.php?id=77

Lua interpreted language:
http://www.lua.org/

The short: 2007 Sysadmin of the Year Nominations being accepted — http://www.sysadminoftheyear.com. Canada and US candidates only (due to prizes and regulations. 🙁 )

Last year, internist I found out too late about the Sysadmin of the Year Award (see my lament at http://sheeri.net/archives/157). Mark Cohen, this year’s “poster boy” for 2007 Sysadmin of the Year, contacted me to let me know that the 2007 Sysadmin of the Year contest is on. It started on Sysadmin Day, always the last Friday in July.

I asked if DBA’s count as sysadmins, and here’s what Mark had to say:

In our book, DBAs qualify.

I’ve worked with some totally amazing DBAs that not only do their job, but ALSO work as a sysadmin when asked..

Great bunch of people generally.

The press release to Forbes Magazine http://tinyurl.com/2cufvc confirms this:

During the three-month contest, anyone can nominate their system administrator, network manager, database administrator, or other IT professional simply by submitting an online nomination describing why their IT person is a SysAdmin Rockstar, going beyond the call-of-duty on a daily basis.

My hat’s already in the running (from my co-workers, so use skritzer at online-buddies dot com if you’re going to nominate me), so if you think my contributions to the general community through my podcast, my blog, as mentor in the Google Summer of Code for 2 students, or through actually working with me are useful, go ahead and nominate me.

And be sure to nominate other folks as well — the first 2500 folks to be nominated will receive a T-shirt. But I’d really love to go to LISA again, and I’ve already been to the MySQL Conference this year so my training budget is used!
Direct play the episode at:
http://technocation.org/content/oursql-episode-19%3A-mysql-proxy-0

Feedback:
http://odeo.com/sendmeamessage/Sheeri

Call the comment line at +1 617-674-2369.
E-mail podcast@technocation.org

News:
MySQL Focuses on Japan
http://www.mysql.com/news-and-events/news/article_1368.html

MySQL Associate Certification Now Available
http://www.mysql.com/certification/

Learning resource:
Pythian Group’s Carnival of the Vanities for the DBA community, site hospital published weekly on Fridays.
http://www.pythian.com/blogs/category/log-buffer/

Feature:
MySQL Proxy
Giuseppe Maxia’s Blog:
http://datacharmer.blogspot.com

Getting Started with MySQL Proxy article plus tutorials:
http://www.oreillynet.com/pub/a/databases/2007/07/12/getting-started-with-mysql-proxy.html

public Subversion tree:

http://forge.mysql.com/wiki/mysql_proxy

Tutorials:
Intercept and dump queries (part 1): http://forge.mysql.com/snippets/view.php?id=75

Make macros to map “cd” to “use” and “ls” to “show tables” (part 2): http://forge.mysql.com/snippets/view.php?id=76

Injection Queries (part 3): http://forge.mysql.com/snippets/view.php?id=77

Lua interpreted language:
http://www.lua.org/

The short: 2007 Sysadmin of the Year Nominations being accepted — http://www.sysadminoftheyear.com. Canada and US candidates only (due to prizes and regulations. 🙁 )

Last year, internist I found out too late about the Sysadmin of the Year Award (see my lament at http://sheeri.net/archives/157). Mark Cohen, this year’s “poster boy” for 2007 Sysadmin of the Year, contacted me to let me know that the 2007 Sysadmin of the Year contest is on. It started on Sysadmin Day, always the last Friday in July.

I asked if DBA’s count as sysadmins, and here’s what Mark had to say:

In our book, DBAs qualify.

I’ve worked with some totally amazing DBAs that not only do their job, but ALSO work as a sysadmin when asked..

Great bunch of people generally.

The press release to Forbes Magazine http://tinyurl.com/2cufvc confirms this:

During the three-month contest, anyone can nominate their system administrator, network manager, database administrator, or other IT professional simply by submitting an online nomination describing why their IT person is a SysAdmin Rockstar, going beyond the call-of-duty on a daily basis.

My hat’s already in the running (from my co-workers, so use skritzer at online-buddies dot com if you’re going to nominate me), so if you think my contributions to the general community through my podcast, my blog, as mentor in the Google Summer of Code for 2 students, or through actually working with me are useful, go ahead and nominate me.

And be sure to nominate other folks as well — the first 2500 folks to be nominated will receive a T-shirt. But I’d really love to go to LISA again, and I’ve already been to the MySQL Conference this year so my training budget is used!
Using MySQL As Active DBMS for Monitoring Applications — Jacob Nikom.

Jacob presented this as a special preview at the April 2007 Boston MySQL User Group, information pills and then presented it at the 2007 MySQL Users Conference and Expo.

The last in the “better late than never” series….

Download from http://www.technocation.org/videos/2007_04BostonUserGroup.wmv
or view right here:


In this less technical episode we interview Paul Vallee, information pills medical where he explains in depth about the Pythian Group.

Special thanks to folks who have linked to the podcast:
WebDevRadio
http://www.webdevradio.com

Episode 34, prescription July 9th, in which Michael mentions OurSQL and hopes I haven’t “gone dark”. Nope! http://www.webdevradio.com/index.php?id=50

Kristina Hadges, a web designer, linked to the podcast
http://www.nineofnine.com/resources

Feature:

The Pythian Group
http://www.pythian.com

Feedback:
Direct play this episode at:
http://technocation.org/content/oursql-episode-20%3A-pythian-group

Feedback:

Email podcast@technocation.org

call the comment line at +1 617-674-2369

use Odeo to leave a voice mail through your computer:
http://odeo.com/sendmeamessage/Sheeri

Or use the Technocation forums:
http://technocation.org/forum

In this less technical episode we interview Paul Vallee, information pills medical where he explains in depth about the Pythian Group.

Special thanks to folks who have linked to the podcast:
WebDevRadio
http://www.webdevradio.com

Episode 34, prescription July 9th, in which Michael mentions OurSQL and hopes I haven’t “gone dark”. Nope! http://www.webdevradio.com/index.php?id=50

Kristina Hadges, a web designer, linked to the podcast
http://www.nineofnine.com/resources

Feature:

The Pythian Group
http://www.pythian.com

Feedback:
Direct play this episode at:
http://technocation.org/content/oursql-episode-20%3A-pythian-group

Feedback:

Email podcast@technocation.org

call the comment line at +1 617-674-2369

use Odeo to leave a voice mail through your computer:
http://odeo.com/sendmeamessage/Sheeri

Or use the Technocation forums:
http://technocation.org/forum

Direct play this episode at:
http://technocation.org/content/oursql-episode-21%3A-rise-mysql-dba-1

Paul Vallee is back for this non-technical podcast about the special creature that is the MySQL DBA.

News:
October 2006 Enterprise/Community Split announcement
http://www.planetmysql.org/entry.php?id=4393

Current clarification of Enterprise/Community split
http://www.planetmysql.org/kaj/?p=123

Dorsal Source, site a community-focused website whose goal is to provide builds of MySQL and related products.
http://www.dorsalsource.org

Learning Resource:
MySQL Camp II, tadalafil August 23-24 2007, ailment Brooklyn NYhttp://www.mysqlcamp.org

http://www.poly.edu

Feature:
The Pythian Group’s Paul Vallee
http://www.pythian.com

Feedback:

Email podcast@technocation.org

call the comment line at +1 617-674-2369

use Odeo to leave a voice mail through your computer:
http://odeo.com/sendmeamessage/Sheeri

or use the Technocation forums:
http://technocation.org/forum
In this less technical episode we interview Paul Vallee, information pills medical where he explains in depth about the Pythian Group.

Special thanks to folks who have linked to the podcast:
WebDevRadio
http://www.webdevradio.com

Episode 34, prescription July 9th, in which Michael mentions OurSQL and hopes I haven’t “gone dark”. Nope! http://www.webdevradio.com/index.php?id=50

Kristina Hadges, a web designer, linked to the podcast
http://www.nineofnine.com/resources

Feature:

The Pythian Group
http://www.pythian.com

Feedback:
Direct play this episode at:
http://technocation.org/content/oursql-episode-20%3A-pythian-group

Feedback:

Email podcast@technocation.org

call the comment line at +1 617-674-2369

use Odeo to leave a voice mail through your computer:
http://odeo.com/sendmeamessage/Sheeri

Or use the Technocation forums:
http://technocation.org/forum

Direct play this episode at:
http://technocation.org/content/oursql-episode-21%3A-rise-mysql-dba-1

Paul Vallee is back for this non-technical podcast about the special creature that is the MySQL DBA.

News:
October 2006 Enterprise/Community Split announcement
http://www.planetmysql.org/entry.php?id=4393

Current clarification of Enterprise/Community split
http://www.planetmysql.org/kaj/?p=123

Dorsal Source, site a community-focused website whose goal is to provide builds of MySQL and related products.
http://www.dorsalsource.org

Learning Resource:
MySQL Camp II, tadalafil August 23-24 2007, ailment Brooklyn NYhttp://www.mysqlcamp.org

http://www.poly.edu

Feature:
The Pythian Group’s Paul Vallee
http://www.pythian.com

Feedback:

Email podcast@technocation.org

call the comment line at +1 617-674-2369

use Odeo to leave a voice mail through your computer:
http://odeo.com/sendmeamessage/Sheeri

or use the Technocation forums:
http://technocation.org/forum
What if last week’s announcement by MySQL had been the following?

Some major MySQL distributors have brought some issues to our attention. These distributors have been legally distributing the Enterprise version of MySQL to folks that do not have a MySQL support contract, troche without their knowledge or consent.

When a user installs an open source operating system and includes MySQL, should that user get the Community version or the Enterprise version? Since the source code was split back in October 2006, MySQL AB has felt that users should use the Enterprise version only if they intend to. We have made the source easily downloadable, so folks that want to use Enterprise, are able to use Enterprise.

However, given that distributors have been doling out Enterprise to unsuspecting users, we decided to change a few things. Firstly, we recognize that folks may be downloading Enterprise because they do not understand that Community is what they need. MySQL has very good binary builds available, with very little to be gained by users compiling their own binaries. We hope that folks have not been frustrated by a build process when they could have downloaded Community.

Secondly, the MySQL distributors have brought about some issues which would need to be fixed if we want them to distribute MySQL Community. Those issues are:

1) Scheduled releases of MySQL Community code — we will now schedule Community code releases 4 times per year, to meet this request. In addition, we will release binaries for Community twice a year, as needed.

2) Feature stability — we thought we could implement community-driven features in current releases. Sticking in a new feature to a current release jeopardizes the stability of the feature in that release. Also, we haven’t quite managed how to do that, and it will be easier to patch a feature into a non-GA release.

3) Newly GA releases will have monthly binary builds — A release that recently went from alpha or beta to GA will continue to receive monthly binary builds and releases until such time as the release is stable. We expect this to be for several months after the GA is announced.

You might notice that the Enterprise source binaries have been taken down off ftp.mysql.com. This is because we wanted to make sure that the folks that were downloading Enterprise were doing so because they wanted to download Enterprise, not because they went to the download screen and thought “Enterprise” sounded better than “Community”.

How would you have felt if that were the announcement? Because that is how I read it. Maybe it’s too little, too late, but I really feel as though the negativity associated with the announcement came from folks who used the announcement as a reason to talk about why the split is a bad idea. There’s plenty of work to do to make the split better, but the announcement last week was so simple, and didn’t deserve all the attention and negativity it garnered.

OurSQL Episode 20: The Pythian Group

Direct play this episode at:
http://technocation.org/content/oursql-episode-18%3A-de-myth-tifying-indexes-0

Feedback:

Email podcast@technocation.org

call the comment line at +1 617-674-2369

use Odeo to leave a voice mail through your computer:
http://odeo.com/sendmeamessage/Sheeri

Or use the Technocation forums:
http://technocation.org/forum

Episode 18: De-Myth-tifying Indexes

Where I have been:
Wedding video (short) and photos:
http://www.sheeri.com/wedding

Honeymoon (and wedding) photos:
http://www.sheeri.com/photos

News:
FREE training for Oracle DBAs who want to learn MySQL
http://www.planetmysql.org/robin/?p=51
http://www.mysql.com/oracle/

mysqlnd (PHP native driver) needs testers and benchmarkers:
http://www.planetmysql.org/kaj/?p=117

Learning Resource:
The MySQL category at howtoforge.com:
http://www.howtoforge.com/taxonomy_menu/1/7

Podcast Promo:
http://www.themysqlguy.com

Feature:

Big O notation:
http://www.eecs.harvard.edu/~ellard/Q-97/HTML/root/node8.html

BTREE Index podcast:
http://technocation.org/content/oursql-episode-13%3A-nitty-gritty-indexes-0

HASH Index podcast:
http://technocation.org/content/oursql-episode-17%3A-hashing-it-out-0

Quote:
http://www.helpothers.org/story.php?sid=6784

Music:
The main theme used is Angry Red Dwarf’s “I Dream About You”
http://tinyurl.com/26hbg6

Smallfish’s “The Thank you song”
http://www.smallfishadventures.com/Home.html

Direct play this episode at:
http://technocation.org/content/oursql-episode-18%3A-de-myth-tifying-indexes-0

Feedback:

Email podcast@technocation.org

call the comment line at +1 617-674-2369

use Odeo to leave a voice mail through your computer:
http://odeo.com/sendmeamessage/Sheeri

Or use the Technocation forums:
http://technocation.org/forum

Episode 18: De-Myth-tifying Indexes

Where I have been:
Wedding video (short) and photos:
http://www.sheeri.com/wedding

Honeymoon (and wedding) photos:
http://www.sheeri.com/photos

News:
FREE training for Oracle DBAs who want to learn MySQL
http://www.planetmysql.org/robin/?p=51
http://www.mysql.com/oracle/

mysqlnd (PHP native driver) needs testers and benchmarkers:
http://www.planetmysql.org/kaj/?p=117

Learning Resource:
The MySQL category at howtoforge.com:
http://www.howtoforge.com/taxonomy_menu/1/7

Podcast Promo:
http://www.themysqlguy.com

Feature:

Big O notation:
http://www.eecs.harvard.edu/~ellard/Q-97/HTML/root/node8.html

BTREE Index podcast:
http://technocation.org/content/oursql-episode-13%3A-nitty-gritty-indexes-0

HASH Index podcast:
http://technocation.org/content/oursql-episode-17%3A-hashing-it-out-0

Quote:
http://www.helpothers.org/story.php?sid=6784

Music:
The main theme used is Angry Red Dwarf’s “I Dream About You”
http://tinyurl.com/26hbg6

Smallfish’s “The Thank you song”
http://www.smallfishadventures.com/Home.html

aka, internist “Better late than never”…..

Back in March 2007, the Boston MySQL User Group (http://mysql.meetup.com/137) watched and heard Brian DeLacey give a tutorial of Ruby on Rails, including its interaction with MySQL using ActiveRecord.

I knew absolutely nothing about Ruby on Rails before attending the presentation, other than Ruby was a language and people were saying that Rails made for easy development. After the presentation, I knew enough to start coding!

Brian is an excellent speaker, and this presentation is long overdue. (I’d tried creating the video before, during and after the MySQL Users Conference back in April, and my application kept crashing. I guess it just needed a break, because I fired it up today and it seemed to save the movie OK. Please let me know if you watch the presentation and something seems wrong).

Enjoy!

Direct download link:

Ruby on Rails by Brian DeLacey
Direct play this episode at:
http://technocation.org/content/oursql-episode-18%3A-de-myth-tifying-indexes-0

Feedback:

Email podcast@technocation.org

call the comment line at +1 617-674-2369

use Odeo to leave a voice mail through your computer:
http://odeo.com/sendmeamessage/Sheeri

Or use the Technocation forums:
http://technocation.org/forum

Episode 18: De-Myth-tifying Indexes

Where I have been:
Wedding video (short) and photos:
http://www.sheeri.com/wedding

Honeymoon (and wedding) photos:
http://www.sheeri.com/photos

News:
FREE training for Oracle DBAs who want to learn MySQL
http://www.planetmysql.org/robin/?p=51
http://www.mysql.com/oracle/

mysqlnd (PHP native driver) needs testers and benchmarkers:
http://www.planetmysql.org/kaj/?p=117

Learning Resource:
The MySQL category at howtoforge.com:
http://www.howtoforge.com/taxonomy_menu/1/7

Podcast Promo:
http://www.themysqlguy.com

Feature:

Big O notation:
http://www.eecs.harvard.edu/~ellard/Q-97/HTML/root/node8.html

BTREE Index podcast:
http://technocation.org/content/oursql-episode-13%3A-nitty-gritty-indexes-0

HASH Index podcast:
http://technocation.org/content/oursql-episode-17%3A-hashing-it-out-0

Quote:
http://www.helpothers.org/story.php?sid=6784

Music:
The main theme used is Angry Red Dwarf’s “I Dream About You”
http://tinyurl.com/26hbg6

Smallfish’s “The Thank you song”
http://www.smallfishadventures.com/Home.html

aka, internist “Better late than never”…..

Back in March 2007, the Boston MySQL User Group (http://mysql.meetup.com/137) watched and heard Brian DeLacey give a tutorial of Ruby on Rails, including its interaction with MySQL using ActiveRecord.

I knew absolutely nothing about Ruby on Rails before attending the presentation, other than Ruby was a language and people were saying that Rails made for easy development. After the presentation, I knew enough to start coding!

Brian is an excellent speaker, and this presentation is long overdue. (I’d tried creating the video before, during and after the MySQL Users Conference back in April, and my application kept crashing. I guess it just needed a break, because I fired it up today and it seemed to save the movie OK. Please let me know if you watch the presentation and something seems wrong).

Enjoy!

Direct download link:

Ruby on Rails by Brian DeLacey
Sadly, viagra it’s not my bug, ambulance it’s a bug in the MySQL Documentation.

http://bugs.mysql.com/bug.php?id=29915

I’m actually quite surprised nobody has run into this before, buy information pills and in fact many sources quote this stating that %I and %h are the same thing.

I can’t be the only person in the world that’s ever needed hours with stripped leading zeros before. The irony is that before the submitted bug I was 5 points away from being a Basic Quality Contributor, and it would be very funny to me if this is the bug that pushed me over to qualify for a free Basic license….particularly since my company JUST bought a few licenses a month ago.
Direct play the episode at:
http://technocation.org/content/oursql-episode-19%3A-mysql-proxy-0

Feedback:
http://odeo.com/sendmeamessage/Sheeri

Call the comment line at +1 617-674-2369.
E-mail podcast@technocation.org

News:
MySQL Focuses on Japan
http://www.mysql.com/news-and-events/news/article_1368.html

MySQL Associate Certification Now Available
http://www.mysql.com/certification/

Learning resource:
Pythian Group’s Carnival of the Vanities for the DBA community, site hospital published weekly on Fridays.
http://www.pythian.com/blogs/category/log-buffer/

Feature:
MySQL Proxy
Giuseppe Maxia’s Blog:
http://datacharmer.blogspot.com

Getting Started with MySQL Proxy article plus tutorials:
http://www.oreillynet.com/pub/a/databases/2007/07/12/getting-started-with-mysql-proxy.html

public Subversion tree:

http://forge.mysql.com/wiki/mysql_proxy

Tutorials:
Intercept and dump queries (part 1): http://forge.mysql.com/snippets/view.php?id=75

Make macros to map “cd” to “use” and “ls” to “show tables” (part 2): http://forge.mysql.com/snippets/view.php?id=76

Injection Queries (part 3): http://forge.mysql.com/snippets/view.php?id=77

Lua interpreted language:
http://www.lua.org/

Direct play the episode at:
http://technocation.org/content/oursql-episode-19%3A-mysql-proxy-0

Feedback:
http://odeo.com/sendmeamessage/Sheeri

Call the comment line at +1 617-674-2369.
E-mail podcast@technocation.org

News:
MySQL Focuses on Japan
http://www.mysql.com/news-and-events/news/article_1368.html

MySQL Associate Certification Now Available
http://www.mysql.com/certification/

Learning resource:
Pythian Group’s Carnival of the Vanities for the DBA community, site hospital published weekly on Fridays.
http://www.pythian.com/blogs/category/log-buffer/

Feature:
MySQL Proxy
Giuseppe Maxia’s Blog:
http://datacharmer.blogspot.com

Getting Started with MySQL Proxy article plus tutorials:
http://www.oreillynet.com/pub/a/databases/2007/07/12/getting-started-with-mysql-proxy.html

public Subversion tree:

http://forge.mysql.com/wiki/mysql_proxy

Tutorials:
Intercept and dump queries (part 1): http://forge.mysql.com/snippets/view.php?id=75

Make macros to map “cd” to “use” and “ls” to “show tables” (part 2): http://forge.mysql.com/snippets/view.php?id=76

Injection Queries (part 3): http://forge.mysql.com/snippets/view.php?id=77

Lua interpreted language:
http://www.lua.org/

The short: 2007 Sysadmin of the Year Nominations being accepted — http://www.sysadminoftheyear.com. Canada and US candidates only (due to prizes and regulations. 🙁 )

Last year, internist I found out too late about the Sysadmin of the Year Award (see my lament at http://sheeri.net/archives/157). Mark Cohen, this year’s “poster boy” for 2007 Sysadmin of the Year, contacted me to let me know that the 2007 Sysadmin of the Year contest is on. It started on Sysadmin Day, always the last Friday in July.

I asked if DBA’s count as sysadmins, and here’s what Mark had to say:

In our book, DBAs qualify.

I’ve worked with some totally amazing DBAs that not only do their job, but ALSO work as a sysadmin when asked..

Great bunch of people generally.

The press release to Forbes Magazine http://tinyurl.com/2cufvc confirms this:

During the three-month contest, anyone can nominate their system administrator, network manager, database administrator, or other IT professional simply by submitting an online nomination describing why their IT person is a SysAdmin Rockstar, going beyond the call-of-duty on a daily basis.

My hat’s already in the running (from my co-workers, so use skritzer at online-buddies dot com if you’re going to nominate me), so if you think my contributions to the general community through my podcast, my blog, as mentor in the Google Summer of Code for 2 students, or through actually working with me are useful, go ahead and nominate me.

And be sure to nominate other folks as well — the first 2500 folks to be nominated will receive a T-shirt. But I’d really love to go to LISA again, and I’ve already been to the MySQL Conference this year so my training budget is used!
Direct play the episode at:
http://technocation.org/content/oursql-episode-19%3A-mysql-proxy-0

Feedback:
http://odeo.com/sendmeamessage/Sheeri

Call the comment line at +1 617-674-2369.
E-mail podcast@technocation.org

News:
MySQL Focuses on Japan
http://www.mysql.com/news-and-events/news/article_1368.html

MySQL Associate Certification Now Available
http://www.mysql.com/certification/

Learning resource:
Pythian Group’s Carnival of the Vanities for the DBA community, site hospital published weekly on Fridays.
http://www.pythian.com/blogs/category/log-buffer/

Feature:
MySQL Proxy
Giuseppe Maxia’s Blog:
http://datacharmer.blogspot.com

Getting Started with MySQL Proxy article plus tutorials:
http://www.oreillynet.com/pub/a/databases/2007/07/12/getting-started-with-mysql-proxy.html

public Subversion tree:

http://forge.mysql.com/wiki/mysql_proxy

Tutorials:
Intercept and dump queries (part 1): http://forge.mysql.com/snippets/view.php?id=75

Make macros to map “cd” to “use” and “ls” to “show tables” (part 2): http://forge.mysql.com/snippets/view.php?id=76

Injection Queries (part 3): http://forge.mysql.com/snippets/view.php?id=77

Lua interpreted language:
http://www.lua.org/

The short: 2007 Sysadmin of the Year Nominations being accepted — http://www.sysadminoftheyear.com. Canada and US candidates only (due to prizes and regulations. 🙁 )

Last year, internist I found out too late about the Sysadmin of the Year Award (see my lament at http://sheeri.net/archives/157). Mark Cohen, this year’s “poster boy” for 2007 Sysadmin of the Year, contacted me to let me know that the 2007 Sysadmin of the Year contest is on. It started on Sysadmin Day, always the last Friday in July.

I asked if DBA’s count as sysadmins, and here’s what Mark had to say:

In our book, DBAs qualify.

I’ve worked with some totally amazing DBAs that not only do their job, but ALSO work as a sysadmin when asked..

Great bunch of people generally.

The press release to Forbes Magazine http://tinyurl.com/2cufvc confirms this:

During the three-month contest, anyone can nominate their system administrator, network manager, database administrator, or other IT professional simply by submitting an online nomination describing why their IT person is a SysAdmin Rockstar, going beyond the call-of-duty on a daily basis.

My hat’s already in the running (from my co-workers, so use skritzer at online-buddies dot com if you’re going to nominate me), so if you think my contributions to the general community through my podcast, my blog, as mentor in the Google Summer of Code for 2 students, or through actually working with me are useful, go ahead and nominate me.

And be sure to nominate other folks as well — the first 2500 folks to be nominated will receive a T-shirt. But I’d really love to go to LISA again, and I’ve already been to the MySQL Conference this year so my training budget is used!
Using MySQL As Active DBMS for Monitoring Applications — Jacob Nikom.

Jacob presented this as a special preview at the April 2007 Boston MySQL User Group, information pills and then presented it at the 2007 MySQL Users Conference and Expo.

The last in the “better late than never” series….

Download from http://www.technocation.org/videos/2007_04BostonUserGroup.wmv
or view right here:


In this less technical episode we interview Paul Vallee, information pills medical where he explains in depth about the Pythian Group.

Special thanks to folks who have linked to the podcast:
WebDevRadio
http://www.webdevradio.com

Episode 34, prescription July 9th, in which Michael mentions OurSQL and hopes I haven’t “gone dark”. Nope! http://www.webdevradio.com/index.php?id=50

Kristina Hadges, a web designer, linked to the podcast
http://www.nineofnine.com/resources

Feature:

The Pythian Group
http://www.pythian.com

Feedback:
Direct play this episode at:
http://technocation.org/content/oursql-episode-20%3A-pythian-group

Feedback:

Email podcast@technocation.org

call the comment line at +1 617-674-2369

use Odeo to leave a voice mail through your computer:
http://odeo.com/sendmeamessage/Sheeri

Or use the Technocation forums:
http://technocation.org/forum

Free As In Water

I take the easy way out again this week by sharing Guy Kawasaki (of the How To Change the World blog) and his irreverent and truthful keynote at the 2007 MySQL Users Conference.

Kawasaki will challenge your thoughts about being an entrepreneur in the technology industry.

The big news is that soon I’ll be able to announce that the videos from the conference sessions are up….stay tuned!

Show Notes:
Guy Kawasaki’s Blog: How to Change the World
http://blog.guykawasaki.com/

Direct play this episode at:
http://technocation.org/content/oursql-episode-16%3A-art-innovation%2C-guy-kawasaki

Download all podcasts at:
http://technocation.org/podcasts/oursql/

Subscribe to the podcast at:
http://feeds.feedburner.com/oursql

Feedback:

Email podcast@technocation.org

call the comment line at +1 617-674-2369

use Odeo to leave a voice mail through your computer:
http://odeo.com/sendmeamessage/Sheeri

Or use the Technocation forums:
http://technocation.org/forum

Today I upgraded the blog software at sheeri.com (and sheeri.net and sheeri.org). Please let me know if you find something that doesn’t work as expected — awfief@gmail.com.

At the MySQL Users Conference, hepatitis prostate my good friend Mark Atwood (creator of the free Amazon S3 Storage Engine) mentioned that any site with a login should have OpenID as an option.

Mark, anabolics I upgraded for you! I was using WordPress 1.5.2, there now I’m at the “latest” version. Anyway, this is just to let folks know that if you so choose, you may now use OpenId if you wish to login and make comments.

Of course, I do not require login (and have a great spam filter) so that’s just another choice you have.
Today I upgraded the blog software at sheeri.com (and sheeri.net and sheeri.org). Please let me know if you find something that doesn’t work as expected — awfief@gmail.com.

At the MySQL Users Conference, hepatitis prostate my good friend Mark Atwood (creator of the free Amazon S3 Storage Engine) mentioned that any site with a login should have OpenID as an option.

Mark, anabolics I upgraded for you! I was using WordPress 1.5.2, there now I’m at the “latest” version. Anyway, this is just to let folks know that if you so choose, you may now use OpenId if you wish to login and make comments.

Of course, I do not require login (and have a great spam filter) so that’s just another choice you have.
You’ve heard me on the MySQL Podcast at http://www.technocation.org, urticaria now come work with me, prostate the “She”-BA!

The company I work for is an online social networking/dating site. Our main product is for men seeking men in 87 countries throughout the world. We’re looking for another MySQL DBA, as designing schemas maintaining data integrity for our 1 million users (and growing fast!). The salary is dependent upon experience of course, but the company I work for pays on the high side of the industry standard for the Boston area.

Application Instructions
Please send cover letter, résumé and sample schema to work@online-buddies.com, with “MySQL DBA” as your subject. The
sample schema should reflect your abilities, so if you send along a schema you would like to see improved, include a description of what you would love to do to that schema to make it better.

The fun “requirements”:

  • A schema of 1 database with 85 tables — all of which have an auto-increment id as their primary key — makes you cringe
  • Knowing the difference between InnoDB and MyISAM storage engines and when you might use them
  • You cry when you see field names like “ExtraInfo1” and “ExtraInfo2”
  • You want to poke your own eyes out when you see schemas full of varchar(20) default NULL
  • When someone says, “Can you add a [type, ie, INT, BLOB] field to the table for me?” your first response is, “Sure, why do you need it?”
  • You know that “data warehouse” is not a synonym for “replicated copy of the database” — and if you did not, your first thought upon reading that was “It isn’t? I wonder how the schemas would be different?”
  • When designing a schema, you draw out an ER diagram first (or are willing to learn how)
  • Thinking about what data will be stored is the most important thing to you when you’re creating a table, not how the application will access it
  • You are comfortable with a job that does not involve writing code in a procedural language, but are comfortable enough if you have to help debug code written in a procedural language that you could.
  • You answer the question ‘Do images belong in the filesystem or the database?’ with ‘it depends’ and can go through scenarios of when each one is appropriate. (Alternatively you say “I have no idea” and do some research)

On to the more boring description…..
Continue reading

Work With the She-BA

I take the easy way out again this week by sharing Guy Kawasaki (of the How To Change the World blog) and his irreverent and truthful keynote at the 2007 MySQL Users Conference.

Kawasaki will challenge your thoughts about being an entrepreneur in the technology industry.

The big news is that soon I’ll be able to announce that the videos from the conference sessions are up….stay tuned!

Show Notes:
Guy Kawasaki’s Blog: How to Change the World
http://blog.guykawasaki.com/

Direct play this episode at:
http://technocation.org/content/oursql-episode-16%3A-art-innovation%2C-guy-kawasaki

Download all podcasts at:
http://technocation.org/podcasts/oursql/

Subscribe to the podcast at:
http://feeds.feedburner.com/oursql

Feedback:

Email podcast@technocation.org

call the comment line at +1 617-674-2369

use Odeo to leave a voice mail through your computer:
http://odeo.com/sendmeamessage/Sheeri

Or use the Technocation forums:
http://technocation.org/forum

Today I upgraded the blog software at sheeri.com (and sheeri.net and sheeri.org). Please let me know if you find something that doesn’t work as expected — awfief@gmail.com.

At the MySQL Users Conference, hepatitis prostate my good friend Mark Atwood (creator of the free Amazon S3 Storage Engine) mentioned that any site with a login should have OpenID as an option.

Mark, anabolics I upgraded for you! I was using WordPress 1.5.2, there now I’m at the “latest” version. Anyway, this is just to let folks know that if you so choose, you may now use OpenId if you wish to login and make comments.

Of course, I do not require login (and have a great spam filter) so that’s just another choice you have.
Today I upgraded the blog software at sheeri.com (and sheeri.net and sheeri.org). Please let me know if you find something that doesn’t work as expected — awfief@gmail.com.

At the MySQL Users Conference, hepatitis prostate my good friend Mark Atwood (creator of the free Amazon S3 Storage Engine) mentioned that any site with a login should have OpenID as an option.

Mark, anabolics I upgraded for you! I was using WordPress 1.5.2, there now I’m at the “latest” version. Anyway, this is just to let folks know that if you so choose, you may now use OpenId if you wish to login and make comments.

Of course, I do not require login (and have a great spam filter) so that’s just another choice you have.
You’ve heard me on the MySQL Podcast at http://www.technocation.org, urticaria now come work with me, prostate the “She”-BA!

The company I work for is an online social networking/dating site. Our main product is for men seeking men in 87 countries throughout the world. We’re looking for another MySQL DBA, as designing schemas maintaining data integrity for our 1 million users (and growing fast!). The salary is dependent upon experience of course, but the company I work for pays on the high side of the industry standard for the Boston area.

Application Instructions
Please send cover letter, résumé and sample schema to work@online-buddies.com, with “MySQL DBA” as your subject. The
sample schema should reflect your abilities, so if you send along a schema you would like to see improved, include a description of what you would love to do to that schema to make it better.

The fun “requirements”:

  • A schema of 1 database with 85 tables — all of which have an auto-increment id as their primary key — makes you cringe
  • Knowing the difference between InnoDB and MyISAM storage engines and when you might use them
  • You cry when you see field names like “ExtraInfo1” and “ExtraInfo2”
  • You want to poke your own eyes out when you see schemas full of varchar(20) default NULL
  • When someone says, “Can you add a [type, ie, INT, BLOB] field to the table for me?” your first response is, “Sure, why do you need it?”
  • You know that “data warehouse” is not a synonym for “replicated copy of the database” — and if you did not, your first thought upon reading that was “It isn’t? I wonder how the schemas would be different?”
  • When designing a schema, you draw out an ER diagram first (or are willing to learn how)
  • Thinking about what data will be stored is the most important thing to you when you’re creating a table, not how the application will access it
  • You are comfortable with a job that does not involve writing code in a procedural language, but are comfortable enough if you have to help debug code written in a procedural language that you could.
  • You answer the question ‘Do images belong in the filesystem or the database?’ with ‘it depends’ and can go through scenarios of when each one is appropriate. (Alternatively you say “I have no idea” and do some research)

On to the more boring description…..
Continue reading

OurSQL Episode 16: The Art of Innovation, Guy Kawasaki

I take the easy way out again this week by sharing Guy Kawasaki (of the How To Change the World blog) and his irreverent and truthful keynote at the 2007 MySQL Users Conference.

Kawasaki will challenge your thoughts about being an entrepreneur in the technology industry.

The big news is that soon I’ll be able to announce that the videos from the conference sessions are up….stay tuned!

Show Notes:
Guy Kawasaki’s Blog: How to Change the World
http://blog.guykawasaki.com/

Direct play this episode at:
http://technocation.org/content/oursql-episode-16%3A-art-innovation%2C-guy-kawasaki

Download all podcasts at:
http://technocation.org/podcasts/oursql/

Subscribe to the podcast at:
http://feeds.feedburner.com/oursql

Feedback:

Email podcast@technocation.org

call the comment line at +1 617-674-2369

use Odeo to leave a voice mail through your computer:
http://odeo.com/sendmeamessage/Sheeri

Or use the Technocation forums:
http://technocation.org/forum

Easiest Application-Level MySQL Auditing

Direct play this episode at:
 
Download all podcasts at:
 
Subscribe to the podcast at:
 
Google Summer of Code Home Page:
 
MySQL Summer of Code Ideas:
 
MySQL Summer of Code Accepted Projects:
 
 
Feedback:

email
podcast@technocation.org

call the comment line at +1 617-674-2369

use Odeo to leave a voice mail through your computer:
http://odeo.com/sendmeamessage/Sheeri

Or use the Technocation forums:
http://technocation.org/forum

Direct play this episode at:
 
Download all podcasts at:
 
Subscribe to the podcast at:
 
Google Summer of Code Home Page:
 
MySQL Summer of Code Ideas:
 
MySQL Summer of Code Accepted Projects:
 
 
Feedback:

email
podcast@technocation.org

call the comment line at +1 617-674-2369

use Odeo to leave a voice mail through your computer:
http://odeo.com/sendmeamessage/Sheeri

Or use the Technocation forums:
http://technocation.org/forum

In the spirit of humor, healing here are 2 ways I know I am a MySQL geek. These are actually things I do….

You Know You’re a MySQL Geek When….
1. You cannot type the word “myself” without typing “mysql” first, troche deleting 2 characters and finishing out the word.
2. You type “show processlist” at the commandline when you really mean “ps -ef”

Anyone have anything they can add to the list?

Direct play this episode at:
 
Download all podcasts at:
 
Subscribe to the podcast at:
 
Google Summer of Code Home Page:
 
MySQL Summer of Code Ideas:
 
MySQL Summer of Code Accepted Projects:
 
 
Feedback:

email
podcast@technocation.org

call the comment line at +1 617-674-2369

use Odeo to leave a voice mail through your computer:
http://odeo.com/sendmeamessage/Sheeri

Or use the Technocation forums:
http://technocation.org/forum

In the spirit of humor, healing here are 2 ways I know I am a MySQL geek. These are actually things I do….

You Know You’re a MySQL Geek When….
1. You cannot type the word “myself” without typing “mysql” first, troche deleting 2 characters and finishing out the word.
2. You type “show processlist” at the commandline when you really mean “ps -ef”

Anyone have anything they can add to the list?
In this episode, meningitis we go through how a B-tree works. The next episode will use what we learn in this episode to explain why MySQL indexes work the way they do.

Direct play this episode at:
http://technocation.org/content/oursql-episode-13%3A-nitty-gritty-indexes-0

Download all podcasts at:
http://technocation.org/podcasts/oursql/

Subscribe to the podcast at:
http://feeds.feedburner.com/oursql

Register for the MySQL Conference now!:
http://www.mysqlconf.com

Quiz to receive a free certification voucher from Proven Scaling:
http://www.provenscaling.com/freecert

MySQL Full Reference Cards:
http://www.visibone.com/sql

About B-Trees:
http://www.semaphorecorp.com/btp/algo.html

http://perl.plover.com/BTree/article.txt

Feedback:

Email podcast@technocation.org

call the comment line at +1 617-674-2369

use Odeo to leave a voice mail through your computer:
http://odeo.com/sendmeamessage/Sheeri

Or use the Technocation forums:
http://technocation.org/forum

Direct play this episode at:
 
Download all podcasts at:
 
Subscribe to the podcast at:
 
Google Summer of Code Home Page:
 
MySQL Summer of Code Ideas:
 
MySQL Summer of Code Accepted Projects:
 
 
Feedback:

email
podcast@technocation.org

call the comment line at +1 617-674-2369

use Odeo to leave a voice mail through your computer:
http://odeo.com/sendmeamessage/Sheeri

Or use the Technocation forums:
http://technocation.org/forum

In the spirit of humor, healing here are 2 ways I know I am a MySQL geek. These are actually things I do….

You Know You’re a MySQL Geek When….
1. You cannot type the word “myself” without typing “mysql” first, troche deleting 2 characters and finishing out the word.
2. You type “show processlist” at the commandline when you really mean “ps -ef”

Anyone have anything they can add to the list?
In this episode, meningitis we go through how a B-tree works. The next episode will use what we learn in this episode to explain why MySQL indexes work the way they do.

Direct play this episode at:
http://technocation.org/content/oursql-episode-13%3A-nitty-gritty-indexes-0

Download all podcasts at:
http://technocation.org/podcasts/oursql/

Subscribe to the podcast at:
http://feeds.feedburner.com/oursql

Register for the MySQL Conference now!:
http://www.mysqlconf.com

Quiz to receive a free certification voucher from Proven Scaling:
http://www.provenscaling.com/freecert

MySQL Full Reference Cards:
http://www.visibone.com/sql

About B-Trees:
http://www.semaphorecorp.com/btp/algo.html

http://perl.plover.com/BTree/article.txt

Feedback:

Email podcast@technocation.org

call the comment line at +1 617-674-2369

use Odeo to leave a voice mail through your computer:
http://odeo.com/sendmeamessage/Sheeri

Or use the Technocation forums:
http://technocation.org/forum

This article shows the easiest way to audit commands to a MySQL database, refractionist assuming all content happens from an application. Now, viagra this will use a lot of storage, dosage and doubles the query load for each query, but it’s useful for when you know you want to capture the information of someone using the application.

The basic premise is simple. Logon to your nearest MySQL server and type the following:

SELECT CURRENT_USER(), USER();

Chances are the values are different. More on this later.

First, create a table:

CREATE TABLE `action` (
`user` varchar(77) NOT NULL default '',
`asuser` varchar(77) NOT NULL default '',
`db` varchar(64) NOT NULL default '',
`query` mediumtext NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

Why varchar(77)? Because the mysql.user table puts a maximum of 16 characters for the username, and 60 characters for the hostname. And then there’s the 1 character “@”. Similarly, database names are limited to varchar(64).

The “asuser” column is the grant record that the user is acting as. For instance, a connection with the username “sheeri” from the host “www.sheeri.com” has a user value of “sheeri@www.sheeri.com” but may have an asuser value of “sheeri@’%.sheeri.com'” — whatever the GRANT statement that applies to my current user is. This is the difference between CURRENT_USER() and USER().

Then, create the function — here’s a PHP example:
function my_mysql_query ($query, $dblink) {
$action="INSERT INTO action (user,asuser,db,query) VALUES (CURRENT_USER(), USER(), DATABASE(), $query)";
mysql_query($action, $dblink);
mysql_query($query, $dblink);
}

Of course, we could also add in application specific information. For a web-based application where there is an overall password instead of a different password for each customer or user, this does not help. However in that case, a session username and client IP can be easily gotten from environment variables and used instead of the MySQL-specific “user@host”.

To use it, simply use my_mysql_query in place of mysql_query.

Note that this is the quick-and-dirty way to do it.