# Databases

Below is a list of all supported databases along with their compatible operating systems. You can click on each tab to view more details.

<details>

<summary><em><mark style="color:green;">MYSQL [Ubuntu 24.04/22.04]</mark></em></summary>

**Create User & Database, Then Run Security Script**

**Step 1: Run the Security Script**

```
sudo mysql_secure_installation
```

You’ll be prompted to:

* Set a root password (if not already set)
* Remove anonymous users
* Disallow remote root login
* Remove the test database
* Reload privilege tables

> **Tip**: Press `Y` to accept the recommended security settings.

**Step 2: Log In to MySQL**

With the admin password set, you can now access your MySQL instance by running the following command:

```
sudo mysql -u root -p
```

* **Username**: `root`
* **Password**: *(enter the password you set in Step 1)*

</details>

<details>

<summary><em><mark style="color:green;">MYSQL [Alma Linux 9.5/ 8.5]</mark></em></summary>

**Create User & Database, Then Run Security Script**

**Run the MySQL Security Script:**

```
sudo mysql_secure_installation
```

You’ll be prompted to:

* Change the root password
* Remove anonymous users
* Disallow remote root login
* Remove the test database
* Reload privilege tables

**Tip**: Press `Y` to accept the recommended security settings.

**Log In to MySQL**

```
mysql -u root -p
```

Enter the root password you set during the security script.

**Configure MySQL for Remote Access**

```
sudo nano /etc/my.cnf
```

Find the line with `bind-address` and change it to:

```
bind-address = 0.0.0.0
```

Save and exit the file.

**Restart MySQL Service**

```
sudo systemctl restart mysqld
```

**Open MySQL Port in Firewall**

```
sudo firewall-cmd --permanent --add-service=mysql
sudo firewall-cmd --reload
```

**Verify MySQL Access**

```
sudo mysql -u root -p
```

Username: root\
Password: (your admin password)

</details>

<details>

<summary><em><mark style="color:green;">PostgreSQL [Ubuntu 24.04]</mark></em></summary>

**Create User & Database**

```
sudo -i -u postgres
createuser --interactive
createdb mydatabase
```

**Or via SQL:**

```
psql
CREATE USER myuser WITH PASSWORD 'mypassword';
CREATE DATABASE mydb OWNER myuser;
\q
```

**Optional: Enable Remote Access**

```
sudo nano /etc/postgresql/16/main/postgresql.conf
Set:
listen_addresses = '*'
sudo nano /etc/postgresql/16/main/pg_hba.conf
Add:
host all all 0.0.0.0/0 md5
sudo systemctl restart postgresql
```

</details>

<details>

<summary><em><mark style="color:green;">MariaDB [Ubuntu24.04/22.04]</mark></em></summary>

**Create User & Database, Then Run Security Script**

**Run the Security Script**

```
sudo mysql_secure_installation
```

You’ll be prompted to:

* Set a root password (if not already set)
* Remove anonymous users
* Disallow remote root login
* Remove the test database
* Reload privilege tables

**Tip**: Press `Y` to accept the recommended security settings.

**Log In to MariaDB**

```
sudo mariadb -u root -p
```

Username: root\
Password: (enter the password you set above)

**Enable Remote Access (Optional)**

```
sudo nano /etc/my.cnf
```

Locate the `bind-address` line and update it to:

```
bind-address = 0.0.0.0
```

Save and exit the file.

**Restart MariaDB Service**

```
sudo systemctl restart mysqld
```

**Open MariaDB Port in Firewall**

```
sudo firewall-cmd --permanent --add-service=mysql
sudo firewall-cmd --reload
```

</details>

<details>

<summary><em><mark style="color:green;">MongoDB [Ubuntu 24.04/22.04]</mark></em></summary>

**In order to start and enable service:**

```
sudo systemctl enable mongod
sudo systemctl start mongod
sudo systemctl status mongod
```

With an admin without password you can now access your MongoDB instance, run command.

**Launch the MongoDB Shell**

```
mongosh
```

**View Available Databases**

Once inside the shell, run:

```
show databases;
```

**Expected Output:**

```
admin   40.00 KiB
config  12.00 KiB
local   72.00 KiB
```

