Which version of mysql is up to date. MySQL select version and how to find out the MySQL version

  • Security
  • Quality
  • Price
  • Reliability
  • Simplicity
  • Stability
  • Support
  • Speed
  • Control Panel

FAQ help section

Hosting video review

How to upload a server to FTP

ATTENTION: You need to fill in only 3 folders ( filterscripts, gamemodes, scriptfiles) and 1 file server.cfg, then in server.cfg write the line (if it is not there) plugins streamer.so sscanf.so CRP.so mysql.so You also need to make sure that the mod in .amx format exists in the gamemodes folder, and the mod name is correctly spelled out in server.cfg (config).

FileZilla Client
Introduce host Example: 194.58.88.74 - login *****- password******** IN THE PORT FIELD THERE IS NOTHING TO INSERT !!!

ATTENTION: If there is no FTP connection via FileZilla download Total Commander and connect via it!

Total commander- to upload your samp files to FTP
Introduce host Example: 194.58.88.74 - login 173104911- password g1KdN7D3q

Where to enter? Answer: run Total Commander> Network> Connect to FTP server> Add and then enter your data, as shown in the screenshot in the example:

Mod Unknown

If your gamemode field says "unknown", then follow these steps:
1. First, turn off your server
2.Go to the control panel in the Server Options> Settings
3.Add below line plugins streamer.so sscanf.so CRP.so mysql.so
Change the name of the plugins if the mod is unknown, for example: plugins streamer.so sscanf.so CRP.so mysql.so on plugins streamer2.7.2.so sscanf.so CRP.so mysqlR34.so
* The plugins folder is installed initially by default, it contains all the necessary plugins.
* You can install any of your plugins on ftp, then register the required plugin for the server in the control panel in the Settings section.
* Use PAWNO to compile and update streamer
4.In the folder plugins there should be plugins with the .so extension for Linux: select the required plugin for your server and write its name in the panel settings in the plugins line EXAMPLE: plugins streamer.so
5.Do not forget that We are using OC Linux, which means in the Panel Settings
write a line for plugins plugins: streamer.so sscanf.so CRP.so with the extension .so otherwise your server will not work correctly.

For OC Linux register in server.cfg as: plugins streamer.so sscanf.so CRP.so mysql.so antiattack.so
One of the plugins libmysqlclient.so.15 libmysqlclient.so.16 libmysqlclient_r.so.16 should be located in the server folder.

Attention: if the server works correctly on Windows OS, this does not mean that it will work correctly on Linux.

What if after filling there are no icons, houses, businesses, etc.?

Enter streamer2.5.so in the config, save and reboot the server.
Example:

plugins streamer2.5.so sscanf.so CRP.so mysql.so regex.so

How do I find out the version of a plugin?
On local computer start the server after look in the log, the version of the plugin will be indicated, this version will be listed on the hosting in the server config.
Example:


Server Plugins
--------------
Loading plugin: streamer.so
*** Streamer Plugin v2.6.1 by Incognito loaded ***

This means that you need to register the version streamer2.6.1.so in the server config

Help - Connecting mod to mysql server

Open the mod (.PWN file) with the PAWNO program, specify your data from the MYSQL section


Example:

#define mysql_host "host.site"
#define mysql_db "s20000"
#define mysql_user "s20000"
#define mysql_pass "lazyrich"

After compiling the mod in .AMX and importing the sql query into the database

Attention! If unknown appears in the compilation process, the mod will not be detected.
Exit to look for a scripter to fix the error.

To change the name of the mod, or rather the hostname parameter, you need to enter the server control panel in the -Settings section (this is the sever.cfg server config) and in the hostname line with the right to write your server name, for example: *** Our SERVER IS THE BEST * **
Save the data in the panel and be sure to reboot the server for the new parameters to take effect.
If after all of the above, your name has not changed, then you need to change the name in the very fashion with the PAWNO program, and this is a completely different story available on the Internet.

Server.cfg









query 1 - Do not change.

