Skip to content
Chen-Yuan Chu edited this page Jan 14, 2023 · 8 revisions

What Is MySQL?

MySQL is an open source relational database management system (RDBMS), using GPL (GNU General Public License). “SQL” means Structured Query Language, which is used to access and interact with databases. “My” comes from the co-founder Monty Widenius's daughter, My. Relational databases store data in tables with rows and columns, and two tables might have relationships between them.

It is client/server based with multithreaded SQL server(s) to support different programs, libraries, tools, APIs, and back ends. For a MySQL server dedicated machine, you can adjust settings to utilize all of the CPU, memory, and I/O capacity. It requires little or no attention, and can scale up to clusters of machines connected in a network. MySQL servers are originally developed to handle large databases, with focus on speed, security, and connectivity.

For more information on MySQL, please see the official documentation.

Technical Overview

Language: MySQL is written in C/C++.

As the name suggests, it uses SQL. Here is a list of SQL keyword and statements for MySQL.

MySQL API can work with C, C++, Eiffel, Java, Perl, PHP, Python, Ruby, and Tcl. It also has connector programs for .NET, C++, and so on. See here for details.

List of data types: signed/unsigned integers 1, 2, 3, 4, and 8 bytes long, FLOAT, DOUBLE, CHAR, VARCHAR, BINARY, VARBINARY, TEXT, BLOB, DATE, TIME, DATETIME, TIMESTAMP, YEAR, SET, ENUM, and OpenGIS spatial types (geospatial data).

Connectivity: Clients connect via TCP/IP sockets (Any platform), named pipes (Windows), or Unix domain socket files (Unix).

Security: Host-based verification and encryption of password (SHA-256 hashing)

It support different time zones and localization.

The official site has more details on the features.

Installation And Upgrade

The official sites has a list of MySQL community downloads, such as free community server. Each has a brief description, installation instruction, and documentation.

There are also installation and upgrade guides for different platforms, such as Windows and Linux.

Interacting With MySQL Server

As mentioned in technical overview section, you can use APIs and connectors to work with MySQL in different languages.

MySQL also has different client programs for interacting with MySQL server. An example is mysql, a command-line client that can be used to interact with a MySQL server using commands and SQL statements (See tutorial).

Alternatively, Prisma also supports connection to MySQL databases.