Introduction to Database Concepts and MySQL
- [ ] Features of a Relational Database
- [ ] Where does SQL Fit in?
- [ ] Database Access
- [ ] Why MySQL?
- [ ] The History of MySQL
Installation, Configuration, and Upgrading
- [ ] MySQL Software
- [ ] MySQL Software Features
- [ ] Preparing to Install MySQL
- [ ] Available Client Software
- [ ] After the Download
- [ ] Configuring the Server
- [ ] Starting the Server
- [ ] The Initial User Accounts
- [ ] Verifying Server Operation
- [ ] Upgrading
- [ ] Copying a Database Between Architectures
- [ ] Environment Variables
Database Design
- [ ] Developing the Design of a Database
- [ ] Database Entities
- [ ] The Primary Key
- [ ] Foreign Key Relationships
- [ ] Data Models and Normalization
- [ ] Translating a Data Model into a Database Design
Using the mysql Command-Line Tool
- [ ] Running the mysql Client
- [ ] Customizing the mysql Prompt
- [ ] mysql Commands
- [ ] Using the Help Command
- [ ] Some Useful mysql Options
- [ ] Working with a Database
- [ ] Examining Table Definitions
- [ ] Other SHOW Options
Using MySQL
- [x] Introduction
- [x] Connecting to MySQL using the command-line client
- [x] Creating databases
- [x] Creating tables
- [x] Cloning table structure
- [x] Inserting, updating, and deleting rows
- [x] Inserting
- [x] Updating
- [x] Deleting
- [x] REPLACE, INSERT, ON DUPLICATE KEY UPDATE
- [x] Truncating tables
- [x] Loading sample data
- [x] Selecting data
- [x] Selecting columns
- [x] Count
- [x] Filter based on condition
- [x] Operators
- [x] Simple pattern matching
- [x] Regular expressions
- [x] Limiting results
- [x] Using the table alias
- [x] Sorting results
- [x] Grouping results (aggregate functions)
- [x] COUNT
- [x] SUM
- [x] AVERAGE
- [x] DISTINCT
- [x] Filtering using HAVING
- [x] Creating users
- [-] Granting and revoking access to users
- [-] Granting privileges
- [-] Checking grants
- [-] Revoking grants
- [-] Modifying the mysql.user table
- [-] Setting password expiry for users
- [-] Locking users
- [-] Creating roles for users
- [x] Loading data into a table
- [x] Joining tables
- [x] Identifying Duplicates using SELF JOIN
- [x] Getting information about databases and tables
Configuring MySQL
- [x] Introduction
- [x] Using config file
- [x] Using global and session variables
- [x] Using parameters with startup script
- [x] Configuring the parameters
- [x] data directory
- [-] Changing the data directory
Transactions
- [x] Introduction
- [x] Performing transactions
- [x] Autocommit
- [x] Using savepoints
Backups & Restoring Data
- [x] Introduction
- [x] Taking backups using mysqldump
- [x] Full backup of all databases
- [x] Point-in-time recovery
- [x] Dumping master binary coordinates
- [x] Recovering from mysqldump and mysqlpump
Replication
- [x] Introduction
- [x] Setting up replication
- [ ] Setting up master-master replication
- [ ] Setting up multi-source replication
- [ ] Setting up replication filters
- [ ] Replicate a database only
- [ ] Replicate specific tables
- [ ] Ignore a database
- [ ] Ignore specific tables
- [ ] Switching slave from master-slave to chain replication
- [ ] Switching the slave from chain replication to master-slave
- [ ] Setting up delayed replication
- [ ] Setting up GTID replication
- [ ] Setting up semi-synchronous replication
- [ ] Replication Strategies
Table Maintenance
- [x] Introduction
- [x] Altering tables
- [x] Moving tables across databases
- [x] Partition management
- [x] Partition information
Handling Logs
- [x] Introduction
- [x] The error log
- [x] Using the system log for logging
- [x] The general query log and slow query log
- [x] General query log
- [x] Slow query log
- [x] Selecting query log output destinations
- [ ] Managing the binary logs
Basic Performance Tuning
- [ ] Introduction
- [ ] The explain plan
- [ ] Using EXPLAIN
- [ ] Table statistics
- [ ] Table statistics with buffer
- [ ] Statement analysis
Improving Performance with Caching
- [ ] Using Memcached with MySQL
- [ ] Overview of Memcached
- [ ] Setting up Memcached
- [ ] Using of Memcached
- [ ] Performance tuner
- [ ] Caching tool
- [ ] Analyzing data stored in Memcached
- [ ] Overview of Redis as Caching Layer
- [ ] Caching limitations for CRUD operations