maxnpc 10 - Do not change.
onfoot_rate 40 - Do not change.
incar_rate 40 - Do not change.
weapon_rate 40 - Do not change.




- standard line of plugins for samp config

How to give yourself an admin area

Go to the server in the folder scriptfiles, find your NICK
example: Aldo_Mangano, open the file with Notepad,
find a line AdminLevel specify 1999 and then save the file and restart the server.

Server.cfg

echo Executing Server Config ...
lanmode 0 - 0 - play over the Internet, 1 - play over a local network.
rcon_password 123 - “123” - password from the admin panel on the server.
maxplayers 50 - As you already understood, the maximum number of players. In version 0.3a, the maximum is 500.
port 7777 - The port displayed at the end of your server address. (It exposes itself on the hosting)
hostname NameServer - The name of your future server.
gamemode0 mode - Game mod, your future server. More on this below ...
announce 0 - 1 visible server in tab Internet / 0 not visible.
query 1 - Do not change.
weburl site - Server site, if any.
maxnpc 10 - Do not change.
onfoot_rate 40 - Do not change.
incar_rate 40 - Do not change.
weapon_rate 40 - Do not change.
stream_distance 300.0 - Do not change.
stream_rate 1000 - Do not change.
password - your_password (Server under password)
language Russia - map at 0.3.7 in place map
plugins streamer.so sscanf.so CRP.so mysql.so regex.so dc_cmd.so CVector.so nativechecker.so- standard line of plugins for samp config

First, you need to decide whether you want the most recent experimental release or the latest stable release:

  • If you are going to use MySQL for the first time, or are trying to port MySQL to some system that does not have a binary distribution, then we generally recommend starting with the stable version (currently 3.23). Please note that all MySQL releases are validated using MySQL benchmark tests and a suite of comprehensive tests prior to each release (even for experimental releases).
  • If you are working with an old system and want to upgrade it, but want to avoid possible inconsistencies when upgrading, then you need to replace it with the newest version in the same branch that you are using (where only the latest version number is newer than yours). In these versions, we try to fix only critical bugs and make only small, relatively safe changes.

Second, you need to decide whether you want to use a source distribution or a binary distribution. In most cases, it is best to opt for a binary distribution if one exists for your platform, as it is usually easier to install than a source distribution.

