Creating a Database for Joomla!

From Joomla! Documentation

Every installation of the Joomla! CMS requires a database. The database will store data such as articles, menus, categories, and users. This information is needed to make and manage your Joomla! website. Regardless of the requirements of the version, in order to install Joomla! you must have a working database, database user, database password and proper privileges for the database user. You will need to complete these tasks before you begin the installation. This article will address the most common type of database used when Installing Joomla!, a MySQL database. First, we show using cPanel on a hosting account, other types of hosting interfaces should have similar steps. Then we show the same using phpMyAdmin on a localhost XAMPP setup

MySQL DB Wizard

For beginners, it is recommended the MySQL Database Wizard is used. The wizard will guide you step by step through the process. You may use these steps to guide you through your own hosting account panel if it differs, they are:

Create a Database  Create a User  Set User password  Set User Privileges.

First, activate the wizard by clicking the icon in you hosting account's cPanel.

CPanel-database-wizard-icon.png

Creating a Database

Next, you must choose a name for your database. In a shared hosting environment, your database name is usually proceeded by your hosting account's username, then an id your specify. For example, if your hosting account's username is B1234, your database name could look similar to this: B1234_joomla.

CPanel-create-MySQL-database.png

Creating a Database User and User password

Once you have created a database, you now need a 'database user' to access it. This step will create a user and the user's password at the same time. The username for a database will be similar in look to the database name. You can actually use the name of the database for the user, but for security, you should use a unique username with a strong password.

CPanel-create-MySQL-user.png

Set the User Privileges

The last task to creating a database for Joomla! is to give your database user privileges(permissions) to interact with your database. These privileges give your user the ability to create database tables, drop them(delete), alter, index and a variety of other interactive tasks.

CPanel-set-MySQL-user-privileges.png

  • If you are not using the database creation wizard. Privileges are usually included in the assignment of a database user to a database. This work flow is Create db  Create db User  Assign a db User to a db(including privileges).

Finishing Up

After you complete all the steps of the database wizard, you will see the summary of the final results.

CPanel-MySQL-database-wizard-finished.png

Write down the following information for use in your Joomla! installation.
  • Database name, example: D1234_joomla
  • Database user, example: D1234_juser
  • Database user's password
  • Note the location of the database. Usually, Localhost for a cPanel installation. Occasionally, a hosting account may have a database server completely separate from a user account's server for physical files. Instead of Localhost the database server may actually be a URL type of address, dbserver10.hosting.com.

MariaDB using phpMyAdmin XAMPP on Localhost

Start by opening your XAMPP Control Panel and seeing that it works by going to http://localhost/ You should see the XAMPP welcome page with PHPInfo and phpMyAdmin in the top menu.

Next, we will want to make our root user secure with a password. This can be done in your XAMPP console by opening the Shell and type in mysqladmin.exe -u root password secretpassword This will set the root to use a password. Obviously choose your own and not secretpassword. Make a note of it.

Add password.png


Now your phpMyAdmin will break so we need to fix that.

Navigate to your config.inc.php file which is most likely at

C:\xampp\phpMyAdmin\config.inc.php

On line 21

$cfg['Servers'][$i]['controlpass'] = ' ';

You need to add your password. In our example it will look like this

$cfg['Servers'][$i]['password'] = 'secretpassword';

Now our phpMyAdmin should work we can use to to create a new user

Create a new database user using phpMyAdmin XAMPP on Localhost

Open phpMyAdmin from the link in the top menu of the XAMPP welcome page and once opened select User accounts in the top menu. Here you will see a page listing the users. Select the Add user account link which is just under the New label.

You will be asked for a User name and a Password and to retype the Password. For local development on your localhost, you can then check the Global privileges Check all box and select go in the bottom right corner.

Create a new database using phpMyAdmin XAMPP on Localhost

Now you have your user you can create a new database to add your tables to or allow Joomla to create it for you in the installation process. If you want to name your own then click the Databases tab. Fill in the name you would like to use spacing words with underscore so if you want "my database" enter my_database Select utf8_unicode_ci and hit Create

You now have a database, a user and a password and are all set to install Joomla!