**Exit the MongoDB Shell**

Press `Ctrl + Z` to exit the shell and return to the command prompt.

**For secure access to Mongo DB (Optional)**

**Step 1: Start MongoDB Shell**

```
mongosh
```

**Step 2: Switch to `admin` Database**

```
use admin
```

**Step 3: Create an Admin User with Password**

Replace `YourStrongPassword123!` with your own strong password.

```
db.createUser({
  user: "admin",
  pwd: "YourStrongPassword123!",
  roles: [ { role: "root", db: "admin" } ]
})
```

**Step 4: Enable Authentication**

Edit the MongoDB config file:

```
sudo nano /etc/mongod.conf
```

Find the section:

```
#security: 
```

Uncomment and enable:

```
security:authorization: enabled 
```

Save and exit (`CTRL+O`, `CTRL+X`).

**Step 5: Restart MongoDB**

```
sudo systemctl restart mongod
```

**Step 6: Log in with Password**

Now you must use your username and password:

```
mongosh -u admin -p YourStrongPassword123! --authenticationDatabase admin
```

</details>

<details>

<summary><em><mark style="color:green;">MongoDB [Alma Linux 9.5/8.10]</mark></em></summary>

**In order to start and enable service:**

```
sudo systemctl enable mongod

sudo systemctl start mongod

sudo systemctl status mongod
```

**Open Firewall (Optional for remote access):**

```
sudo firewall-cmd --zone=public --add-port=27017/tcp --permanent
sudo firewall-cmd –reload
```

With an admin without password you can now access your MongoDB instance, run command.

**Launch the MongoDB Shell**

```
mongosh
```

**View Available Databases**

Once inside the shell, run:

```
show databases;
```

**Expected Output:**

```
admin   40.00 KiB
config  12.00 KiB
local   72.00 KiB
```

**Exit the MongoDB Shell**

Press `Ctrl + Z` to exit the shell and return to the command prompt.

**For secure access to Mongo DB (Optional)**

**Step 1: Start MongoDB Shell**

```
mongosh
```

**Step 2: Switch to `admin` Database**

```
use admin
```

**Step 3: Create an Admin User with Password**

Replace `YourStrongPassword123!` with your own strong password.

```
db.createUser({
  user: "admin",
  pwd: "YourStrongPassword123!",
  roles: [ { role: "root", db: "admin" } ]
})
```

**Step 4: Enable Authentication**

Edit the MongoDB config file:

```
sudo nano /etc/mongod.conf
```

Find the section:

```
#security: 
```

Uncomment and enable:

```
security:authorization: enabled 
```

Save and exit (`CTRL+O`, `CTRL+X`).

**Step 5: Restart MongoDB**

```
sudo systemctl restart mongod
```

**Step 6: Log in with Password**

Now you must use your username and password:

```
mongosh -u admin -p YourStrongPassword123! --authenticationDatabase admin
```

</details>

<details>

<summary><em><mark style="color:green;">Redis Server [Ubuntu24.04/22.04] / AlmaLinux 9.5/8.10</mark></em></summary>

You can access your Redis instance using the default admin user without a password. To verify connectivity and run basic commands, please follow the steps below:

**Launch the Redis CLI:**

```
redis-cli
```

**At the prompt, test the connection by running:**

```
ping
```

You should see the response:

```
PONG
```

To exit the Redis CLI, simply type: exit

</details>

<details>

<summary><em><mark style="color:green;">LAMP [Ubuntu24.04/22.04]</mark></em></summary>

**Getting Started After Deploying LAMP**

**LAMP MOTD**

On your first SSH login to the VM or launch of the VM console of your PhpMyAdmin VM 1-Click; you will be greeted by a message of the day which includes the admin password for your PhpMyAdmin instance:

**LAMP passwords location**

If for any reason, you are unable to access the message of the day, you can get the admin password by simply reading the /root/.neoncloud\_password file in your VM:

**PhpMyAdmin login screen**

With an admin password, you can now access your PhpMyAdmin instance, by visiting:

```
http://<your_server_IP>/phpmyadmin
```

Username → admin\
Password → StrongPass123!

</details>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.neoncloud.com/neon-cloud-marketplace-1-click-apps/databases.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
