kea-admin - Man Page

Shell script for managing Kea databases


kea-admin [command] [backend] [-h database_host] [-P database_port] [-u database_username] [-p [database_password]] [-n database_name] [-d script_directory] [-v] [-x extra_argument [-x extra_argument ...]] [-4 | -6] [-i input_file] [-o output_file] [-y]


kea-admin is a shell script that offers database maintenance. In particular, it features database initialization, database version checking, and database schema upgrading.



Specifies the command to be issued to the servers. It can be one of the following:


Initializes a new database schema. This is useful during a new Kea installation. The database is initialized to the latest version supported by the version of the software being installed.


Reports the database backend version number. This is not necessarily equal to the Kea version number, as each backend has its own versioning scheme.


Conducts a database schema upgrade. This is useful when upgrading Kea.


Dumps the contents of the lease database (for MySQL or PostgreSQL backends) to a CSV (comma-separated values) text file. (Support for the Cassandra backend has been deprecated.) The first line of the file contains the column names. This can be used as a way to switch from a database backend to a memfile backend. Alternatively, it can be used as a diagnostic tool, so it provides a portable form of the lease data. There are other mandatory arguments that must be used together with this command. Either -4 or -6 must be specified. Also -o or --output must be provided.


Uploads leases from a CSV (comma-separated values) text file to a MySQL or a PostgreSQL lease database. The CSV file needs to be in memfile format. There are other mandatory arguments that must be used together with this command. Either -4 or -6 must be specified. Also -i or --input must be provided.


Recounts lease statistics for a MySQL or PostgreSQL database.


Specifies the backend type. Currently allowed backends are: memfile, mysql, and pgsql; cql has been deprecated.

-h|--host hostname

Specifies the hostname when connecting to a database. The default value is localhost.

-i|--input input_file

Specifies the CSV (comma-separated values) text file with leases to be uploaded. Required for lease-upload.

-P|--port port

Specifies the port when connecting to a database. If not specified, the default value chosen by the database client is used.

-u|--user username

Specifies the username when connecting to a database. The default value is keatest.

-p|--password password

Specifies the password when connecting to a database. If only -p or --password is given, the user is prompted for a password. If not specified at all, the KEA_ADMIN_DB_PASSWORD environment variable is checked for a value and used if it exists. Otherwise the default value of keatest is used.

-n|--name database-name

Specifies the name of the database to connect to. The default value is keatest.

-d|--directory script-directory

Specifies the override scripts directory. That script is used during upgrades, database initialization, and possibly other operations. The default value is (prefix)/share/kea/scripts/.

-o|--output output_file

Specifies the file to which the lease data will be dumped. Required for lease-dump.


Prints the kea-admin version and quits.


Directs kea-admin to lease-dump the DHCPv4 leases. Incompatible with the -6 option.


Directs kea-admin to lease-dump the DHCPv6 leases. Incompatible with the -4 option.


Specifies an extra argument to pass to the database command tool e.g. to invoke mysql with the --ssl argument. This can be repeated to pass more than one argument. Quotes are not preserved. Avoid commands containing spaces.


Assume yes on overwriting temporary files.


Kea comes with an extensive Kea Administrator Reference Manual that covers all aspects of running the Kea software - compilation, installation, configuration, configuration examples, and much more. Kea also features a Kea Messages Manual, which lists all possible messages Kea can print with a brief description for each of them. Both documents are available in various formats (.txt, .html, .pdf) with the Kea distribution. The Kea documentation is available at

Kea source code is documented in the Kea Developer's Guide, available at

The Kea project website is available at

Mailing Lists and Support

There are two public mailing lists available for the Kea project. kea-users (kea-users at is intended for Kea users, while kea-dev (kea-dev at is intended for Kea developers, prospective contributors, and other advanced users. Both lists are available at The community provides best-effort support on both of those lists.

ISC provides professional support for Kea services. See for details.

See Also

kea-dhcp4(8), kea-dhcp6(8), kea-dhcp-ddns(8), kea-ctrl-agent(8), keactrl(8), perfdhcp(8), kea-netconf(8), Kea Administrator Reference Manual.


Internet Systems Consortium

Referenced By

keactrl(8), kea-ctrl-agent(8), kea-dhcp4(8), kea-dhcp6(8), kea-dhcp-ddns(8), kea-lfc(8), kea-shell(8), perfdhcp(8).

Mar 26, 2024 2.4.1 Kea