Installing from source may be preferable in the following cases:

  • If you need to install MySQL in some explicit location (the standard binaries are "ready to run" "anywhere, but you may need even more flexibility).
  • To meet different user requirements, we supply two different binary versions: one is compiled with nontransactional table handlers (small, fast binary code), and the second is configured with the most important extensibility features such as transactional tables. Both versions are compiled from the same source code. All native MySQL clients can connect to both versions. An extended MySQL binary distribution is marked with the -max suffix and is configured with the same options as mysqld-max. See section 4.7.5 mysqld-max The Extended mysqld Server. If you want to use the MySQL-Max RPM package, you must first install the standard MySQL RPM package.
  • If you need to configure mysqld with some additional properties that are not available in standard binary distributions. Below is a list of the most common advanced options you might want to use:
    • --with-innodb
    • --with-berkeley-db
    • --with-raid
    • --with-libwrap
    • --with-named-z-lib (This is done for some binary distributions)
    • --with-debug [= full]
  • By default, a binary distribution is usually compiled with support for all encodings and should run on different processors from the same processor family. If you need a faster MySQL server, you can recompile it to support only one encoding you want, use a better compiler (like pgcc), or use compiler options that are better optimized for your processor.
  • If you find a bug and report it to the MySQL development team, then you should be sent a patch that should be applied to the source distribution to fix the bug.
  • If you want to read (and / or modify) the MySQL source code (in C and C ++), you must have a source distribution. Source code is always the best documentation. Source distributions also contain more tests and examples than binary distributions.

The MySQL naming system uses release numbers with three numbers and a suffix. For example, the mysql-3.21.17-beta release is interpreted as follows:

  • The first number (3) is used to describe the file format. All releases of version 3 have the same file format.
  • The second number (21) represents the release level. There are usually two options to choose from. One represents the release of the stable branch (currently 23) and the second represents the experimental branch (currently 4.0). Usually both branches are stable, but the experimental version might have some quirks, it might lack documentation for new properties, or it might not compile on some systems.
  • The third number (17) is the version number within the release level. This number increases for each new distribution. It usually makes sense to prefer the most latest version for the selected release level.
  • The suffix (beta) indicates the stability level of this release. The following suffixes are possible:
    • alpha indicates that the release contains large sections of new code not 100% tested. Errors found (usually none) should be documented in the News section. See section D MySQL Change and Update History. Most alpha releases also include new commands and extensions. While working on an alpha release, there may be active development, including significant code changes, but everything is tested before release. There should be no known bugs in any MySQL release.
    • beta means all new code has been tested. No new properties are added that might damage the old code. There should be no known bugs. The version changes from alpha to beta when no critical errors have been reported in the alpha version for at least a month and we do not plan to add any new features that could reduce the reliability of the previous commands.
    • gamma is beta version which is almost complete and seems to be working well. Only minor fixes are added. This is exactly what many other companies call a release.
    • If there is no suffix, it means that the given version has run on many different computer systems with no error messages other than platform-specific errors; for it, only the correction of critical errors is allowed. That is why we call this release stable.

All MySQL versions are run through our standard tests and benchmarks to ensure they are reliable in use. As the standard tests are periodically updated to include checking for new bugs and situations that might cause them, the test suite gets better and better over time.

Note that all releases have been tested with at least the following tests:

Internal test suite The kit is part of the customer's production system. This set includes many tables with hundreds of megabytes of data. MySQL benchmark suite These benchmarks run against a set of commonly used queries. They also let you see if the latest batch of optimizations actually makes your code faster. See section. Crash-me test This test attempts to determine what functionality the database supports and what its capabilities and limitations are. See section 5.1.4 The MySQL Benchmark Suite.

There is another test. It is that we are using the latest version of MySQL in our internal production environment on at least one machine. We have over 100 gigabytes of data to work with this version.

Stable release of MySQL version 5.6. A lot of work has been done in the new version. The main efforts were focused on improving performance, scalability and flexibility. The InnoDB engine has undergone major changes.

Key improvements include: support for full-text search, the ability to access data through the memcached API, increased performance when writing data intensively, and increased scalability when processing a large number of concurrent requests.

Another innovation in version 5.6 is the ability to execute DDL (Data Definition Language) operations without taking the DBMS offline and interrupting access to tables. Administrators get the opportunity to perform operations related to resetting the schema, adding or removing data columns or renaming columns without shutting down the DBMS. Previously, this functionality was only available in NoSQL products.

Compared to version 5.5, the new product can now work on 48-core servers, against 32-core in MySQL 5.5

A little more detail on the key features:

  • An interface for direct access to InnoDB tables in the style of NoSQL systems with using the API which manipulates key / value pairs and is compatible with memcached.
  • Now it is possible to create full-text indexes in InnoDB for organizing quick search by word forms among text content stored in InnoDB tables. Previously, full-text search was only available for MyISAM tables.
  • Improving the efficiency of the query optimizer, optimizing the process of selecting a result set, sorting, and executing a query. New Index Condition Pushdown (ICP) and Batch Key Access (BKA) optimizations allow up to 280x throughput fulfilling some queries. The efficiency of executing queries like "SELECT ... FROM single_table ... ORDER BY non_index_column LIMIT N;" has been increased. Improved performance of “SELECT… LIMIT N” queries displaying only part of rows from a large selection.
  • The diagnostic tools for the optimizer have been expanded, and EXPLAIN support has been added for INSERT, UPDATE, and DELETE operations. EXPLAIN results can now be output in JSON format. The optimizer's new tracing mode allows you to track every decision you make as you optimize your query.
  • Additional optimizations for subquery execution, in which nested queries of the form "SELECT… FROM table1 WHERE… IN (SELECT… FROM table2 ...))" are translated into a more optimal representation at a stage before the immediate execution of the query, for example, replaced with a more efficient JOIN.
  • Extension of the implementation of the PERFORMANCE_SCHEMA diagnostic system, which provides low-level tools for monitoring the execution of queries and various events during the operation of the DBMS. PERFORMANCE_SCHEMA allows you to assess in detail the bottlenecks when running long queries, as well as provide summary statistics grouped by queries, threads, users, hosts and objects.
  • The implementation of the InnoDB engine has been improved, there is an increase in performance when executing transactions and during activity with a predominance of data read operations - in some situations, the speedup reaches 230%.
  • Delayed replication mode, which allows replicating data not immediately, but with a certain delay, which allows protection against operator errors (for example, accidental deletion of table contents).
  • Increase the maximum size of files with change logs (InnoDB Redo Log) from 4 GB to 2 TB.
  • Improved security: support for specifying authentication parameters in the .mylogin.cnf file in encrypted form; adding the sha256_password plugin to store password hashes using the SHA-256 algorithm; adding a field with the password expiration time to the mysql.user table; new SQL function VALIDATE_PASSWORD_STRENGTH () for evaluating password strength.
  • Support for starting the server in read-only mode (option --innodb-read-only, only for InnoDB).
  • Support for specifying fractional seconds in the TIME, DATETIME, and TIMESTAMP functions to specify microseconds.
  • Dropped support for options "--log", "--log-slow-queries", "--one-thread", "--safe-mode", "--skip-thread-priority", "--table- cache ".
You can learn more about the innovations on MySQL (stands for free relational database management system) - it is a compact multithreaded database server that is fast, stable and easy to use.

It was originally developed by TcX to solve internal problems - the fastest possible processing of large databases. Used internally since 1996 on a server with more than 40 databases containing 10,000 tables, of which more than 500 have more than 7 million rows.

Today, MySQL is developed and supported by Oracle Corporation, which acquired Sun Microsystems on January 27, 2010, after which it included MySQL in its product line. Earlier (February 26, 2008) Sun Microsystems paid $ 1 billion for the purchase of MySQL AB. The product is distributed under both the GNU General Public License and its own commercial license. In addition, the developers create functionality ordered by licensed users, thanks to such an order in almost the most earlier versions the replication mechanism appeared.

MySQL is the most optimal solution for small and medium-sized applications. Server sources are compiled on a variety of platforms. The capabilities of the server are most fully manifested on Unix servers, where there is support for multithreading, which gives a significant increase in performance. Included in WAMP, AppServ, LAMP servers and in the Denver, XAMPP portable server assemblies. Usually MySQL is used as a server that local or remote clients access, however the distribution includes an internal server library that allows MySQL to be included in standalone programs.
With support for a huge number of table types, MySQL is flexible enough. Users can select both MyISAM full-text search tables and tables with transactions in individual InnoDB records. In addition, MySQL comes with a special EXAMPLE table type that demonstrates how to create new table types. Thanks to this, as well as the open architecture and GPL licensing, it is possible to add new types of tables to MySQL almost endlessly.

MySQL Server is free for non-commercial use. Otherwise, it is necessary to purchase a license, which currently costs 190 EUR.

The MySQL developer community has created various forked code such as Drizzle, OurDelta, Percona Server, and MariaDB. All of these offshoots already existed at the time of Oracle's takeover of Sun.

The rise of MySQL

Until 1994, the market was mainly represented by databases designed to work with significant amounts of data and complex relationships, which had different capabilities, but at the same time required significant computing resources. These databases include Oracle, Informix, and Sybase. There were no DBMSs that would support SQL and were affordable at the same time.

Large corporations and universities could afford to purchase powerful computing systems, while small organizations and users used weak desktop databases such as Postgres, which used a variant of the QUEL language (PostQUEL), but which, unfortunately, required the same resources. as its counterparts, but did not provide the advantage of using SQL as a query language.

Then a certain David Hughes (who later became, after the publication of his work on the Internet, known as Bamby), who at that time was writing a dissertation at Bond University (Australia), took up the development of the Minerva Network Management System project - a monitoring and control system from one or more points for group of systems. The main element of the project was to be a database for storing information about all computers on the network. Hughes first decided to use Postgres. However, colleagues suggested using SQL as the query language for Minerva, since SQL is the most common query language, and using it, Minerva could become available anywhere in the world where there is an RDBMS that supports SQL. This was the impetus for the creation of MySQL.

Hughes decided to create a program himself that would translate SQL to PostQUEL in real time. He called his program miniSQL, or mSQL. It intercepted the SQL statements sent by Minerva, converted them to PostQUEL, and sent the result to Postgres. For a while, this situation suited Hughes. However, as a result of the further growth of Minerva, it became obvious that on the limited resources that are available to it, neither Postgres nor any other large RDBMS will be able to support the small set of characteristics that it needs. So, for example, in order to implement the ability to simultaneously connect Minerva to multiple databases at once, Postgres required multiple instances of the database server to run simultaneously.

To solve these problems, Hughes analyzed the work of Minerva, and it turned out that the main queries generated by Minerva were: "insert", "delete" and "select". Since Hughes already had mSQL to do the SQL translation, he only needed to create a database server to suit his needs.

This is where Michael Monty Widenius comes into play, who is credited with being the inventor of MySQL. In 1979 he developed a database management tool called UNIREG. Subsequently UNIREG has been extended to support large databases and has been rewritten in several languages. In 1994, TcX began developing www applications using UNIREG. However, due to its high overhead, UNIREG could not be successfully used to dynamically generate Web pages. Therefore, Widenius decided to contact the author of mSQL, Hughes, to suggest that he connect mSQL to the B + ISAM handler in UNIREG. However, Hughes was well on his way to mSQL 2, and the company decided to create a database server to fit their needs.

TcX took UNIREG as a basis and used utilities third party developers for mSQL, wrote an API for their system, which initially closely coincided with the API for mSQL. However, this allowed any mSQL user wishing to migrate to the TcX database server to make minor changes to their code. The source code for the new database was completely original. Thus, in May 1995, the company had a base MySQL data 1.0, fully satisfying the needs of the company.

In 1995, David Oxmark, who works for Detron HB and is a business partner of the firm, began actively offering TcX to distribute MySQL over the Internet. David even took part in the documentation. As a result, version 3.11.1 of the MySQL DBMS was released in 1996 as a binary distribution for Linux and Solaris. MySQL runs on many platforms today and is available in both binaries and source.

MySQL has become the most popular database tool in PHP today. This is primarily due to the fact that support for this server is included in the delivery of PHP. In addition, the popularity of MySQL is facilitated by enough good characteristics and a wide range of standard interface functions that are extremely easy to use.

The MySQL licensing policy is more flexible than other database servers. Basically, MySQL is distributed free of charge unless you intend to sell it or sell services built with it.

MySQL has excellent portability and can just as well be used on commercial operating systems such as Solaris, Irix, or Windows, and on any hardware up to powerful servers. Moreover, just like its more expensive rivals, it can handle large databases containing millions of records.

Name and logo

As for the name, there are several versions of its origin. The first version says that the use of the "my" prefix is ​​explained by the fact that in TcX the base directory, as well as a significant number of libraries and utilities, have been designated with just such a prefix for ten years. Therefore, it was logical to use it in this case as well.

The second version, more sentimental, is based on the fact that Michael Monty Widenius named the new MySQL product after his daughter - My. Widenius's daughter is really called My, and he himself does not refute either the first or the second version.

The MySQL dolphin logo is named "Sakila". He was chosen from a large list of user-suggested "dolphin names". The name "Sakila" was submitted by Open Source developer Ambrose Twebaze.

MySQL Features

The main feature of MySQL is that it supports the SQL query language in the ANSI 92 standard, and in addition it has many extensions to this standard that are not found in any other database management system.
A short list of MySQL features:

1. Supports the efficient work of an unlimited number of users simultaneously working with the database.

2. The number of rows in tables can be up to 50 million.

3. The fastest execution of commands. It is believed that MySQL is the fastest server in existence.

4. Simple and effective security system.

Example chart in MySQL


Disadvantages of MySQL

However, MySQL also has some drawbacks. This is mainly due to the fact that in order to achieve such a high speed of work, developers had to sacrifice some of the requirements for relational database management systems.

So, MySQL lacks:

1 . Support for nested queries such as SELECT * FROM table1 WHERE id IN (SELECT id FROM table2) (in earlier versions).

2. Support for transactions is not implemented. It is suggested to use LOCK / UNLOCK TABLE instead.

3. There is no support for foreign keys.

4 . There is no support for triggers and stored procedures.

5 . There is no support for VIEWs. In version 3.23, the ability to create views is planned.

According to the creators, it was points 2-4 that made it possible to achieve high performance. Their implementation significantly reduces the server speed. These capabilities are not critical when building Web applications, which, combined with high performance and low cost, has made the server very popular.

Licensing

MySQL is dual licensed. MySQL may be redistributed under the terms of the GPL license. However, under the terms of the GPL, if any program includes source codes MySQL, then it must also be licensed under the GPL. This may be at odds with the plans of developers who do not want to open the source code of their programs. For such cases, a commercial license is provided, which also provides high-quality service support.

Platforms

MySQL is ported to a large number of platforms: AIX, BSDi, FreeBSD, HP-UX, Linux, Mac OS X, NetBSD, OpenBSD, OS / 2 Warp, SGI IRIX, Solaris, SunOS, SCO OpenServer, UnixWare, Tru64, Windows 95, Windows 98, Windows NT, Windows 2000, Windows XP, Windows Server 2003, WinCE, Windows Vista and Windows 7. There is also a MySQL port to OpenVMS. It is important to note that on the official website of the DBMS, not only source codes are provided for free download, but also ready-made executable modules of the MySQL DBMS, compiled and optimized for specific operating systems.

Programming languages

MySQL has an API for Delphi languages, C, C ++, Eiffel, Java, Lisp, Perl, PHP, Python, Ruby, Smalltalk, Component Pascal and Tcl, libraries for the .NET platform languages, and also provides ODBC support via the MyODBC ODBC driver.

Version history

MySQL was first released internally on May 23, 1995 [unspecified 1224 days].
Windows version (Windows 95 and NT) released on January 8, 1998.
Version 3.23: beta in June 2000, released in January 2001.
Version 4.0: beta in August 2002, released in March 2003.
Version 4.1: beta in June 2004, released in October 2004.
Version 5.0: beta in March 2005, released in October 2005.
Version 5.1: Development has been in progress since November 2005, released in November 2008.
Version 5.4: Beta in April 2009, has not been released.
Version 5.5: released in December 2010.
Version 5.6: in development (5.6.6 m9 August 7, 2012).

Version history



MySQL 4.0

Although version 4.0 is obsolete, it still has significant distribution. Key features of this version:

Almost complete ANSI SQL-99 implementation, plus extensions;
cross-platform compatibility;
independent table types (MyISAM for fast read, InnoDB for transactions and referential integrity);
transactions;
SSL support;
caching requests;
replication: one master server per one slave, many slaves per one master;
full-text indexing and search using the MyISAM table type;
embedded database library;
Unicode support (UTF-8);
InnoDB tables for ACID compliance
built-in server to enable MySQL to be included in standalone applications.

Nested queries and views.
new system of encodings and sortings;
Faster and more flexible client-server protocol with prepared request support for optimal execution;
new program settings and settings for Microsoft Windows and Linux;
client-server connections secured through OpenSSL;
a highly optimized library that can be used in third-party programs;
full support for Unicode (UTF-8 and UCS2);
standard spatial data types GIS, for storing geographic information;
improved full text search and help system.

MySQL 5.0

MySQL 5.0 was released on October 24, 2005, significantly expanding the functionality that puts MySQL on a par with commercial DBMSs. If earlier the MySQL DBMS was accused of insufficient support for the SQL standard, then with the advent of the fifth version of this popular database, almost complete support for the SQL standard appeared. MySQL 5.0 contains the following innovations:
stored procedures and functions;
error handlers;
cursors;
triggers;
representation;
information schema (the so-called system vocabulary containing metadata).

MySQL 5.1

MySQL 5.1 continues the path to the SQL: 2003 standard. MySQL 5.1 contains the following innovations:

Segmentation - the ability to split one large table into several parts located in different file systems, based on user-defined functions. Under certain conditions, this can lead to significant performance gains and also makes it easier to scale tables.
Changed the behavior of a number of operators to be more compatible with the SQL2003 standard.
Row-based replication, in which only information about actually changed table rows will be written to the binary log instead of the original (and possibly slow) query text. Row replication can only be used for certain types of sql queries, in MySQL terms - mixed replication.
Built-in scheduler of periodically started jobs. In terms of syntax, adding a task is similar to adding a trigger to a table, in ideology, like adding a crontab.
Additional set of functions for XML processing, implementation of XPath support.
New troubleshooting tools and utilities for analyzing performance. Opportunities for managing the content of log files have been expanded, logs can now be saved in the general_log and slow_log tables. The mysqlslap utility allows you to perform load testing of the database, recording the response time for each request.
To simplify the upgrade operation, the mysql_upgrade utility has been prepared, which will check all existing tables for compatibility with new version, and make appropriate adjustments if necessary.
MySQL Cluster is now released as a standalone product based on MySQL 5.1 and the NDBCLUSTER repository.
Significant changes in running MySQL Cluster, such as, for example, the ability to store tabular data on disk.
Revert to using the built-in libmysqld library, which was not available in MySQL 5.0.
API for plugins that allows you to load third-party modules that extend functionality (for example, full-text search) without restarting the server.
Implementation of a full-text search parser as a plug-in.
New table type Maria (fault tolerant clone of MyISAM).

Maria table type

Maria (since version 5.2.x - Aria) is an extended version of the MyISAM storage, with the addition of tools to preserve data integrity after a crash.
The main advantages of Maria:

In case of a crash, the results of the current operation are rolled back or returned to the state before the LOCK TABLES command. Implementation through the maintenance of a log of operations.
Ability to restore state from anywhere in the activity log, including support for CREATE / DROP / RENAME / TRUNCATE. It can be used to create incremental backups by periodically copying the activity log.
Support for all MyISAM column formats has been extended with a new "rows-in-block" format that uses a page-based storage method where the data in the columns can be cached.
In the future, two modes will be implemented: transactional and without reflection in the transaction log, for non-critical data.
The data page size is 8Kb (in MyISAM 1Kb), which allows you to achieve more high performance for indexes on fixed-size fields, but slower when indexing variable-length keys.

MySQL 5.5

The MySQL 5.5 branch builds on the unreleased MySQL 5.4 series and contains a number of significant scalability and performance improvements, including:
Using the default InnoDB engine.
Support for semi-synchronous replication mechanism based on patches for InnoDB from Google.
Improved data partitioning functionality. Extended syntax for partitioning large tables into multiple parts located on file systems (partitioning). Added operations RANGE, LIST and optimization method "partition pruning".
New optimization mechanism for nested queries and JOIN operations.
The system of internal interlocks has been revised.
Integrated Google patches to optimize InnoDB on processors with big amount cores.

MySQL 6.0

MySQL 6.0 has been frozen in alpha testing. Initially, it was decided to create version 5.2, soon this version was renamed 6.0. However, later information about MySQL 6.0 disappeared from the site, and the developers focused on version 5.5 and the next version 5.6.
One of the major innovations in version 6.0 was the planned Falcon table type, developed as a potential replacement for InnoDB by Innobase, which was acquired by Oracle. In connection with the acquisition of Sun Microsystems in 2010 by the same Oracle, the fate of Falcon remains in question.

Specifications

The maximum size of tables in MySQL 3.22 is up to 4 GB, in future versions maximum size up to 8 million TB (263 bytes).
The size of the table is limited by its type. In general, the MyISAM type is limited by the file size limit in file system operating system... For example, in NTFS this size can theoretically be up to 32 exabytes. In the case of InnoDB, one table can be stored in multiple files representing a single tablespace. The latter can be up to 64 terabytes in size.

Unlike MyISAM, InnoDB has a significant limitation on the number of columns that can be added to a single table. The default memory page size is 16 kilobytes, of which 8123 bytes are allocated for data. The size of the pointer to dynamic fields is 20 bytes. Thus, in the case of using a dynamic row format (ROW_FORMAT = DYNAMIC), one table can accommodate a maximum of 409 blob or text columns.

Starting with version 4.1, a new system of encodings and sorts has been introduced into the MySQL DBMS. When using the Windows-1251 encoding, before executing the SQL statements, you must configure the connection encoding using the operators:

SET character_set_client = "cp1251";
SET character_set_results = "cp1251";
SET character_set_connection = "cp1251";

These three operators are equivalent to calling one operator:

SET NAMES "cp1251"

The character_set_client variable sets the encoding of the data sent from the client, the character_set_results variable sets the encoding of the data sent to the client, the character_set_connection variable sets the encoding into which the information received from the client is converted before executing the request on the server.

When using Unicode UTF-8, this statement looks like this:
SET NAMES "utf8"

ISO 8859-5 encoding is not supported.


In MySQL select version ()- a request that returns the name of the package used and its version. The name can be MySQL itself or its own fork, MaraiDB. The difference between the packages is not noticeable for most tasks. MySQL 5.6 is compliant with MaraiDB 10.

MySQL select version and how to find out the MySQL version

You can find out the version in several ways. The simplest one does not require knowing the password of the database server user. It is enough to log in via SSH and execute mysql -version

mysql Ver 14.14 Distrib 5.5.55, for debian-linux-gnu (x86_64) using readline 6.3

To use the method given in the title, you need to send SQL query, for this - log in to the console (you can do this with a script).

Enter password:
Welcome to the MySQL monitor. Commands end with; or \ g.
Your MySQL connection id is 41
Server version: 5.5.55-0ubuntu0.14.04.1 (Ubuntu)

Copyright (c) 2000, 2017, Oracle and / or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and / or its
affiliates. Other names may be trademarks of their respective
owners.

Type "help;" or "\ h" for help. Type "\ c" to clear the current input statement.

The required information is available in the output that appears after successful authorization. In this case, MySQL Server version 5.5.55-0 is used.

Also, once in the console of the database server, you can request the version as follows:

+————————-+
| version () |
+————————-+
| 5.5.55-0ubuntu0.14.04.1 |
+————————-+
1 row in set (0.00 sec)

In all considered cases, equally complete information was obtained.

Read this series of articles covering the basics of working with MySQL ().

If the site scripts working with the database are written for a specific version of the software on the server and it is not used, the version as well as the package itself can be changed. This is done in Debian quite simply, below is the algorithm.

Changing the version of the database server to Debian

1) using the mysqldump utility, a dump of all tables (including service ones) is created

2) the package is removed apt-get remove mysql-server * && apt-get purge mysql-server *, you also need to remove / var / lib / mysql and / etc / mysql after making a copy

3) in /etc/apt/source.list, the repository given on the official site is added (for example, for MariaDB 10 on Debian 8), the information is updated apt-get update

3) also through apt-get a new package is installed after which the database dumps are loaded

Copies should always be kept in case of emergencies. For different versions different directives are used in configuration files and manual editing may be required.

Read about, with the help of it the version of the package was displayed, it is the selection that is the most frequent operation.