how databases work
(Last Updated On: February 25, 2020)

Running a self-hosted website can be tough when you’re not exactly technically savvy or hip to hosting jargon. But, it’s imperative as a serious business owner to know a little bit about the technology you’re running your branded website on. So, you’ve come to the right place. Our web hosting products are user friendly and easy to use but don’t you ever wonder about the database at work in your cPanel? In this article we’re breaking down the hosting details for you.

What is MySQL?

Let’s start with pronunciation, it’s not My and then the acronym SQL, you actually pronounce it as a word like this MY-ES-KYOO-EL’ [maɪˌɛsˌkjuːˈɛl]—that’s the official guide to saying the word but you may have also heard it called ‘my sequel’.

A bit of history on MySQL, in 1994 a Swedish company MySQL AB were the original developers of MySQL. Then, in 2008 a tech company in the United States, Sun Microsystems acquired ownership. After that another acquisition was made by US teach giant Oracle in 2010 of Sun Microsystems and they’ve owned MySQL ever since.

The general definition of MySQL is, it is an open source relational database management system or RDBMS that includes a client-server model.

RDBMS is a service software used for the purpose of creating and managing databases based on the relational model. What does that mean? To explain fully we’ll break down each term.

Databases

Databases are a collection of organized data. Consider when you take a picture with your phone. Once you capture the image it is then stored on your phone. The image is the data, and the phone’s media gallery is the database. Simply put, a database is an organized storage for data.

When we talk about relational data, we mean data stored or organized in tables called dataset. Each table relates to the other in some way. Software has to support a relational data model. It’s called DBMS for database management system.

Open Source

An open source translates to technology that is free for modification. It is software anyone can install and use. It also means the software’s source code can be modified with specifications to accommodate your needs.

If you’re savvy with computer languages and know how to code, you can easily modify any open source application. However, the GPL (GNU Public License) is a body that determines how much modifications you can make depending on set conditions. Any commercially licensed version is available for any changes if you need flexible ownership or more advanced support.

Client-server Model

If a computer installs and runs RDBMS software it is called a client. RDBMS servers are accessed by these computers whenever they need to access data—it’s called a ‘client-server’.

MySQL isn’t the only RDBSM software options available, there are many others. RDBMS and MySQL are often considered to be similar because of the popularity of MySQL.

For example, popular web applications like Twitter, Facebook, YouTube, Google and Yahoo all use MySQL as their data storage.

Even though MySQL was initially created for limited storage, it has been made to be compatible with computing platforms like Linux, macOS, Microsoft Windows and Ubuntu.

SQL

It is well to note that there is a difference between MySQL and SQL—they are not the same.

MySQL is one of the most popular RDBMS software brands which outfits a client-server model.

To communicate via the client and server model the RDBMS environment use a domain specific language called Structured Query Language or SQL.

If you’ve ever seen other names with SQL attached to them like, PostgreSQL and Microsoft SQL Server then these are applications which also use the SQL syntax or language. RDBMS software is written in different programming languages from SQL, but it uses SQL as its primary language to interact with the database. MySQL is written in C and C++ as a software but communicates database to database via SQL syntax.

SQL communicates to the server on what to do with the data. Think of your WordPress password or code— you input it into the system to gain access to your dashboard area. In this case, SQL statements can instruct the server to complete certain processes:

  • Data query: request exact information from an existing database.
  • Data manipulation: adding, deleting, altering, sorting, and other operations to modify data, the values or the visuals.
  • Data identity: defining data types, e.g. altering numerical data to integers. This also comprises defining a schema or the relationship of each table in the database
  • Data access control: providing security protocols to protect data, this includes: determining who can view or use any sensitive information stored in the database.

How MySQL Works

The client sends a request to the server and the server serves the request. Devices either one or multiple (clients) connects to a server via a specific network. Each client has the ability to make a request from the graphical user interface or GUI on their screens, and the server produces the requested output, once both ends understands the instruction. The main processes take place in the MySQL environment are synonymous, they are:

  1. MySQL generates a database for storing and deploying data, and defining the relationship of each table.
  2. Clients can make requests by typing specific SQL statements on the MySQL database for retrieval.
  3. The server application responds with the requested information and it will appear on the clients’ side.

That’s all there is to it. From the client’s end, an emphasis is on which MySQL GUI to use. The more user-friendly the GUI, the easier and faster their data management activities are. Some of the most prevalent MySQL GUIs are MySQL WorkBench, DBVisualizer, SequelPro, and the Navicat DB Admin Tool.

Some of MYSQL databases are free, while others are commercial, some run exclusively for macOS, and some are compatible with all major operating systems. Clients should pick the GUI depending on their needs. For database management specifically for the web, including a WordPress site, the most obvious go-to is phpMyAdmin which is found in cPanel.