Airzero Cloud

Next Generation Cloud !

Database

A database is an organized collection of data, so that it can be easily accessed and managed.

Introduction

MongoDB is a document database that is widely used in modern web applications. It has a classification.

Because it does not rely on a traditional table-based relational database, it is referred to as a NoSQL database structure.

Instead, it uses JSON-like documents with vibrant schemes, which suggests that, unlike relational databases, MongoDB, unlike other databases, does not require a predefined schema before adding data to a database. You can change the schema at any time and as often as you like without having to set it up. A new database with a new schema. In this blog, you will install, test, and learn about MongoDB on an Ubuntu 20.04 server. how it should be managed as a system service.

Prerequisites

You will need the following items to follow this blog:

There is one Ubuntu 20.04 server. This server should have a non-root administrative user and a UFW-enabled firewall.

Step 1 — Installing MongoDB

A stable version of MongoDB is available in Ubuntu's official package repositories. However, as of this writing, the latest stable release of MongoDB is 4.4, and the version available from the default Ubuntu repositories is 3.6. To get the most up-to-date version of this software, add MongoDB's dedicated package repository to your APT sources. Then you can install mongodb-org, a meta-package that always points to the most recent version of MongoDB. To begin, run the following command to import the public GPG key for the most recent stable version of MongoDB. If you like to use various versions of MongoDB than 4.4, make certain to change 4.4 in the URL portion of this command to match the version you want to install:

curl -fsSL https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -
  • A cURL is a command-line tool that can be found on many operating systems and is used to transfer data.
  • It reads the data stored at the URL passed to it and prints it to thesystem's output. It's also worth noting that this curl command includes the -fsSL flag, which tells cURL to fail silently. This means that if cURL is unable to contact the GPG server or the GPG server is unavailable, it will not inadvertently add the resulting error code to your list of trusted keys.

If the key was successfully added, this command will return OK:

Output
OK
  • If you want to double-check that the key was correctly added, use the following command:

apt-key list

  • The MongoDB key will be returned somewhere in the output:

Output

/etc/apt/trusted.gpg
--------------------
pub   rsa4096 2019-05-28 [SC] [expires: 2024-05-26]
      2069 1EEC 3521 6C63 CAF6  6CE1 6564 08E3 90CF B1F5
uid           [ unknown] MongoDB 4.4 Release Signing Key 
. . .

At this point, your APT installation is still unsure where to look for the mongodb-org package. The package you must install is the most recent version of MongoDB.APT looks for online sources of packages to download and install on your server in two places: the sources. list file and the sources.list.d directory. sources.list is a file that lists active APT data sources, one per line, with the most preferred sources listed first. You can add such sources to the sources.list.d directory. Entries should be listed as separate files. Run the following command to create a file called mongodb-org-4.4.list in the sources.list.d directory. This file contains only one line of text.

 deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb
-org/4.4 multiverse:
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list

This single line informs APT of everything it needs to know about the source and where to look for it: deb: This indicates that the source entry refers to a standard Debian architecture.

In other cases, this part of the line may read deb-src, indicating that the source entry represents the source code of a Debian distribution

[arch=amd64,arm64]: [arch=amd64,arm64]: 

This specifies which architectures should receive APT data. It specifies the amd64 and arm64 architectures in this case.

https://repo.mongodb.org/apt/ubuntu:

This is a URI that represents the location of the APT data.

In this case, the URI refers to the HTTPS address of the official MongoDB repository.

focal/mongodb-org/4.4: 

Ubuntu repositories may include multiple releases. This tells Ubuntu that you only require version 4.4 of the mongodb-org package to be required for the focal release.

sudo apt update

Following that, you can enable MongoDB:

sudo apt install mongodb-org

When prompted, enter Y followed by ENTER to confirm that you want to install the package. MongoDB will be installed on your system once the command is completed. It is, however, not yet ready for use. After that, you'll start MongoDB and verify that it's operational.

Step 2: Launch the MongoDB Service and Test the Database

The previous step's installation automatically configures MongoDB to run as a daemon controlled by systemd, which means you can manage MongoDB using the various systemctl commands. This installation procedure, however, does not start the service automatically. use the systemctl command:

sudo systemctl start mongod.service

Then, check the status of the service. It's worth noting that this command excludes. service from the service file definition. so it's not necessary to include it:

sudo systemctl status mongod

This command will produce the following output, indicating that the service is operational:

Output

