Download the latest stable version
of Cacti, referred to as cacti-xxx.zip in this document.
-
Stop the poller:
- Cacti Console → Configuration → Settings → Poller
- Uncheck Data Collection Enabled and save.
-
Run Command Prompt as Administrator and back up the database:
shell> cd Documents shell> mysqldump.exe -uroot -p --single-transaction --add-drop-table cacti > cacti-version-YYYYMMDD.sql
Note:
mysqldump.exeis located under your MySQL/MariaDB installation bin directory, e.g.%PROGRAMFILES%\MySQL\MySQL Server X.Y\bin\. -
Back up the old Cacti directory:
shell> cd \inetpub\wwwroot shell> robocopy cacti cacti-version-YYYYMMDD /s /b /copyall
-
Run Windows Update.
-
Upgrade MySQL/MariaDB:
- Open MySQL Installer - Community (or the MariaDB upgrade tool)
- Update the catalog
- Upgrade the server
-
Upgrade PHP:
- Back up the
C:\php\folder - Download a supported PHP version from PHP for Windows using the appropriate build for IIS (Non-Thread Safe + FastCGI) or Apache
- Overwrite
C:\php\with the contents of the new zip file
- Back up the
-
Install the new Cacti version: Extract the contents of the
cacti-xxxfolder fromcacti-xxx.ziptoC:\inetpub\wwwroot\cacti\, replacing existing files. -
Edit
include/config.phpand verify the database connection details:shell> notepad cacti/include/config.php$database_type = "mysql"; $database_default = "cacti"; $database_hostname = "localhost"; $database_username = "cactiuser"; $database_password = "cacti";
-
Browse to
http://localhost/cacti/and follow the on-screen instructions to update the database schema to the new version.If any session variables need adjustment, set them from the MySQL/MariaDB command-line client:
SET GLOBAL max_allowed_packet = 16777216; SET GLOBAL tmp_table_size = 67108864; SET GLOBAL join_buffer_size = 67108864; SET GLOBAL innodb_flush_log_at_timeout = 3;
-
Re-enable the poller:
- Cacti Console → Configuration → Settings → Poller
- Check Data Collection Enabled and save.
Copyright (c) 2004-2026 The Cacti Group