How To

Install DBeaver on Fedora 45 / 44: RPM, Flatpak and MariaDB

DBeaver Community has two Fedora builds, and they are not interchangeable. The RPM from dbeaver.io bundles its own Java and can use the native client tools on the host. The Flathub build bundles a different Java, updates through Flatpak, and has no database client tools in its base sandbox. Pick the wrong one and backups will surprise you later.

Original content from computingforgeeks.com - post 21409

This guide installs both, verifies the RPM against the SHA-256 file DBeaver publishes, connects to a MariaDB database on the same machine and runs real queries. It also covers the Fedora 45 change that breaks the old rpm -Uvh instructions and an RPM upgrade that dnf reports as failed. The install and connection steps were run on Fedora 45 and Fedora 44 with the Workstation desktop and SELinux enforcing in October 2026, using DBeaver Community 26.2.2; the release where each upgrade and Flatpak check ran is named in its section.

Choose the RPM or the Flatpak

Both builds track the same release. The differences are in packaging, and they matter more than the version number. We installed each one on Fedora 45 and Fedora 44 and checked what it actually does on a GNOME desktop:

What we checkedRPM from dbeaver.ioFlatpak from Flathub
Size on diskAbout 203 MiB in /usr/share/dbeaver-ce298 MB app, plus the GNOME runtime
JavaBundled Temurin 25, no system Java neededBundled OpenJDK 21 in /app/jre
Display on GNOMENative Wayland windowNative Wayland window
Package signatureUnsigned, verify with the published SHA-256Checked by Flatpak against Flathub
UpdatesDownload the new RPM and upgrade by handflatpak update
mysqldump, pg_dump available to DBeaverWhatever is installed on the hostNone in the base app; Flathub lists optional client add-ons
Connections and saved passwords~/.local/share/DBeaverData, shared by both builds

Use the RPM if you plan to run the dump and restore tools in DBeaver, because those call the native client binaries. Use the Flatpak if you want updates through flatpak update and some isolation, but note that it can read your whole home directory. The last row catches people out: both builds read the same workspace, so installing one after the other carries every saved connection across.

Download and verify the RPM

The latest-stable link redirects to the current GitHub release asset, so it never needs a version in the URL. Download it into your home directory:

cd ~
curl -sSLo dbeaver-ce-latest-stable.x86_64.rpm https://dbeaver.io/files/dbeaver-ce-latest-stable.x86_64.rpm
ls -lh dbeaver-ce-latest-stable.x86_64.rpm

The package is a little over 120 MB:

-rw-r--r--. 1 josphat josphat 122M Oct 10 20:16 dbeaver-ce-latest-stable.x86_64.rpm

DBeaver doesn’t sign its RPM, and rpm -qpi reports Signature : (none). Check it with rpm -K:

rpm -K dbeaver-ce-latest-stable.x86_64.rpm

Fedora 45 checks signatures as well as digests, so it fails and exits with code 1:

dbeaver-ce-latest-stable.x86_64.rpm: digests SIGNATURES NOT OK

Fedora 44 prints digests OK for the same file, because its rpm only checks digests by default. Neither result proves where the file came from. DBeaver publishes a SHA-256 file for every release on dbeaver.io, a different host from the GitHub download. Read the current version from the GitHub API and fetch that file:

VER=$(curl -s https://api.github.com/repos/dbeaver/dbeaver/releases/latest | python3 -c 'import json,sys; print(json.load(sys.stdin)["tag_name"])'); echo $VER; curl -fsSL https://dbeaver.io/files/$VER/checksum/dbeaver-ce-$VER-linux-x86_64.rpm.sha256

It prints the version and the published hash:

26.2.2
ac034c7a0ec44da1231a0a7de844b2b394bc3744ccb0251efb36bb00182c8c76

Hash the file you downloaded and compare:

sha256sum dbeaver-ce-latest-stable.x86_64.rpm

The two values match, so the file is the one DBeaver released:

ac034c7a0ec44da1231a0a7de844b2b394bc3744ccb0251efb36bb00182c8c76  dbeaver-ce-latest-stable.x86_64.rpm

Install the RPM with dnf

Older guides, including the previous version of this one, used sudo rpm -Uvh. Neither that nor sudo rpm -ivh works on Fedora 45; we ran rpm -ivh, which goes through the same verification. Its rpm ships with %{_pkgverify_level} set to all, so rpm refuses any package it cannot verify, and an unsigned package can never pass. The same command on Fedora 44 still installs the file. This is what Fedora 45 prints:

Verifying...                          ########################################
Preparing...                          ########################################
	package dbeaver-ce-0:26.2.2-stable.x86_64 does not verify: no signature

Nothing gets installed. Our guide to rpm signature errors on Fedora covers this policy in detail. For DBeaver the fix is simple: install through dnf, which handles local files with its own setting and works on both releases:

sudo dnf install -y ./dbeaver-ce-latest-stable.x86_64.rpm

One package, no dependencies, about 203 MiB on disk:

Package     Arch   Version         Repository        Size
Installing:
 dbeaver-ce x86_64 0:26.2.2-stable @commandline 202.6 MiB
Transaction Summary:
 Installing:         1 package
Total size of inbound packages is 122 MiB. Need to download 0 B.
After this operation, 203 MiB extra will be used (install 203 MiB, remove 0 B).
Running transaction
[1/3] Verify package files              100% |   2.0   B/s |   1.0   B |  00m00s
[2/3] Prepare transaction               100% |   9.0   B/s |   1.0   B |  00m00s
[3/3] Installing dbeaver-ce-0:26.2.2-st 100% | 180.2 MiB/s | 202.8 MiB |  00m01s
Warning: skipped OpenPGP checks for 1 package from repository: @commandline
Complete!

The warning is expected. dnf skips OpenPGP checks on local files because localpkg_gpgcheck defaults to 0, and here there is no signature to check anyway. The checksum you compared above is what proves the file. You also do not need to install Java first. The package carries its own runtime:

/usr/share/dbeaver-ce/jre/bin/java -version

It is an Eclipse Temurin build:

openjdk version "25.0.4.1" 2026-08-18 LTS
OpenJDK Runtime Environment Temurin-25.0.4.1+1 (build 25.0.4.1+1-LTS)
OpenJDK 64-Bit Server VM Temurin-25.0.4.1+1 (build 25.0.4.1+1-LTS, mixed mode)

Launch DBeaver and opt out of telemetry

Search for dbeaver in the GNOME overview, or start it from a terminal with dbeaver-ce. Use that name rather than dbeaver. The package owns /usr/bin/dbeaver-ce, while /usr/bin/dbeaver is a symlink a post-install script creates, and an upgrade can delete it (more on that below).

The first start opens a Product Configuration wizard: language, theme, the optional AI and dashboard features, then data collection. The usage statistics page has Share anonymous usage statistics selected by default:

DBeaver Product Configuration wizard on Fedora 45 with usage statistics sharing selected by default

Pick Do not share anonymous usage statistics if the workstation touches anything sensitive. The last page offers a sample SQLite database and Tip of the day. We skipped both and clicked Apply. Reopen the wizard later from Help, Show Product Configuration.

Create a test database in MariaDB

DBeaver needs something to connect to. The Fedora repositories carry MariaDB, MySQL and PostgreSQL servers, so any of them works. This guide uses MariaDB from the default mariadb-server package. The full server setup is in our MariaDB on Fedora guide, and PostgreSQL on Fedora is the alternative. Install and start it:

sudo dnf install -y mariadb-server
sudo systemctl enable --now mariadb
mariadb --version

Fedora 45 and Fedora 44 ship different MariaDB series. This is the Fedora 45 line:

mariadb from 12.3.2-MariaDB, client 15.2 for Linux (x86_64) using  EditLine wrapper

Create a database and a user that can only touch it. Pick your own password in place of the example:

sudo mariadb -e "CREATE DATABASE test_db; CREATE USER 'test_user'@'localhost' IDENTIFIED BY 'Db-Example-Pass-2026'; GRANT ALL PRIVILEGES ON test_db.* TO 'test_user'@'localhost';"

Then add a small table so there is data to look at:

sudo mariadb test_db -e "CREATE TABLE servers (id INT AUTO_INCREMENT PRIMARY KEY, hostname VARCHAR(64) NOT NULL, os VARCHAR(32), ram_gb INT, added TIMESTAMP DEFAULT CURRENT_TIMESTAMP); INSERT INTO servers (hostname, os, ram_gb) VALUES ('web01','Fedora 45',8),('web02','Fedora 44',8),('db01','Rocky Linux 10',32),('cache01','Debian 13',4);"
sudo mariadb test_db -e 'SELECT id,hostname,os,ram_gb FROM servers'

Four rows come back:

id	hostname	os	ram_gb
1	web01	Fedora 45	8
2	web02	Fedora 44	8
3	db01	Rocky Linux 10	32
4	cache01	Debian 13	4

Connect DBeaver to MariaDB

Press Ctrl+Shift+N or click the plug icon to open Connect to a database. Pick MariaDB and click Next. Keep the host as localhost and port 3306, then fill in the database, user and password you created:

DBeaver MariaDB connection settings with localhost, test_db and test_user on Fedora 45

Click Test Connection. A fresh install has no JDBC drivers, so DBeaver asks to download the MariaDB connector from Maven Central. Expand Show details to see exactly which artifact it fetches:

DBeaver driver settings dialog listing the mariadb-java-client file it will download

Click Download. The jar lands in ~/.local/share/DBeaverData/drivers/maven/maven-central/org.mariadb.jdbc/, and the test runs as soon as it finishes. The first test took 30 seconds on Fedora 45 because it included the download:

DBeaver connection test succeeded against MariaDB 12.3.2 with Connector/J 3.5.10 on Fedora 45

Fedora 44 gives the same result against its own, older MariaDB server:

DBeaver connection test against MariaDB 11.8.8 on Fedora 44

Click OK, then Finish. Expand the connection in the navigator down to Databases, test_db, Tables and double-click servers. The Data tab shows the rows in an editable grid:

DBeaver Data tab showing the four rows of the servers table on Fedora 45

For ad hoc queries, open a SQL script with Ctrl+]. Type the query and run the statement under the cursor with Ctrl+Enter:

