Jump to content

Mysql: Difference between revisions

From NixOS Wiki
imported>Onny
Initial page
 
Nyxar77 (talk | contribs)
m Tips: i included a link for the mycli github page
 
(3 intermediate revisions by 3 users not shown)
Line 1: Line 1:
MySQL is a widely used open source relational database management system (RDBMS) that offers various features, tools, and services for data warehousing, analytics, machine learning, and more. MariaDB is a popular and stable fork of MySQL that is compatible with MySQL and has additional enhancements and features.
[https://www.mysql.com MySQL] and [https://mariadb.org MariaDB] are installed via the same services.mysql configuration.  


= Setup =
* MySQL is a widely used open source relational database management system (RDBMS) that offers various features, tools, and services for data warehousing, analytics, machine learning, and more.
* MariaDB is a popular and stable fork of MySQL that is compatible with MySQL and has additional enhancements and features.


Setup and enable Mysql (MariaDB) database daemon
= Setup MySQL =
 
Setup and enable Mysql database daemon (in this example: latest stable version in nixpkgs)


<syntaxhighlight lang="nix">
<syntaxhighlight lang="nix">
services.mysql.enable = true;
services.mysql = {
  enable = true;
  package = pkgs.mysql;
};
</syntaxhighlight>
</syntaxhighlight>
= Setup MariaDB =
Setup and enable MariaDB database daemon (in this example: version 11.0)
<syntaxhighlight lang="nix">services.mysql = {
  enable = true;
  package = pkgs.mariadb_110;
};</syntaxhighlight>
= Tips =
install [https://github.com/dbcli/mycli mycli] to get autocompletion when working with mysql/mariadb
<syntaxhighlight lang="nix">environment.systemPackages = [ pkgs.mycli ];</syntaxhighlight>


= Maintenance =
= Maintenance =

Latest revision as of 23:28, 22 October 2025

MySQL and MariaDB are installed via the same services.mysql configuration.

  • MySQL is a widely used open source relational database management system (RDBMS) that offers various features, tools, and services for data warehousing, analytics, machine learning, and more.
  • MariaDB is a popular and stable fork of MySQL that is compatible with MySQL and has additional enhancements and features.

Setup MySQL

Setup and enable Mysql database daemon (in this example: latest stable version in nixpkgs)

services.mysql = {
  enable = true;
  package = pkgs.mysql;
};

Setup MariaDB

Setup and enable MariaDB database daemon (in this example: version 11.0)

services.mysql = {
  enable = true;
  package = pkgs.mariadb_110;
};

Tips

install mycli to get autocompletion when working with mysql/mariadb

environment.systemPackages = [ pkgs.mycli ];

Maintenance

Upgrade

NixOS will not run mysql_upgrade automatically for you after upgrading to a new major version, because it is a "dangerous" operation (can lead to data corruption) and users are strongly advised (by MariaDB upstream) to backup their database before running mysql_upgrade.

mysqldump -u root -p --all-databases > alldb.sql

After backup is completed, you can proceed with the upgrade process

mysql_upgrade