Learn how to install Percona Server on CentOS 8 with this comprehensive guide. Follow our step-by-step instructions to set up and configure Percona Server on your Linux system quickly and efficiently. #centlinux #linux #mysql
Table of Contents
What is Percona Server for MySQL?
Percona Server is an enhanced, open-source, and fully compatible drop-in replacement for MySQL. It is designed to provide superior performance, scalability, and reliability for demanding database applications. Percona Server is developed and maintained by Percona, a company renowned for its database expertise and commitment to open-source solutions. Key features of Percona Server include:
- Performance Enhancements: Includes various optimizations and improvements over standard MySQL, delivering better performance for high-traffic applications.
- Scalability: Supports large-scale deployments with features that enhance the handling of large databases and heavy loads, making it suitable for enterprise environments.
- Advanced Monitoring: Integrates seamlessly with Percona Monitoring and Management (PMM) tools, offering advanced analytics and insights into database performance.
- High Availability: Provides robust solutions for high availability and disaster recovery, including support for Percona XtraDB Cluster for clustering and replication.
- Enhanced Security: Offers additional security features and improvements, ensuring better protection for sensitive data and compliance with security standards.
- User and Developer-Friendly: Maintains full compatibility with MySQL, allowing users to migrate easily and developers to use familiar MySQL tools and applications.
- Extensive Support and Community: Backed by a strong community and Percona’s professional support services, offering users a wealth of resources and assistance.
- Open Source: Completely free and open-source, ensuring transparency, flexibility, and freedom from vendor lock-in.
Percona Server is widely used by organizations that require a reliable, high-performance database solution. It is an excellent choice for businesses looking to enhance their MySQL-based applications with better performance, scalability, and advanced features.
Recommended Online Training: Complete MySQL Database Administration Course
MySQL vs Percona Server
Percona Server and MySQL are both popular open-source relational database management systems, but they have distinct differences that can influence the choice of one over the other based on specific needs. Here’s a comparison of the two:
Percona Server
Performance:
- Enhanced performance features and optimizations over standard MySQL, particularly under high load and large-scale deployments.
- Includes additional tools for monitoring and tuning, such as Percona Monitoring and Management (PMM).
Scalability:
- Better suited for large-scale environments with advanced replication and clustering options.
- Percona XtraDB Cluster offers enhanced high availability and scalability.
Security:
- Additional security features and improvements over standard MySQL.
- Regular updates and patches focused on security enhancements.
Support and Community:
- Strong community support with extensive documentation and forums.
- Professional support services offered by Percona for enterprises needing expert assistance.
Cost:
- Free and open-source, with paid support options available.
Compatibility:
- Fully compatible with MySQL, allowing easy migration and integration with MySQL tools and applications.
MySQL
Performance:
- Standard performance suitable for many applications.
- MySQL Enterprise Edition includes additional performance features but requires a paid license.
Scalability:
- Adequate for many medium to large applications.
- MySQL Group Replication and InnoDB Cluster provide high availability and scalability.
Security:
- Strong security features, with regular updates and patches.
- MySQL Enterprise Edition includes advanced security features, but these require a paid license.
Support and Community:
- Extensive community support with a vast amount of resources, documentation, and user forums.
- Oracle offers professional support through MySQL Enterprise Edition.
Cost:
- Community Edition is free and open-source.
- Enterprise Edition requires a paid license for additional features and support.
Compatibility:
- Widely supported by many applications and tools.
- Extensive ecosystem with numerous third-party integrations and plugins.
Choosing Between Percona Server and MySQL
- Performance Needs: If your application requires enhanced performance, particularly under heavy load, Percona Server might be the better choice due to its optimizations and advanced features.
- Scalability and High Availability: For large-scale deployments and environments needing high availability, Percona’s advanced clustering and replication options offer significant advantages.
- Cost Considerations: Both offer free versions, but if you need enterprise-level features and support, Percona provides a cost-effective alternative to MySQL’s paid Enterprise Edition.
- Compatibility and Ecosystem: Both are fully compatible with each other and with a wide range of tools and applications, making either a viable choice for most use cases.
Ultimately, the choice between Percona Server and MySQL will depend on your specific requirements for performance, scalability, support, and cost.
Environment Specification
We are using a minimal CentOS 8 KVM with following specifications.
- CPU – 3.4 Ghz (2 cores)
- Memory – 2 GB
- Storage – 20 GB
- Operating System – CentOS 8.2
- Hostname – percona-01.centlinux.com
- IP Address – 192.168.116.230 /24
Update Linux Operating System
Connect with percona-01.centlinux.com as root user by using a ssh client.
It is a good practice to update Linux software packages before installing a new software. We recommend you to upgrade centos 7 to 8, if you have not already did so.
# dnf update -y Last metadata expiration check: 0:01:56 ago on Fri 20 Nov 2020 08:22:31 PM PKT. Dependencies resolved. Nothing to do. Complete!
Software packages in our Linux operating system are already up-to-date.
Verify the operating system and Linux Kernel version that are being used in this installation guide.
# uname -r 4.18.0-193.28.1.el8_2.x86_64 # cat /etc/redhat-release CentOS Linux release 8.2.2004 (Core)
Install Percona Yum Repository
There are different ways to install Percona Server for MySQL. You can install it by using RPMs, Source Code or Official Yum Repository.
Since, you are working on Red Hat based Linux distro, therefore, the most convenient method is to install it from their official yum repository.
Therefore, you need to install Percona yum repository in your Linux server.
# dnf install -y https://repo.percona.com/yum/percona-release-latest.noarch.rpm
Percona yum repository also installs percona-release script. This script is used to enable/disable additional yum repositories.
Execute the following command to enable Percona server 8.0 repository and disable all other MySQL yum repositories.
# percona-release setup ps80
Build cache for newly installed yum repositories.
# dnf makecache CentOS-8 - AppStream 3.6 kB/s | 4.3 kB 00:01 CentOS-8 - Base 3.5 kB/s | 3.9 kB 00:01 CentOS-8 - Extras 1.2 kB/s | 1.5 kB 00:01 Percona Release release/noarch YUM repository 4.3 kB/s | 2.9 kB 00:00 Percona Server 8.0 release/x86_64 YUM repositor 4.4 kB/s | 2.9 kB 00:00 Percona Tools release/x86_64 YUM repository 4.1 kB/s | 2.9 kB 00:00 Metadata cache created.
Install Percona Server on CentOS 8
You can now install Percona RDBMS by using dnf command.
# dnf install -y percona-server-server
Enable and start mysqld.service.
# systemctl enable --now mysqld.service Created symlink /etc/systemd/system/multi-user.target.wants/mysqld.service â /usr/lib/systemd/system/mysqld.service.
Verify the version of your database server.
# mysql -V mysql Ver 8.0.21-12 for Linux on x86_64 (Percona Server (GPL), Release 12, Revision 7ddfdfe)
Configure Percona MySQL Server
On first startup, the mysqld.service generates a random password for root user.
You can obtain auto generated root password from mysqld.service logs by executing following command.
# grep "temporary password" /var/log/mysqld.log 2020-11-20T15:48:32.560387Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: cjk-4sB/bWWt
Secure your database machine by executing mysql_secure_installation command and configure the security options as follows.
# mysql_secure_installation Securing the MySQL server deployment. Enter password for user root: The existing password for the user account root has expired. Please set a new password. New password: Re-enter new password: The 'validate_password' component is installed on the server. The subsequent steps will run with the existing configuration of the component. Using existing password for root. Estimated strength of the password: 100 Change the password for root ? ((Press y|Y for Yes, any other key for No) : N ... skipping. By default, a MySQL installation has an anonymous user, allowing anyone to log into MySQL without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment. Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y Success. Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network. Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y Success. By default, MySQL comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y - Dropping test database... Success. - Removing privileges on test database... Success. Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y Success. All done!
Percona Server for MySQL has been installed and configured on your Linux machine.
Login to MySQL shell as root user.
# mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or g. Your MySQL connection id is 22 Server version: 8.0.21-12 Percona Server (GPL), Release 12, Revision 7ddfdfe Copyright (c) 2009-2020 Percona LLC and/or its affiliates Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or 'h' for help. Type 'c' to clear the current input statement. mysql>
List down the available databases in your server.
mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sys | +--------------------+ 4 rows in set (0.01 sec)
Check the version of your database server.
mysql> select version(); +-----------+ | version() | +-----------+ | 8.0.21-12 | +-----------+ 1 row in set (0.00 sec)
Exit from MySQL shell.
mysql> exit Bye
A recommended book on MySQL RDBMS is Murach’s MySQL (3rd Edition) (PAID LINK) by Joel Murach.
Final Thoughts
In conclusion, installing Percona Server on CentOS 8 is a straightforward process when you follow the correct steps. Percona Server offers enhanced performance, reliability, and features, making it an excellent choice for your database needs.
If you need further assistance with installing Percona Server on Linux or any other database-related tasks, I’m here to help. Check out my Fiverr service for professional and reliable support: Linux Server Admin. I provide step-by-step guidance and expert advice to ensure your Percona Server installation and configuration are done correctly. Let’s get your database running smoothly!