How do you move your web servers to another
location with no downtime?
The answer: the magic of MySQL Master-Master Replication
So, we are in the process of moving our web servers to another
location. As usual, we would prefer to move them without anyone
really noticing. What we have done is set up a skeleton of web
servers in the new location as well as one database server.
Now the trick is, to move without anyone knowing it AND that
everything else continues working. In this example, the original
location has servers that query the database if there are any new
orders and process them. So it is important to keep all the parts
of the system running by continually updating the database in the
original location. …
I wrote before about SIGNAL and RESIGNAL, and I wrote these
worklog tasks that you can see on forge:
WL#2110: Stored Procedures: Implement SIGNAL
http://forge.mysql.com/worklog/task.php?id=2110
WL#2265: Stored Procedures: Implement RESIGNAL
http://forge.mysql.com/worklog/task.php?id=2265
This is the feature that lets you write your own errors, or
change texts in existing error messages.
Today’s news is: my colleague Marc Alff has put the feature in
the “main” 6.0 tree. This means it will
be downloadable from source within a few days, and will be part
of the next 6.0 binary download.
Merlin is MySQL’s Enterprise Monitor, a system designed to monitor a number of MySQL database servers and provide useful feedback to the DBAs as to how they are running and what things may require attention.
It provides various things:
- graphs of key database and server performance indicators: load average, cpu usage and mysql specific information such as number of database connections, replication delays, buffer usage statistics, etc…
- a set of advisors which are intended to tell you if things are not configured properly and what to do to correct the problem.
- monitoring of servers which are linked together through replication
- the latest version of merlin (v2.0, which has been available since the beginning of the year) additionally adds via mysql proxy the ability to see all the queries which are …
Are you using someone else's backup solution for your MySQL data? Do you care a lot about your data? Are you sure you're getting a reliable, recoverable backup that'll work for your business and your application, and won't impact your critical processes while it runs? Here are ten questions you need to be able to answer:
- Does the backup require shutting down MySQL? If not, what is the impact on the running server? Blocking, I/O load, cache pollution, etc?
- What technique is used for the backup? Is it mysqldump or a custom product that does something similar? Is it a filesystem copy?
- Does the backup system understand that you cannot back up InnoDB by simply copying its files?
- Does the backup use FLUSH TABLES, LOCK TABLES, or FLUSH TABLES WITH READ LOCK? These all interrupt processing.
- What other effects are there on MySQL? I've seen systems that do a RESET MASTER, which …
Do you want a SPOCK tee shirt? Read on:
I’m going to give a talk on Spockproxy (a sharding / connection pooling only version of MySQL proxy) at the MySQL conference and as I prepare I’m looking to give my talk broad appeal and try to address all kinds of problems folks might have sharding their databases.
So I’m throwing this question out to the MySQL community – Have you looked into sharding your database(s)? Did you come up against problems that were difficult to solve? Please take a moment and let me know about them. I’d like to address how to fix them with Spockproxy. Even if you’ve solved these issues already or have no intension of using Spockproxy your problems could be interesting to others; add your sharding problem(s) in the comment below and look for me …
[Read more]We are having a developer day on the Friday after the MySQL Conference and Expo. Space is limited, so please be sure to sign up on the Drizzle.org wiki if you plan to attend. Here are some of the things I will be talking about:
- The benefits of a ValueObject hierarchy
- A reentrant Flex-derived lexer
- Using Lemon as a reentrant parser replacement for Bison in Drizzle
- Replacing CHARSET_INFO with standard C++ locales and facets
- Debugging Drizzle with GDB - A tutorial for those new to developing with Drizzle's build tools
- Profiling Drizzle with GProf, OProfile, and cachegrind
See you there.
Last night I attended the San Francisco MySQL Meetup Group to hear Brian Aker talk about Drizzle. Heretofore, I was generally uninterested in Drizzle because I didn’t pay enough attention to what it was actually trying to accomplish. After his presentation, I am anxious to play with it in a meaningful way! [...]
A useful attribute of all open source tools is the ability to
download and start evaluating the software immediately to see if
it fits the requirements. There is no vendor involvement slowing
the process of evaluation.
Bloor research published a report comparing costs of various data
integration products but one of the more interesting items isn't
about cost - it's the average time required for a company to
evaluate various data integration products. Open source is the
clear winner here.
Figure: Person-weeks required for evaluation. Source: Bloor
Research
When working with proprietary software vendors, trials and proofs
of concept require management involvement and multiple levels of
approval. The legal department is often involved since there's
usually a trial license agreement. The process is not under the
developer's control, the schedule is governed by vendor terms and
the process …
Hi all,
When I'm not sitting in front of a computer for work, I find myself sitting in front of a computer when I'm not working. And usually I;m messing around with something that I shouldn't have started messing around with.
MediaWiki
I manage the alumni site for my former military unit. I started the site in 2000, and it has grown tremendously to include 250 registered alumni. Not bad, eh? I'm constantly looking for ways to improve the site. I've had a guestbook and message board since the beginning, and I've also experimented with live chat (which wasn't so popular). I work a lot of hours for Sun, and it has become increasingly difficult to keep the site updated, especially the contact information for the 250 alumni. So I had what I thought was a brilliant idea: I'll create a wiki where members can keep their own contact information updated. I was a lot of work, but I finally got it up and running. This is what …
[Read more]Version 1.0.3-alpha of the MySQL Connector/C++ has just been announced by Lawrin Novitsky and is now available for download. This driver is licensed under the GPL and is a new implementation of the MySQL Client/Server protocol. Instead of wrapping the C API calls in C++ methods, the implementation mimics the JDBC API, which hopefully feels much more "native" to a seasoned C++ developer.
The driver has been ported to a wide range of platforms and is about to hit the beta test phase. So if you're writing a C++ application that needs to connect to a MySQL Server, give it a try! The developers are always looking for …
[Read more]