MySQL Replica Delay implements an oft-requested replication feature: the ability to make a replica lag its master, a.k.a scheduling binlog events for some time in the future. This will probably be built into MySQL replication someday, but in the meantime, you can use this tool. A delayed replica is great if disaster strikes and propagates through replication, because it lets you stop the delayed replica before it gets corrupted, restart the replica until just before the offending statement, and recover quickly.
In my talk “DBA Tales from the Front - from Oracle to MySQL”, I said that the terminology is different between Oracle and MySQL. I gave the example of ‘database’ vs ’schema’ and said I’d have a “cheat sheet” of terms and their differences.
Only problem is, I couldn’t find much to put on the cheat sheet besides ‘database’ and ’schema’. (There’s ‘catalog’, but I’m not really sure what Oracle OR MySQL means by it. In MySQL it sometimes seems to mean the same as ‘database’ (eg, in MySQL Administrator). I don’t remember seeing it in Oracle. I know they use it in MS SQL…)
As for ‘database’ vs ’schema’, I initially thought that a ‘database’ in MySQL was like a ’schema’ in Oracle. Why? Because you have multiple databases in an instance, and you can do selects like ’select id from scott.emp’ where ’scott’ is a database. (See? They look like schemas.)
In reality, …
[Read more]On the subject of MySQL for Oracle DBAs, I found this presentation at the mysql website:
http://www.mysql.com/why-mysql/migration/mysql_for_oracle.pdf
It gives some details that might be helpful to look into if you’ve made the switch from Oracle to MySQL.
One of the candidates for a marketing position (btw, we are looking for a very technical marketing talent, drop me a line at dj at zmanda dot com) asked me if Zmanda wants to change the world. The way I see it, our job is just opposite to changing the world. We want to keep the world the way it was. If your hardware dies or a user drops a table, we give you the ability to go back in time and to recover your file with Amanda Enterprise or your MySQL database with Zmanda Recovery Manager (ZRM).
How do we actually accomplish going back in time? Are we talking here about super-expensive and complicated Continues Data Protection (CDP) technologies? Our solution delivers the same result, but without the cost and complexity of CDP. ZRM incremental backups result in a copy of the MySQL …
[Read more]I've created a survey on SurveyMonkey that I am hoping to get a bunch of responses for. The survey will help the community team identify how (in)effectively we communicate development and other goals and also what features you, our community users, most want in future versions of MySQL. So, hey, give us ten minutes of your time and help us make MySQL better.
A Blatant Bribe for Participating
And for those who need a bribe, we'll be giving away two Apress books (each) to 3 random survey takers. The survey is anonymous, but if you would like to go into the drawing for the books, just include your email address in the very last question...otherwise, just leave it blank.
Click Here to take the 2007 Community survey
Thanks!
I run mysqldump each night on my backup slave (which is set up
with binary logging, can be used as a master in an emergency) is
there to allow us to run backups of our various schemas without
impacting the live masters. I like to create dumps that contain
information such as 'STOP SLAVE; CHANGE MASTER TO...' START
SLAVE' that can be used by even non-database guru personnel to be
able to restore a slave as quickly as possible, without having to
know the inner details of replication. Having a dump that has all
the data at a given time, and a master log file position and file
name for that point in time is the answer.
I have been using the option to "--master-data" before we had the
backup slave on both main masters in each data center. It worked
fine because it would add a 'CHANGE MASTER' statement to the dump
that set the correct master in the dump. I had another script
pre-pend 'STOP SLAVE;' (top of the dump) and append 'START
SLAVE;' …
Get a machine to run Solaris.
Download main Solaris install.
Discover that the version you really want it is called Express...
or
maybe Open Solaris... or something...
Install (pray you have a CDROM).
Then look for GNU packages.
Which means one of:
1) Getting some binaries, from somewhere on the internet, that
have a
compiler, and then download from ftp.gnu.org all of the source
for
all of the binaries you want. Recompile everything into
/usr/local/.
For GCC you may need to do this twice.
2) Get SFW packages from Sun... which are sort of useful, and
have
"most" of what you need. Those the versions are all old. See
comment
one about recompiling everything from scratch off of
ftp.gnu.org
3) Find a tool called pkg-get. It is mostly awesome, though it
has a
weird scheme for GCC. …
Alex forwarded me a link to an awesome scaling presentation by Cuong Do from YouTube about their architecture for scaling. He describes problems with massive scale-out, moving static content serving from Apache to lighttpd, how they use Python (including ways they speed it up) for the main application, certain custom C extensions for encryption, and their long road to MySQL partitioning.
A very interesting part of the presentation is Cuong's discussion of their difficulties dealing with thumbnail images for the videos. Each video has 4 thumbnails attached to it. The went through a whole series of issues in trying to scale the thumbnail serving, including hitting the ext3 files per directory limit one fateful day...
The section on scaling MySQL is a must see for anyone working on a Web 2.0 platform that can possibly see an enormous increase …
[Read more]The 56th edition of Log Buffer, the weekly compendium of database blogs, has been published on Hasan Tonguç Yilmaz’s Oracle Blog. LB always wants more editors, so please contact the Log Buffer administrator to join in the fun. Editions by Hubert Lubaczewski, Jay Pipes, and Chen Shapira are in the offing. Here is [...]
I was at MODM4 yesterday, and as always, great fun was had. One common recurring theme though, was getting MySQL to start automatically upon a Linux server’s restart, something which I would have thought just came pretty naturally to sys-admin types. Upon further probing, these systems were all generally CentOS or RHEL based, and it wasn’t just MySQL that gave them problems - it was anything they’d installed out of the stock packages (lighttpd was a popular Apache replacement, that suffered from the same fate).
While I didn’t recollect the exact part of the manual it was stored in, I was informing everyone to make use of the chkconfig tool. Its really as simple as making sure there exists a /etc/init.d/mysql (it must be executable - chmod +x), doing a …
[Read more]