1. Home
  2. Knowledge Base
  3. cPanel
  4. Databases
  5. Creating and Managing MySQL Databases in cPanel

Creating and Managing MySQL Databases in cPanel

This article assumes you are already logged in to cPanel. Click Here for details on how to log in to cPanel, follow this guide.

Introduction to MySQL Databases in cPanel

MySQL, an open-source database management system, plays a critical role in managing the data for your website. MySQL Databases in cPanel feature provides a user-friendly interface to create, modify, and manage these databases efficiently. This feature is essential for websites running on content management systems like WordPress, allowing for seamless data storage and retrieval.

Quick Start Guide to MySQL Databases

Creating a New Database

  1. Locate the MySQL Databases Option: In cPanel, find the “MySQL Databases” icon under the “Databases” section.
  1. Create a Database: Enter a name for your new database and click “Create Database”. Remember, the database name will be prefixed with your cPanel username.

Adding Users to Your Database

  1. Create a New User: Under the ‘MySQL Users’ section, fill in the username and password fields. You can use the Password Generator button to create a random, strong password.

Maintaining security is essential, and a robust password plays a crucial role in this. Web servers, with their superior power and bandwidth compared to personal computers, often become prime targets for password-cracking attempts. Therefore, we advise utilising the integrated password generator for creating your password, ensuring enhanced security.

  1. Assign the User: Go to ‘Add User to Database’, select your user and database, and click ‘Add’. You will then be presented with a “User Privileges” screen. Here you can set the permissions for the user to access the database you have just created.

Detailed explanation of each field on the form

FieldDescription
UsernameUnique identifier for the new user account. Must be unique and cannot be used by any other user on the website.
PasswordUsed to log in to the mySQL account. Should be strong and difficult to guess. A strong password is at least 12 characters long and contains a mix of upper and lowercase letters, numbers, and symbols.
Confirm PasswordVerifies that the entered password matches the first password input.
Password Strength MeterIndicates the strength of the entered password. A green meter indicates a strong password, while a green meter reading indicates an acceptable password.
Password Generator ButtonUnique identifier for the new user account. It must be unique and cannot be used by any other user on the website.
Create UserCreates the new user account. Once created, the user can log in to the mySQL database.
Explanation of each field on the Add New User form

Manage User Privileges Screen

The Manage User Privileges screen allows you to define the specific permissions for the user you are adding to the database. Permissions range from reading and writing data (SELECT, INSERT) to more advanced actions like modifying database structure (ALTER, DROP). It is important to carefully consider the level of access required by each user, as granting excessive permissions can pose security risks. Ideally, assign only the necessary permissions that align with the user’s role and responsibilities in managing the database, ensuring a secure and efficiently managed database environment.

Once the appropriate permissions are set and the database is created, your database is ready for use. This newly created database now forms an integral part of your website’s back-end, ready to store and manage the data for your site’s functionality and performance.

Security Considerations

Strong User Credentials

It is important to establish strong and unique usernames and passwords for database users. A strong username and password are the primary defence against unauthorised access to your database.

Strong credentials typically involve a combination of uppercase and lowercase letters, numbers, and special characters. They should be of a reasonable length, preferably more than 12 characters. Avoid using easily guessable information like common words, phrases, or personal details. Regularly updating these details and ensuring they are unique to each user further secures your database against potential security breaches. By following these guidelines, you can significantly reduce the risk of unauthorised access, keeping your database secure and your data protected.

Limiting Permissions

Carefully controlling the permissions granted to your database user is essential for maintaining database security. Assign permissions based on the specific role and responsibilities of each user. This approach, known as the “principle of least privilege”, ensures that users have only the access they need to perform their tasks.

For example, a user responsible for content updates may only need SELECT and INSERT permissions, while more advanced permissions like ALTER or DROP should be reserved for database administrators.

By limiting permissions, you minimise any potential damage in the event of a security breach. If permissions are limited, attackers or unauthorised users would have restricted capabilities within the database. This targeted allocation of permissions not only enhances security but also maintains the integrity and confidentiality of your database.

MySQL permissions and explanations of features