DBeaver SQL editor running a GROUP BY query against MariaDB with results below

The connection definition goes in data-sources.json and the saved password in credentials-config.json, both under ~/.local/share/DBeaverData/workspace6/General/.dbeaver/. Back that directory up if you have dozens of connections. SELinux logged no denials for DBeaver on either release during any of this.

Install the Flatpak build instead

The cloud-based Fedora installs we used had only the fedora Flatpak remote, so Flathub has to be added first. Our Flatpak and Flathub guide for Fedora covers the remote in more depth:

sudo flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
sudo flatpak install -y flathub io.dbeaver.DBeaverCommunity

The install took just under two minutes on Fedora 45, most of it spent on the GNOME runtime. Check what the sandbox is allowed to do:

flatpak info --show-permissions io.dbeaver.DBeaverCommunity

It gets the network, your whole home directory and the Secret Service bus:

[Context]
shared=ipc;network;
sockets=fallback-x11;pulseaudio;ssh-auth;wayland;
devices=dri;
filesystems=home;

[Session Bus Policy]
org.freedesktop.Notifications=talk
org.freedesktop.secrets=talk
org.freedesktop.FileManager1=talk

[Environment]
PATH=/app/clients/bin:/app/jre/bin:/usr/bin:/app/bin

filesystems=home is why the Flatpak reads the same ~/.local/share/DBeaverData as the RPM. The PATH lists /app/clients/bin, the mount point for optional client add-ons on Flathub (io.dbeaver.DBeaverCommunity.Client.mariadb and .pgsql, which we did not test). Without them the sandbox has no mysqldump or pg_dump:

flatpak run --command=sh io.dbeaver.DBeaverCommunity -c "java -version 2>&1 | head -2; mysqldump --version; pg_dump --version"

Java is the OpenJDK copy bundled into the app, and both dump tools are missing:

openjdk version "21.0.12.1" 2026-08-18
OpenJDK Runtime Environment 25.08 (build 21.0.12.1)
sh: line 1: mysqldump: command not found
sh: line 1: pg_dump: command not found

With both builds installed, the GNOME overview shows two launchers. dbeaver-ce is the RPM and DBeaver CE is the Flatpak:

GNOME overview on Fedora 45 showing the dbeaver-ce RPM launcher and the DBeaver CE Flatpak launcher

We launched the Flatpak after the RPM had already been set up. It skipped the wizard, listed the test_db connection and connected with the saved password. Both builds draw native Wayland windows on GNOME. The RPM build also opens a connection to Xwayland, but its window does not appear in the X11 window tree:

DBeaver Flatpak on Fedora 45 opening the test_db connection created by the RPM build

We ran one build at a time against the shared workspace. Close the RPM build before opening the Flatpak, and the other way round.

Update DBeaver

Update the Flatpak build on its own:

sudo flatpak update -y io.dbeaver.DBeaverCommunity

There’s no repository behind the RPM, so updates mean downloading the new file and upgrading with dnf. On Fedora 45 we installed the previous release fresh and then upgraded it to the current one. dnf reported a failure:

[3/4] Upgrading dbeaver-ce-0:26.2.2-sta 100% | 230.4 MiB/s | 202.8 MiB |  00m01s
>>> Running %post scriptlet: dbeaver-ce-0:26.2.2-stable.x86_64
>>> Non-critical error in %post scriptlet: dbeaver-ce-0:26.2.2-stable.x86_64
>>> Scriptlet output:
>>> ln: failed to create symbolic link '/usr/bin/dbeaver': File exists
>>> 
>>> [RPM] %post(dbeaver-ce-0:26.2.2-stable.x86_64) scriptlet failed, exit status 1
[4/4] Removing dbeaver-ce-0:26.2.1-stab 100% |   4.5 KiB/s | 942.0   B |  00m00s
Transaction failed: Rpm transaction failed.

