Course DB587
MySQL Database Administration
MySQL Database Administration
Duration: 3 Days
Intended Audience
The course is for novice database adminisrators, as well as Web and system administrators who will be required to maintain and administer MySQL database servers. Many of the principles and techniques covered on the course are also applicable to other Database Management Systems such as SQL Server and Oracle.
Course Overview
This is a comprehensive course on administering MySQL databases on both Linux and Unix platforms. It covers the usual DBA duties and responsibilities such as installation, backup and recovery, security, physical database design and optimisation. In addition it overviews more advanced topics such as compiling MySQL from sources, and importing and exporting data, authentication and encryption.
The course will cover the use of scripts for database administration and backup in a generic way. (i.e. knowledge of scripting languages such as Perl or Tcl, or of shells such as Bash or the Korn Shell will not be assumed). If needed (and if there is sufficient demand) this topic can be added as an extra (fourth) day of the course.
Key Skills
- MySQL installation
- Specifying and enforcing a security policy
- Setting up accounts and conferring user priviledges
- Backup and recovery - planning and execution
- Optimisation
- Working with session encryption
- Compiling MySQL from sources
Practical Work
About 40% of the course time will be allocated to practical exercises, and workshops.
Attendees will be given a CD containing the compiled and source code for the most recent stable release of MySQL, as well as a collection of applications that enhance the usefulness of MySQL. The CD will contain a selection of MySQL administrative tools, and the scripts necessary to install and run the class database.
- Estimation of data volumes, transaction processing loads, time to perform a backup and recovery.
- MySQL installation under Linux/Unix
- Building and dropping indexes
- Implementing scripts (by studying and modifying a template script) for performing backups
- Carrying out a full database recovery
- Observing the effects of carrying out tuning and optimisation procedures
- Exploring the security mechanisms present in MySQL
Course Contents
Responsibilities of a DBA
- Making data available
- Maintaining Database Integrity
- Data backup and recover
- Disaster recovery
- User support (helpdesk support)
- Determining, specifying and enforcing standards
Physical Database Design
- Database/Table model
- Dedicated partitions
- Table Types, Table Locks, and Columns
- Indexes
- File Descriptors
- System memory
- Log Files
- RAID
Database Management
- Stopping and starting MySQL
- Intialising the file system
- Creating and Removing a Database
- Checking and Repairing Tables
- Devising and Implementing Backup and Recovery Plans
- Data export and data import
Optimisation
- Benchmarking
- Design optimisation
- Application level optimisation
- Query optimisation
- SQL statement optimisation
- Server configuration tuning
- MySQL stored procedures and triggers and optimisation
Security
- MySQL Permissions Scheme
- Managing users and groups
- Granting privileges
- Client authentication
- Encrypting sessions
- Devising and Enforcing a Security Policy
- Audit and security
