Mysql: Difference between revisions
Appearance
just added a tips section for those who might need it, it includes `mycli` |
m →Tips: i included a link for the mycli github page |
||
| Line 24: | Line 24: | ||
= Tips = | = Tips = | ||
install | install [https://github.com/dbcli/mycli mycli] to get autocompletion when working with mysql/mariadb | ||
<syntaxhighlight lang="nix">environment.systemPackages = [ pkgs.mycli ];</syntaxhighlight> | <syntaxhighlight lang="nix">environment.systemPackages = [ pkgs.mycli ];</syntaxhighlight> | ||
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