dnf exited with code 1, yet the new version was installed, rpm -V dbeaver-ce passed, and only /usr/bin/dbeaver-ce was left. The package scripts explain it:

rpm -q --scripts dbeaver-ce

The post-install script creates the dbeaver symlink under set -e, and the pre-uninstall script removes it:

postinstall scriptlet (using /bin/sh):
#!/bin/sh

set -e

PRODUCT_MODIFIER="ce"

# https://github.com/dbeaver/dbeaver/issues/13555
if [ "$PRODUCT_MODIFIER" = "ce" ]; then
    ln -s "/usr/share/dbeaver-$PRODUCT_MODIFIER/dbeaver" /usr/bin/dbeaver
fi

exit 0

preuninstall scriptlet (using /bin/sh):
#!/bin/sh

set -e

PRODUCT_MODIFIER="ce"
SYMLINK=/usr/bin/dbeaver

if [ "$PRODUCT_MODIFIER" = "ce" ] && [ -f "$SYMLINK" ] ; then
    rm $SYMLINK
fi

exit 0

During an upgrade rpm runs the post-install script of the new package first and the pre-uninstall script of the old package after it. After a fresh install the link already exists, so ln -s fails and the transaction is marked failed. The old package then deletes the link. The fix is to remove the link before upgrading. Download the new file first and verify it with the checksum step above:

cd ~
curl -sSLo dbeaver-ce-latest-stable.x86_64.rpm https://dbeaver.io/files/dbeaver-ce-latest-stable.x86_64.rpm

Once the hash matches, remove the link and upgrade:

sudo rm -f /usr/bin/dbeaver
sudo dnf upgrade -y ./dbeaver-ce-latest-stable.x86_64.rpm

This time dnf finishes normally:

Warning: skipped OpenPGP checks for 1 package from repository: @commandline
Complete!

The dbeaver link is still gone afterwards, removed by the script in the old package. Either point shortcuts and scripts at dbeaver-ce, which the package owns, or recreate the link with sudo ln -s /usr/share/dbeaver-ce/dbeaver /usr/bin/dbeaver. If you recreate it, keep the rm -f step in every future upgrade.

Remove DBeaver

Remove whichever build you installed. The third command also clears runtimes nothing else uses:

sudo dnf remove -y dbeaver-ce
sudo flatpak uninstall -y io.dbeaver.DBeaverCommunity
sudo flatpak uninstall -y --unused

None of these touches your workspace. Delete ~/.local/share/DBeaverData to drop connections, saved passwords and downloaded drivers, and ~/.var/app/io.dbeaver.DBeaverCommunity if you ran the Flatpak.

Production notes

  • Give DBeaver an account scoped to the databases it needs, like test_user above, not the root account of the server.
  • The Fedora MariaDB package listens on all interfaces. Keep port 3306 closed in firewalld and use the SSH tunnel tab in DBeaver for remote servers.
  • The saved password file sits in your home directory. Anyone who can read your home can take it, so leave Save password off for production connections.
  • If you manage MySQL specifically, the Oracle client is covered in our MySQL Workbench on Fedora guide. For more tools, see our roundup of MySQL and MariaDB clients, and the DBeaver guide for Ubuntu and Debian covers the Debian side.

The rest of the Fedora 45 changes that affect desktop software are in what is new in Fedora 45.

Keep reading

How to Upgrade Fedora 44 to Fedora 45 (GUI, CLI and Rollback) Fedora How to Upgrade Fedora 44 to Fedora 45 (GUI, CLI and Rollback) Enable RPM Fusion and Install Multimedia Codecs on Fedora 45 / 44 / 43 Fedora Enable RPM Fusion and Install Multimedia Codecs on Fedora 45 / 44 / 43 Harden Fedora 45 / 44 for Desktop and Server: Complete Guide Fedora Harden Fedora 45 / 44 for Desktop and Server: Complete Guide Switch Fedora From GRUB to systemd-boot With bootctl Fedora Switch Fedora From GRUB to systemd-boot With bootctl DNF5 Cheatsheet for Fedora 45 / 44: Tested Commands and Fixes Fedora DNF5 Cheatsheet for Fedora 45 / 44: Tested Commands and Fixes Fedora 45 Remote Install over HTTPS with inst.webui.remote Fedora Fedora 45 Remote Install over HTTPS with inst.webui.remote

1 thought on “Install DBeaver on Fedora 45 / 44: RPM, Flatpak and MariaDB”

Leave a Comment

Press ESC to close