On 7/13/2010 9:24 AM, alba.albetti wrote:
> I'd like to know which are the main tasks for a DBA, so in addition of the on-line
> tutorial of MySQL, is there anyone telling me whether there exists some tutorial (better
> if in PDF) where it's possible to undestand and learn all you need for managing the MySQL
> DB as DBA? I mean I'd like to read something explaining what are datafiles, tablespaces,
> ... and what usually a DBA is asked to do (creating databases, starting up and shutting
> down the database, managing the database's storage structures, making database backups and
> performing recovery, monitoring and tuning performance, ...) In other words I'd like to
> read how to manage a DB as DBA, because I've always worked only as developer and not as
You probably already have the basic skills you need. You just need to
shift your approach to the problem.
While most "developers" are more worried about putting data into a
database and finding it when they need it, the DBA has a different
philosophy. The DBA is the one entrusted to keep that data safe, to
protect the data from the bad habits of inexperienced programmers, and
to ensure that the whole system (not just the parts the users need to
touch) remain in good working order.
It's the same difference between borrowing a car to drive it and caring
for a car you own while allowing others to drive it from time to time.
Here is a very short and incomplete list of the big things you should be
able to do as a DBA:
1) Understand the backup and restore processes. Be able to perform them
2) Understand how the data is stored on the system resources. Be
prepared to relocate data to a different resource.
3) Understand how MySQL permissions work. Create and change accounts as
4) Understand how to read the MySQL performance and diagnostic reports.
When something is not working well, these are usually the first place to
look for clues. At the minimum learn how to use and understand the
EXPLAIN results; the SHOW reports; and how to activate, deactivate, and
interpret the InnoDB monitors.
5) Be able to read and understand the Error log.
6) Learn the advantages and disadvantages of each storage engine.
7) Learn at least the basic skills about how to navigate within and
maintain the machine that is hosting your MySQL instance.
8) Always keep learning - I cannot stress this on point enough. You must
continue learning to stay ahead of your developers. They can and will
find new and exciting ways to make your MySQL servers run like they are
frozen in mud. Use your development experience to find better ways to
write their queries and to design their tables. Also, some problems may
be due to bugs. By staying current with the state of the MySQL
ecosystem, you will make yourself aware of problems that you may not
have needed to encounter on your own.
The links to the books and other resources that you have been given (see
other responses in this thread) are excellent places to learn these, and
all of the other, skills that you will need to use to become a good DBA.
How good you become is all in the attitude you take.
If you are hands-off and neglectful of your database server, then all of
the databases hosted there may become poorly organized resource hogs. If
you, as a DBA, are diligent, protectful, proactive, and concerned then
you will have a much better chance of achieving amazing performance out
of your servers.
MySQL Principle Technical Support Engineer
Oracle USA, Inc.
Office: Blountville, TN