In this tutorial, we will show step-by-step how to install and configure Ghost as a Docker container. We will install and configure Ghost under the latest Docker CE version, use the MySQL as a database and use the Traefik as a Reverse Proxy.
In our earlier stage of Ansible, we just wrote simple playbook and ad-hoc command with very long ansible hosts file. When we plan to use Ansible extensively in our daily production use case, we understand that simple playbooks don’t help to scale up to our expectation.
Even though we had options for separate variables, handlers and template files according to our requirements, this un-organized way didn’t help. It looked very messy and made me unhappy when I saw the code too. That’s the place we decided to use Ansible Role.
My understanding of Ansible Roles?
The role is the primary mechanism for breaking a playbook into multiple files, we can simply refer to the Python Package. Roles help to group multiple tasks, Jinja2 template file, variable file and handlers into a clean directory structure. This will help us to reduce the syntax error while developing and also …
[Read more]
After installing MySQL 5.7.22 and PHP 7.1.17 on Fedora 27, you
need to install the mysqli
library. You need to
verify if the mysqli
library is installed. You can
do that with the following mysqli_check.php
program:
Check mysqli Install<?php if (!function_exists('mysqli_init') && !extension_loaded('mysqli')) { print 'mysqli not installed.'; } else { print 'mysqli installed.'; } ?>
You test preceding PHP program with the following URL in a browser:
http://localhost/mysqli_check.php
If the mysqli
program isn’t installed, you can
install it as follows by opening the yum
interactive
shell:
[root@localhost html]# yum shell Last metadata expiration check: 1:26:46 ago on Wed 22 Aug 2018 08:05:50 PM MDT. > remove php-mysql No match for argument: php-mysql Error: No packages marked for removal. > install php-mysqlnd > run …[Read more]
In this post we will review the most important Linux settings to adjust for performance tuning and optimization of a MySQL database server. We’ll note how some of the Linux parameter settings used OS tuning may vary according to different system types: physical, virtual or cloud. Other posts have addressed MySQL parameters, like Alexander’s blog MySQL 5.7 Performance Tuning Immediately After Installation. That post remains highly relevant for the latest versions of MySQL, 5.7 and 8.0. Here we will focus more on the Linux operating system parameters that can affect database performance.
Server and Operating System
Here are some Linux parameters that you should check and consider modifying if you need to improve database performance.
…
[Read more]Please join Percona’s Principal Support Escalation Specialist Sveta Smirnova as she presents Troubleshooting Best Practices: Monitoring the Production Database Without Killing Performance on Wednesday, June 27th at 11:00 AM PDT (UTC-7) / 2:00 PM EDT (UTC-4).
During the MySQL Troubleshooting webinar series, I covered many monitoring and logging tools such as:
- General, slow, audit, binary, error log files
- Performance Schema
- Information Schema
- System …
Why do I spend time blogging about security frameworks? Because, although there are some resources available on the Web, none apply to Percona XtraDB Cluster (PXC) directly. Actually, I rarely encounter a MySQL setup where SELinux is enforced and never when Percona XtraDB Cluster (PXC) or another Galera replication implementation is used. As we’ll see, there are good reasons for that. I originally thought this post would be a simple “how to” but it ended up with a push request to modify the SST script and a few other surprises.
Some context
These days, with all the major security breaches of the last few years, the importance of security in IT cannot be highlighted enough. For that reason, …
[Read more]Generally, when I'm analyzing MySQL Performance on Linux with "localhost" test workloads, I'm configuring client connections to use IP port (loopback) to connect to MySQL Server (and not UNIX socket) -- this is still at least involving IP stack in the game, and if something is going odd on IP, we can be aware ahead about. And indeed, it already helped several times to discover such kind of problems even without network links between client/server (like this one, etc.). However, in the past we also observed a pretty significant difference in QPS results when IP port was used comparing to UNIX socket (communications via UNIX socket were going near 15% faster).. Over a time with newer OL kernel releases this gap became smaller and smaller. But in all such …
[Read more]While updating my class image to Fedora 27, I noticed that it installed the Akonadi Server. The documentation on the Akonadi server lacked some straightforward documentation. It also offered a bundled set of software that limited how to approach MySQL development.
So, I removed all those packages with the following syntax:
dnf remove `rpm -qa | grep akonadi`
After removing those Akonadi packages, I installed the MySQL Community Edition from the Fedora repo with this syntax:
yum install -y community-mysql*
Having installed MySQL Community Edition, I started the service with this command:
sudo service mysql start
Then, I ran the mysql_secure_installation script to secure the installation:
mysql_secure_installation
The script set the root
user’s password, remove the
anonymous user, disallow remote root
login, and …
We have been told many times that modifying live database should
be done with extreme care, we should always make a backup before
doing something big to the database. However, there are countless
stories on the Internet about losing data due to various reason,
one of them is forgetting to create a backup (Gitlab is an
example: https://about.gitlab.com/2017/02/01/gitlab-dot-com-database-incident/).
I was facing the same issue when upgrading MySQL server to a new
version. Luckily I was able to restore most of the data but it
was still a very good lesson for me. One of lesson I learned is
how we could restore the data from the *.ibd
and
*.frm
file.
The database I worked with had many tables. There were about 5 of them using MyISAM engine while others were using InnoDB engine. I was asked to upgrade …
[Read more]Continuent is very pleased and excited to announce that the new Tungsten Clustering 6.0 and Tungsten Replicator 6.0 are now available for download by our customers. The 6.0 release is the culmination of over a years work within our clustering product in order to improve the functionality and manageability of what we now call our ‘Multimaster Clustering’ solution. This is the replacement for what we called the multi-site, multi-master (MSMM) clustering functionality in earlier releases. The multimaster clustering allows for multiple clusters, in multiple locations, to be linked together into a single composite cluster. Because it’s a composite cluster, you gain all of the functionality that’s already available in a cluster, such as:
- High availability
- Failover
- Automated recovery
- Read-write split
- Maintenance without downtime
But it’s now applied to the …
[Read more]