MySQL is a relational database management system. It stores structured information in tables and executes an application’s SQL queries. A Joomla database can contain articles, categories, menus, users and extension settings.
Tables, relationships and indexes
A table consists of rows and columns. A primary key identifies a record, while related identifiers connect information such as an article and its category. Indexes speed up suitable queries but consume space and add write overhead.
Image and template files normally reside in the file system, with the database storing information about them. A complete Joomla backup must therefore include both the database and the files.
MySQL, MariaDB and SQL
SQL is a query language, while MySQL is a server that executes queries. MariaDB is a separate database system with historical ties to MySQL. Compatibility is not absolute: versions, features and some query behaviour differ.
Choose a server version supported by the installed Joomla release and extensions. Before moving between MySQL and MariaDB, test dump restoration and application behaviour in a separate environment.
Character encoding and connections
Use utf8mb4 for full Unicode support. Character sets and collations affect storage, sorting and comparisons, so do not change them on a live database without testing.
Joomla connects using a server address, database name and database account. Connection errors may involve server availability, credentials, privileges or a PHP driver. Diagnosis must consider the website’s actual runtime environment.
Summary
MySQL manages Joomla data, while SQL describes operations on it. Supported versions, appropriate privileges, backups and tested schema changes help keep a website operational.