PermissionExplanation
ALTERModify the structure of existing tables (e.g., adding/removing columns).
ALTER ROUTINEAlter or drop stored routines (procedures/functions) created by the user.
CREATECreate new databases and tables.
CREATE ROUTINECreate stored routines (procedures and functions).
CREATE TEMPORARY TABLESCreate temporary tables, which are session-specific and auto-dropped at session end.
CREATE VIEWCreate new views, which are virtual tables representing data subsets.
DELETEDelete rows from a table.
DROPDrop databases, tables, and views from the database.
EVENTCreate, alter, drop, and execute events for the event scheduler.
EXECUTERun stored procedures.
INDEXCreate and drop indexes, used to improve data retrieval speed.
INSERTAdd new rows to tables.
LOCK TABLESLock tables for the duration of a SQL session.
REFERENCESCreate foreign key constraints to link tables and maintain data integrity.
SELECTRead and retrieve data from the database.
SHOW VIEWUse the SHOW CREATE VIEW statement to display a view’s creation.
TRIGGERCreate and drop triggers, operations performed automatically in response to table actions.
UPDATEModify existing rows in a table.
This table provides a clear and concise overview of the various permissions available in MySQL and their functions. ​

Regular Software Updates carried out by SmartHost

Maintaining up-to-date database software is critical to protect against vulnerabilities. Smarthost updates all software levels daily, as soon as new patches and updates are released. This proactive approach ensures that any identified security flaws are quickly addressed, significantly reducing the risk of potential cyber threats.

These updates not only enhance security but also often bring performance improvements and new functionalities. These contribute to the overall efficiency of your database. With SmartHost, you benefit from continuous monitoring and immediate application of crucial updates, ensuring your data remains protected and your database operates at its peak.

Conclusion

Effectively managing MySQL databases is a basic aspect of maintaining a robust, dynamic website. The MySQL Databases feature in cPanel simplifies this process, offering tools and interfaces suited for both beginners and advanced users. Regular maintenance, security awareness, and understanding of database management are key to achieving the full potential of mySQL.

FAQ: Managing MySQL Databases in cPanel

1. What is MySQL in cPanel?

MySQL in cPanel is an open-source database management system used to store and manage the data for websites, particularly those using content management systems like WordPress. It offers user-friendly tools for creating, modifying, and managing databases.

2. How do I create a MySQL database in cPanel?

In cPanel, navigate to the “MySQL Databases” section. Enter a name for your new database and click “Create Database.” SmartHost ensures a smooth process for database creation through cPanel’s intuitive interface.

3. Why is it important to use strong user credentials for MySQL databases?

Strong user credentials are vital for preventing unauthorized access to your database. They should be unique and complex, combining letters, numbers, and special characters. SmartHost emphasizes the importance of robust security measures, including the use of strong credentials.

4. How does SmartHost ensure the security of my MySQL databases?

SmartHost secures MySQL databases by providing features like regular software updates and patches. This approach addresses vulnerabilities promptly and enhances the overall security and performance of your database.

5. What are user permissions in MySQL, and how do I set them?

User permissions in MySQL determine what actions a user can perform within a database. They can be set in cPanel under the “User Privileges” screen after adding a user to a database. SmartHost recommends assigning permissions based on user roles to maintain optimal security and functionality.

6. Why is it important to keep database software updated?

Keeping database software updated is crucial to protect against vulnerabilities and improve performance. SmartHost ensures that all software levels are updated daily as new patches and updates are released.

7. Can I back up my MySQL database with SmartHost?

Yes, SmartHost provides tools within cPanel for backing up and restoring MySQL databases. Regular backups are essential for data protection and recovery in case of data loss or corruption.

8. What is the principle of least privilege, and how does it apply to MySQL databases?

The principle of least privilege involves granting users only the permissions necessary for their roles. This minimizes potential risks in case of a security breach. SmartHost advocates for this principle to enhance the security of your MySQL databases.

9. How can I learn more about managing my MySQL database with SmartHost?

Visit SmartHost’s knowledge base for detailed guides and resources on managing MySQL databases in cPanel. Our comprehensive articles and support team are here to assist you in effectively managing your database.

Was this article helpful?

Related Articles

Go to Top