On 7/13/2010 9:24 AM, alba.albetti wrote:
Hi,
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 DBA.
Thanks!


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 reliably.

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 necessary.

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.

Regards,
--
Shawn Green
MySQL Principle Technical Support Engineer
Oracle USA, Inc.
Office: Blountville, TN

--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/mysql?unsub=arch...@jab.org

Reply via email to