How to Connect a Database to Python InMotion Hosting ContributorUpdated on February 15, 2022 2 Minute Read It is helpful to understand how to connect a database to Python scripts for serving dynamically generated web pages and collaborative reports. Python is almost always included in Linux distributions and used for multiple applications already. You don’t need PHP for this. Below we’ll cover how to create a Python database connection (MySQL/MariaDB) in the Linux terminal. How to Connect a Database to Python 2.7 Log into SSH.From your website root directory, create a Python script file in the “cgi-bin” directory: touch cgi-bin/test-db.pyChange the file’s permissions to 755:chmod 755 cgi-bin/test-db.pyIf you wish to execute Python scripts in web browsers, edit your Apache .htaccess file:nano .htaccessAdd the following at the top of the file and save changes: AddHandler cgi-script .pyTo complete the Python database connection you’ll need to know the database host (“localhost” if on the same system), name, username, and user password.Run Python:pythonEnsure you have the MySQL Python module installed:import MySQLdb If you receive no notification, that means it is installed. You’ll need to install the module if you receive the error “ImportError: No module named mysqldb.”Exit Python:exit ()If you need to install it, we recommend using your OS repositories. You can also use PIP.Alma / Enterprise Linux: sudo yum install MySQL-pythonUbuntu:sudo apt-get install python-pip python-dev libmysqlclient-devPIP:pip install MySQL-pythonEdit your Python script:nano cgi-bin/test-db.pyInsert the code below to connect to the database and run “SELECT VERSION(),” which shows our current version of MySQL. Replace the database user, password, and database.#!/usr/bin/env pythonimport MySQLdb# connect to the databasedb = MySQLdb.connect("localhost","user","password","database" )# setup a cursor object using cursor() methodcursor = db.cursor()# run an sql questioncursor.execute("SELECT VERSION()")# grab one resultdata = cursor.fetchone()# begin printing data to the screenprint "Content-Type: text/html"printprint """<!DOCTYPE html><html><head><title>Python - Hello World</title></head><body>"""print "Database version : %s " % dataprint"""</body></html>"""# close the mysql database connectiondb.close()Save changes.Run the Python script:python test-db.py The results should show basic HTML markup and your current database version. You can also visit the Python script URL in the web browser if you updated your web server configuration file. You’ll see the database version line. Congrats on learning how to connect a database to Python 2.7+. Learn more about programming with Python. If you don’t need cPanel, don't pay for it. Only pay for what you need with our scalable Cloud VPS Hosting. CentOS, Debian, or Ubuntu No Bloatware SSH and Root Access Share this Article InMotion Hosting Contributor Content Writer InMotion Hosting contributors are highly knowledgeable individuals who create relevant content on new trends and troubleshooting techniques to help you achieve your online goals! More Articles by InMotion Hosting Related Articles How to Set Up Cloudflare with InMotion Hosting Intro to Migrating your WordPress Site Data Migrating your WordPress Database Migrating WordPress Files Configuring WordPress After a Migration Testing your WordPress website after Migration How to Move WordPress from a Subfolder to the Root Directory What to expect during a mass server migration Move Your WordPress Site to a New Server Moving Websites Built with Older Technology into WordPress