# Using Utilities HeavyDB includes the utilities [initdb](/installation-and-configuration/services-and-utilities/utilities#initdb) for database initialization and [generate\_cert](/installation-and-configuration/services-and-utilities/utilities#generate_cert) for generating certificates and private keys for an HTTPS server. ## initdb Before using HeavyDB, initialize the data directory using `initdb`: ```bash initdb [-f | --skip-geo] $HEAVYAI_BASE/storage ``` This creates three subdirectories: * `catalogs`: Stores HeavyDB catalogs * `data`: Stores HeavyDB data * `log`: Contains all HeavyDB log files. * `disk_cache`: Stores the data cached by HEAVY COnnect The `-f` flag forces `initdb` to overwrite existing data and catalogs in the specified directory. By default, `initdb` adds a sample table of geospatial data. Use the `--skip-geo` flag if you prefer not to load sample geospatial data. ## generate\_cert ```bash generate_cert [{-ca} ] [{-duration} ] [{-ecdsa-curve} ] [{-host} ] [{-rsa-bits} ] [{-start-date} ] ``` This command generates certificates and private keys for an HTTPS server. The options are: * `[{-ca} ]`: Whether this certificate should be its own Certificate Authority. The default is `false`. * `[{-duration} ]`: Duration that the certificate is valid for. The default is `8760h0m0s`. * `[{-ecdsa-curve} ]`: ECDSA curve to use to generate a key. Valid values are `P224`, `P256`, `P384`, `P521`. * `[{-host} ]`: Comma-separated hostnames and IPs to generate a certificate for. * `[{-rsa-bits} ]`: Size of RSA key to generate. Ignored if –ecdsa-curve is set. The default is `2048`. * `[{-start-date} ]`: Start date formatted as `Jan 1 15:04:05 2011`