I created MySQL Table Checksum because I was certain replication replicas were slowly drifting out of sync with their masters, and there was no way to prove it. Once I could prove it, I was able to show that replication gets out of sync for lots of people, lots of times. (If you really want to hear war stories, you should probably talk to one of the MySQL support staff or consulting team members; I’m sure they see this a lot more than I do).
On Nov 1, I started an undefined duration gig with MySQL Inc, as part of
their Professional Services Department, with an emphasis on
Storage Engines.
Mainly, this means I will write, tweak, and certify custom
storage engines for specific MySQL users. My main job will not
involve writing stuff that goes into the regular codebase, but
who knows?
Just recently I seem to have noticed an increased number of mysterious crashes and terminations of applications. This is generally on brand new systems that I’m setting up, or on existing systems where I’m setting up a new or duplicate account.
Initially everything is fine, but then all of a sudden as I start syncing over my files, shell profile and so on applications will stop working. I’ve experienced it in MySQL, and more recently when starting up Gnome on Solaris 10 9/07.
Sometimes the problem is obvious, other times it takes me a while
to realize what is happening and causing the problem. But in all
cases it’s the same problem - my TMPDIR environment
variable points to a directory that doesn't exist. That's because
for historical reasons (mostly related to HP-UX, bad permissions
and global tmp directories) I've always set TMPDIR to a directory
within my home directory. It's just a one of those things I've
had in …
Back in April I was thinking "Excellent! I will have the memcache
engine beta for the MySQL User's Conference!"
Nix that idea. What happened? We ran the first benchmark on the
engine and while it did very well against other engines (aka
kicked a number of their asses) it was completely unstable. The
library which I had been fighting with all along that allowed me
to communicate with the memcached servers leaked memory and was
just too unstable.
At the time I was told that a new library was going to be made
public so I shelved the project waiting for the new
library.
And waited...
Finally got annoy with waiting and wrote my own (aka
libmemcached, http://tangent.org/552/libmemcached.html).
Which while I thought it would take me all of ten hours to write,
took much longer (thanks to Remedy Tea on 15th for providing …
Term Hallelujah! They finally added tabs. I've been using
iTerm for years now for this reason, and while it has gotten
better, it still crashes a lot. I have no idea why it took Apple
this long to fix this.
From Row They are now including this on all Macs. About
time...
Safari The new find feature makes find useable on web
pages. Simple interface change but it overall quite nice. The
"copy part of a page is dashboard" will either turn out to be one
of my new favorite features, or I will forget about it
completely. I've made a copy of some of the reporting widgets out
of Google Analytics (which was cake to do). This has the
potential to make Dashboard useful for me.
Time Machine I am finding myself a little bit scared of
this one. It keeps all of its backups in some sort of
uncompressed database. I am not sure how the Restore is supposed
to work, and not being able to just copy …
I needed to start mysql without privileges after a database restore today, and while confirming the correct option which was –skip-grant-tables I came across an option which made me laugh.
$ mysqld --verbose --help
...
--sporadic-binlog-dump-fail
Option used by mysql-test for debugging and testing of
replication.
...
And here is the Official Manual Entry
So you have accidentally removed a datafile from your production database? First thing, DON’T PANIC! There’s an easy way to recover deleted datafiles, for as long as your database remains up. The procedure below works on linux, however this method conceivably can work for other platforms. This procedure will even work if your database is [...]
If you didn’t get your proposal in for MySQL Conference 2008 , that’s too bad.
I often wondered from past conferences why submissions were needed so early, like 5 months before. Well, as being invited to be part of the MySQL Conference committee this year I now know why, and have a greater appreciation. With near 300 submissions, it takes time to review them, and this is just the first step in a number to get to a completed schedule for next years conference.
Also getting a sneak preview of what’s to come is really cool! I’m already excited.
So I have been doing some more research about Oracle - Database-assisted Web Publishing using
Java Stored Procedures from my last post and I've tried to implement it into
more manageable chunks.
I mean, you can save processed data (data that has already been
calculated and/or had some business/application logic applied to
it) in the WebCache and then re-use it instead of contacting the
database over and over again. The theory here is sound, but even
in the white papers on the subject, there has been some
reluctance about whether the cache hits will benefit the overall
performance or hinder it.
The Downside of Caching
From my experience, its sometimes impractical to save processed
data. For …
To get this straight - I'm not a big fan of filtered or partial MySQL Replication (as of version MySQL 5.0) - there is enough gotchas with replication itself and getting things right with filtering can get quite bumpy road. In some applications however it is very helpful so lets see what one should do or should not do to make it work.
Experience shared here mainly applies to logical level replication. MySQL 5.1 can use row level replication which alleviates some of these issues but I guess it will still take some time before it becomes massively used.
First thing you need to know about partial replication - you can do filtering on the Master or on the Slave. Filtering on the Slave is normally preferred as in this case you get full binary log on the Master which is not only helpful for replication needs but also if you ever need to do roll forward recovery while recovering from backup. There are however some cases when you really …
[Read more]