● mongod.service - MongoDB Database Server
     Loaded: loaded (/lib/systemd/system/mongod.service; disabled; vendor preset: enabled)
     Active: active (running) since Tue 2020-06-09 12:57:06 UTC; 2s ago
       Docs: https://docs.mongodb.org/manual
   Main PID: 37128 (mongod)
     Memory: 64.8M
     CGroup: /system.slice/mongod.service
             └─37128 /usr/bin/mongod --config /etc/mongod.conf

enable the MongoDB service to start automatically at boot:

sudo systemctl enable mongod

You can confirm that the database is operational further by connecting to the database server and running a diagnostic command. The command given will connect to the database and output its current version, server address, and port. It will also return the outcome of the MongoDB internal connectionStatus command:

mongo --eval 'db.runCommand({ connectionStatus: 1 })'
connectionStatus 

will check the database connection and return it

A value of 1 in the response's ok field indicates that the server is functioning normally:

Output
MongoDB shell version v4.4.0
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("1dc7d67a-0af5-4394-b9c4-8a6db3ff7e64") }
MongoDB server version: 4.4.0
{
    "authInfo" : {
        "authenticatedUsers" : [ ],
        "authenticatedUserRoles" : [ ]
    },
    "ok" : 1
}

Also, keep in mind that the database is running on port 27017 on 127.0.0.1, which is the local loopback address for localhost. Following that, we'll look at how to use systemd to manage the MongoDB server instance.

Step 3: Overseeing the MongoDB Service

you can manage services using standard systemctl commands, just like you would other Ubuntu system services.

The systemctl status command, as previously mentioned, checks the status of the MongoDB service:

sudo systemctl status mongod
  • You can cancel the service at any time by typing:
sudo systemctl stop mongod
  • To restart the service after it has been stopped, type:
sudo systemctl start mongod
  • When the server is already running, you can restart it:
sudo systemctl restart mongod

In Step 2, you enabled MongoDB to start with the server automatically. If you ever want to turn off the automatic startup, type:

sudo systemctl disable mongod

Then, to re-enable it to start up at boot, issue the following command: enable

sudo systemctl enable mongod

Systemd Essentials: Working with Services, Units, and the Journal contains more information on how to manage systemd services.

Conclusion

You added the official MongoDB repository to your APT instance and installed the latest version of MongoDB in this blog. You then practised some systemctl commands and tested Mongo's functionality.

If you have any questions about installing MongoDB on Ubuntu 20.04. Please do not hesitate to contact us. Your digital partner will be Airzero cloud.

Airzero Cloud is a leading web hosting company with a variety of useful tools. We will help you expand your business.

Email id: [email protected] enter image description here

Author - Johnson Augustine
Cloud Architect, Ethical hacker
Founder: Airo Global Software Inc
LinkedIn Profile: www.linkedin.com/in/johnsontaugustine/

In this blog, we will look at how to enable remote access to a MySQL database on an Ubuntu machine.

  • In the MySQL Configuration file, allow connections from clients other than localhost.

In the configuration file, allow MySQL connections from other clients. The MySQL configuration file will be located in the /etc/mysql/mysql.conf.d directory and will be named mysqld.cnf. MySQL is configured by default to accept connections only from localhost, i.e. 127.0.0.1; we must change this to 0.0.0.0 to allow connections from other clients.

Change,

bind-address = 127.0.0.1

to

bind-address = 0.0.0.0
  • In the Ubuntu Machine's firewall, whitelist the client’s IP address.

The Ubuntu machine includes the Ubuntu Firewall, which by default does not permit incoming connections to MySQL port 3306. As a result, we must open the port for the client's specific IP address or, if your client does not have a fixed IP address, for all IP addresses.

Assume your client has the IP address 50.75.120.81. The following line on your terminal will enable incoming connections to port 3306 from a client with the IP address 50.75.120.81:

ufw allow any port 3306 from 50.75.120.81

If your client does not have a fixed IP address or if you need to allow all IP addresses (not recommended as anyone can attempt to connect to 3306),

ufw allow 3306

If you have any questions about How to Enable Remote MySQL Database Access on an Ubuntu Machine. Please do not hesitate to contact us. Your digital partner will be Airzero cloud.

Airzero Cloud is a fantastic web hosting service provider with an array of powerful tools. We will assist you in growing your business.

Email id: [email protected]

enter image description here

Author - Johnson Augustine
Cloud Architect, Ethical hacker
Founder: Airo Global Software Inc
LinkedIn Profile: www.linkedin.com/in/johnsontaugustine/