Articles
Many of my articles can be seen below.
I can do the same for your company. Book a meeting with me today!
MySQL Storage Engine Optimization: Configuring InnoDB Optimization For High Performance
This blog walks users through how they can optimize InnoDB parameters to achieve high performance for their MySQL, MariaDB, or Percona Server database instances.
Improving MySQL Performance with Advanced InnoDB Settings
This blog walks users through how they can improve their database performance by making use of advanced settings for the InnoDB storage engine in their MySQL, MariaDB, or Percona Server database instances.
How to Secure MySQL? Part One
This blog walks users through what should they do to secure their MySQL database instances. The first part of a two-part blog series.
How to Secure MySQL? Part Two
This blog walks users through what should they do to secure their MySQL database instances. The second part of a two-part blog series.
Full-Text Searches in MySQL: The Good, the Bad and the Ugly
This blog walks users through the full-text search functionality in MySQL.
Understanding Indexes in MySQL: Part One
This blog walks users through the ins and outs of indexes in MySQL. The first part of a three-part blog series.
Understanding Indexes in MySQL: Part Two
This blog walks users through the ins and outs of indexes in MySQL. The second part of a three-part blog series.
Understanding Indexes in MySQL: Part Three
This blog walks users through the ins and outs of indexes in MySQL. The third part of a three-part blog series.
Working with BLACKHOLEs in MySQL
This blog walks users through the internals of the BLACKHOLE storage engine in MySQL.
Understanding Lock Granularity in MySQL
This blog walks users through the concepts of lock granularity in MySQL.
Automating PostgreSQL Backups: A Guide
This guide walks developers through the automation of backups in PostgreSQL.
Database Design 101: Partitions in MySQL
This blog walks users through one of the pillars of database design – partitions – in MySQL and related database management systems.
Securing MySQL – Making Use of Data Access Privileges for a Secure Installation
This guide teaches users how to make use of data access privileges in MySQL to further secure the RDBMS.
MySQL Point in Time Recovery: How Does it Work?
This guide walks users through the Point-in-Time (PITR) recovery method in MySQL.
Automating MongoDB Backups: A Guide
This blog walks users through the things they need to do to automate backups in MongoDB.
Taking Physical Backups for MySQL
This guide walks users through the things they need to consider when taking physical backups in MySQL and related database management systems.
The Nuances of MySQL Indexes
This blog walks developers and DBAs through the nuances of indexing in MySQL and related database management systems.
Optimizing my.cnf for MySQL Performance
This blog walks developers and DBAs through ways to optimize the primary MySQL configuration file – my.cnf – for high perfomance.
Security in MySQL: Part One
This blog walks developers how best to protect their MySQL instances by utilizing access control and user security. This blog is the first part of a two-part blog series on Redgate.
Security in MySQL: Part Two
This blog walks developers how best to protect their MySQL instances by utilizing access control and user security. This blog is the second part of a two-part blog series on Redgate.
Optimizing MySQL: The Basics of Query Optimization
This blog walks developers and DBAs through the basics of SQL query optimization.
Backing Up MySQL Part 1: mysqldump
This blog walks developers through ways to back up their MySQL installations by using a logical backup tool – mysqldump.
Backing Up MySQL Part 2: Percona XtraBackup
This blog walks developers through the ins and outs of a hot backup utility by Percona – Percona XtraBackup.
Backing Up MySQL Part 3: mysqlpump
This blog walks developers through the ins and outs of an extendable, parallel-supporting replacement of mysqldump – mysqlpump.
Backing Up MySQL Part 4: mydumper
This blog walks users through the ins and outs of a tool that is built by Percona's engineering team and is created to address the performance issues caused by mysqldump.
Backing Up MySQL Part 5: Backing Up Big Data
This blog walks developers through ways to back up big data sets using MySQL or any of its counterparts.
Backing Up MySQL Part 6: Physical vs Logical Backups
This blog dives deeper into the differences between physical and logical backups in MySQL and related database management systems.
Backing Up MySQL Part 7: MySQL Enterprise Backup
This blog walks users through the primary way to take enterprise-level backups in MySQL: MySQL Enterprise Backup.
Backing Up MySQL Part 8: Zmanda Backups for MySQL & Other Backup Tools
This blog walks users through the Zmanda backup tool for MySQL and dives deeper into other backup tools a DBA should have under his belt.
Optimizing Queries in MySQL: Optimizing Reads
This blog walks developers and DBAs through ways to optimize SELECT
query performance in MySQL.
Optimizing MySQL: Adding Data to Tables
This blog walks developers and DBAs through ways to optimize INSERT
SQL query performance in MySQL and related database management systems.
Optimizing MySQL: Optimizing Updates
This blog walks developers and DBAs through ways to optimize UPDATE
SQL queries in MySQL and related database management systems.
Optimizing MySQL: Deleting Data
This blog walks developers and DBAs through ways to optimize DELETE
query performance in MySQL and related database management systems.
MySQL Index Overviews: B-Tree Indexes
This blog walks developers and DBAs through ways to optimize "vanilla" (B-Tree) indexes in MySQL and related database management systems.
Thoughts Before Speaking at the Software Architecture Conference 2024
This blog covers my thoughts before speaking at the Software Architecture Conference in 2024.
MySQL Index Overviews: Composite B-Tree Indexes
This blog walks developers and DBAs through composite B-Tree indexes in MySQL and related database management systems.
Thoughts Before Covering MariaDB Indexes in the MariaDB Server Fest 2024
This blog covers my thoughts before covering indexes in the MariaDB Server Fest in Berlin, Germany in 2024.
MySQL Index Overviews: FULLTEXT B-Tree Indexes
This blog walks developers and DBAs through FULLTEXT B-Tree indexes in MySQL and related database management systems.
The Nuances of MySQL Indexes
This blog walks developers and DBAs through the nuances of indexing in MySQL and related database management systems.
Optimizing my.cnf for MySQL Performance
This blog walks developers and DBAs through ways to optimize the primary MySQL configuration file – my.cnf – for high perfomance.
Security in MySQL: Part One
This blog walks developers how best to protect their MySQL instances by utilizing access control and user security. This blog is the first part of a two-part blog series on Redgate.
Security in MySQL: Part Two
This blog walks developers how best to protect their MySQL instances by utilizing components that keep MySQL safe, general security measures, and enterprise-level access controls. This is the second blog of the two-part blog series on MySQL security on Redgate.
Optimizing MySQL: The Basics of Query Optimization
This blog walks developers and DBAs through the basics of SQL query optimization.
Backing Up MySQL Part 1: mysqldump
This blog walks developers through ways to back up their MySQL installations by using a logical backup tool – mysqldump.
Backing Up MySQL Part 2: Percona XtraBackup
This blog walks developers through the ins and outs of a hot backup utility by Percona – Percona XtraBackup.
Backing Up MySQL Part 3: mysqlpump
This blog walks developers through the ins and outs of an extendable, parallel-supporting replacement of mysqldump – mysqlpump.
Backing Up MySQL Part 4: mydumper
This blog walks users through the ins and outs of a tool that is built by Percona's engineering team and is created to address the performance issues caused by mysqldump.
Backing Up MySQL Part 5: Backing Up Big Data
This blog walks developers through ways to back up big data sets using MySQL or any of its counterparts.
Backing Up MySQL Part 6: Physical vs Logical Backups
This blog dives deeper into the differences between physical and logical backups in MySQL and related database management systems.
Backing Up MySQL Part 7: MySQL Enterprise Backup
This blog walks users through the primary way to take enterprise-level backups in MySQL: MySQL Enterprise Backup.
Backing Up MySQL Part 8: Zmanda Backups for MySQL & Other Backup Tools
This blog walks users through the Zmanda backup tool for MySQL and dives deeper into other backup tools a DBA should have under his belt.
Optimizing Queries in MySQL: Optimizing Reads
This blog walks developers and DBAs through ways to optimize SELECT
query performance in MySQL.
Optimizing MySQL: Adding Data to Tables
This blog walks developers and DBAs through ways to optimize INSERT
SQL query performance in MySQL and related database management systems.
Optimizing MySQL: Optimizing Updates
This blog walks developers and DBAs through ways to optimize UPDATE
SQL queries in MySQL and related database management systems.
Optimizing MySQL: Deleting Data
This blog walks developers and DBAs through ways to optimize DELETE
query performance in MySQL and related database management systems.
MySQL Index Overviews: B-Tree Indexes
This blog walks developers and DBAs through ways to optimize "vanilla" (B-Tree) indexes in MySQL and related database management systems.
Thoughts Before Speaking at the Software Architecture Conference 2024
This blog covers my thoughts before speaking at the Software Architecture Conference in 2024.
MySQL Index Overviews: Composite B-Tree Indexes
This blog walks developers and DBAs through composite B-Tree indexes in MySQL and related database management systems.
Thoughts Before Covering MariaDB Indexes in the MariaDB Server Fest 2024
This blog covers my thoughts before covering indexes in the MariaDB Server Fest in Berlin, Germany in 2024.
MySQL Index Overviews: FULLTEXT B-Tree Indexes
This blog walks developers and DBAs through FULLTEXT B-Tree indexes in MySQL and related database management systems.
SQL NOT IN: the Good, Bad & the Ugly
The SQL NOT IN clause is used frequently, yet many DBAs don’t know how it works internally - read this blog and find out!
The Data You've Left Behind – an Attacker's Perspective
This article looks into your data from an attacker's Point of View.
Everything You Need to Know About MySQL Full-Text Search
For MySQL engineers, full-text search is like a gem in the wilderness as it allows to search through data with fuzzy matching. This blog will walk you through it.
Everything You Need to Know About SQL Constraints: The What, Why, and How
SQL constraints have a special place in the heart of your database — everyone defines them, but not everyone thinks about them. This blog walks you through the things you need to be aware of when working with them.
Dangerous Big Data - Big Data Pitfalls to Avoid
Running big data on your SQL database instances? Read this blog and deal with big data sets inside your database instances properly.
What are Vector Databases?
Find out everything you need to know about the concept of vector databases — what they are, how they work, and when should you use them.
MySQL Backup and Recovery Best Practices: A Guide
Every developer working with databases has taken a MySQL backup. This guide will walk you through a couple of best practices related to backup and recovery of this RDBMS.
MySQL Binary Logs – Walkthrough
Binary logs are one of the primary components in a database infrastructure – this blog will walk you through everything you need to know.
Types of Databases Explained
Relational, non-relational, object-based. These are all types of database management systems. Surprised? Don’t be. Confused? Read this article!
Architecting for Security: MySQL Edition
MySQL is a powerful, but complicated database management system - as popular as this RDBMS might be, there are still questions surrounding it - one of the main ones being related to security. This blog will tell you everything you need to know to build a secure foundation for your data using MySQL.
The MySQL RENAME COLUMN Statement: How, What, and Why
MySQL is a powerful beast — so powerful, that most database administrators can easily drown in the functionality available for them to use. Such functionality includes things like data types, characters and collations, indexes, partitions, and many other things. With that said, MySQL also has a couple of SQL statements you can make use of if you're a DBA, too: one of those SQL statements is the RENAME COLUMN
statement. Learn how it works in this blog.
SQL EXPLAIN: The Definitive Tool to Optimize Queries
Let’s learn everything you need to know about the SQL EXPLAIN command to understand how databases execute queries and optimize them!
Commenting in MySQL: Definitive Guide
This definitive guide will walk you through everything you need to know when working with commenting in MySQL and related database management systems.
Optimizing Performance: A Deep Dive into the innodb_buffer_pool_size Parameter in MySQL
The innodb_buffer_pool_size
parameter is the most important parameter you need to optimize in your MySQL Server. Learn why, how, and when to optimize this parameter!
MySQL SHOW TABLES
Statement: What it is, How It Works, What It Means for You
All database administrators have a special interest in the data inside their database. Data resides in tables — those tables have a distinct structure that directly impacts your database operations. The MySQL SHOW TABLES is a special statement suitable for everyone who wants to observe the structure of their tables and this blog will walk you through it.
MariaDB Docker: Server Setup Guide
Find out everything you need to know about setting up a MariaDB Docker environment in this definitive guide.
Your Database Doesn't Like Your Data – Reserved Words in MySQL
This blog will walk you through some of the most important reserved words in MySQL's infrastructure. These keywords require special treatment.
MySQL Error #1045 Explained: Everything You Need to Know
Let's learn everything you need to know about the unpleasant MySQL error #1045.
Distributing Data in a Database: A Guide to Database Sharding
Database sharding is one of the primary ways to scale your database. This blog tells you what it is, how it works, and how to make it work for you.
MySQL DISTINCT Clause Explained: Why, How & When
This blog will walk you through one of the most important clauses in the entire SQL lexicon—you will learn about the MySQL DISTINCT
clause.
MySQL FAQs Explained: Your Guide to MySQL Facts, Myths, and Optimization Tips
This comprehensive guide will clarify common MySQL facts and myths and answer some of the most frequently asked questions in the MySQL realm.
Counter in MySQL: Counting Rows with Ease
Developers and database administrators have a lot of things to deal with — from building an application to keeping an eye on database uptime, availability, capacity, and/or performance. The last thing you want to work on is counting the rows in MySQL — read this blog and learn how to do that with ease.
NULLs Are Not The Same – A Guide
In this blog, we’re walking you through the upsides and downsides of NULL
s in MySQL – have a read!
Static Code Analysis Tools for SQL Databases – What Can Be Done?
Static code analysis is one of the tools that help us make our code safe and secure for everyone to use. It's considered safer than other code analysis methods because when static code analysis is in use, only the code itself is examined and the program isn’t executed – that does come with its own upsides and downsides, so let's look into what can be done to improve SQL code analysis in that regard.
Primary Key vs. Foreign Key: A Complete Comparison
Primary key vs. Foreign key: What are they, how do they work, and which one should you choose for your database operations? Learn here.
Optimizing Queries for Performance: MySQL Edition
Optimizing queries for performance is at the top of the mind of every DBA - no matter if you’re junior or senior, optimizing your queries is something that you must learn. How do you build your queries so that they provide the best ROI for both you and your team? Find out in this blog.
10x Query Performance with a Database Index
For ages, indexes have been the cornerstone of database performance. Indexes are one of the main measures to speed up reading – SELECT
– operations and in this blog, we're telling you all about them. Have a read!
How to Connect to MySQL Using Admin Account Remotely
Connecting to MySQL is important for every MySQL DBA and developer alike – this blog is going to walk you through how you can connect to MySQL remotely using an administrative account. Let's begin...
Database Security 101: Best Practices to Secure Your Data
In this blog, we walk you through the security measures that can be used to secure any database management system. Have a read!
InnoDB and ibdata1: Things You Need to Know
ibdata1 is the king of the InnoDB storage engine - the file holds the data, indexes, and metadata derived from the InnoDB storage engine. How does it work? What can we do for our work with the storage engine to be as effective as possible? Find out in this blog.
Exploring the MySQL Daemon – A Guide
Subqueries are a part of the life of every DBA. Everyone knows that subqueries are just that – they're queries within queries, but they’re actually so much more than that. Intrigued? This blog will walk you through everything you need to know about them – have a read!
MySQL ALTER TABLE
Explained
ALTER TABLE queries are some of the most frequent friends for those who modify data within database management systems – read this blog and learn how they work internally.
Character Sets vs. Collations in a MySQL Database Infrastructure
Character sets and collations are a frequent point of confusion for programmers as well as database administrators alike – this blog will walk you through both of them. Excited already?
Duplicate Indexes in MySQL – the Good, the Bad and the Ugly
The presence of indexes isn't news to any database administrator. The same concerns MySQL – while indexes make certain types of queries faster, using them improperly can cause major issues. I discuss one of such issues – duplicate indexes – in this blog.
Wildcards in MySQL: A Comprehensive Guide on LIKE
and FULLTEXT
Search Wildcards
Wildcards in MySQL are a frequent source of confusion even for the most experienced DBAs in this area. Read this blog and find out everything you need to know about them and their inner demons.
MySQL's UTF-8: Is It Real?
Wildcards in MySQL are a frequent source of confusion even for the most experienced DBAs in this area. Read this blog and find out everything you need to know about them and their inner demons.
A Guide to ACID In MySQL
ACID is a set of four crucial database properties that ensure data integrity and consistency even in the event of a catastrophic server failure. Learn all about how the concept works in MySQL here!
Preventing Illicit Uploads in MySQL – secure_file_priv
secure_file_priv is one of the primary settings guaranteeing data security in MySQL. Wondering how that's done? Figure out in this blog post!
Index Creation in MySQL
Index creation in any database management system is not a very easy task—there are lots of things you need to consider before even deciding to index the columns in your database management system, no matter what kind of DBMS you find yourself using.
OpenSearch vs. ElasticSearch: What to Choose?
OpenSearch? ElasticSearch? Which one to choose and are they any different at all? These are the kind of questions asked by many developers, no matter novice or expert. In this blog, I unveil the mystery.
The SQL BETWEEN Clause Explained
The SQL BETWEEN clause is the cloaked ghost of the database world: used infrequently, known little about, and when needed, turning us into the documentation. Hold on and I will explain what it is, why it’s famous for, and how to best work with it in the present day.
Working with Numeric Data Types in MySQL: A Comprehensive Guide
Understanding and utilizing numeric data types in MySQL is essential for everyone working with this database system. In this guide, we’ll walk you through their numeric counterparts. Excited? So am I!
Duplicate Records in a DBMS – Removal, Upsides and Downsides
Duplicate records within a database management system are an issue of concern to every DBA. Read this blog and understand how to work with them!
Error: MySQL Shutdown Unexpectedly. Causes & Solutions
Many developers find the error "MySQL Shutdown Unexpectedly" very confusing. This SQL error seemingly comes out of nowhere and can disrupt your entire workflow — what did you do for it to come up and how do you avoid it? Read on to find out.
A Guide to Subqueries in MySQL
Subqueries are a part of the life of every DBA. Everyone knows that subqueries are just that – they’re queries within queries, but they’re actually so much more than that. Intrigued? This blog will walk you through everything you need to know about them – have a read!
Best Practices for Encrypting Data In Your Database
Data encryption is one of the most important caveats for safeguarding our data. These days where safety on the web is paramount and data breaches so rampant, it‘s critical to walk yourself through a couple of best practices to encrypt data inside of our database instances. Do that with me!
SUBSTRING_INDEX
in SQL Explained: A Guide
Want to return a substring of a string? Look no further! The SUBSTRING_INDEX function is just what you’re looking for — read this blog and find out why.
Fixing Messy Queries with DbVisualizer – a Guide for MySQL
Messy queries are not news to any DBA. As time flies, more work piles up, and more data is written to the database that's supporting the application the company you work with is selling, the database, and, consequently, associated queries are bound to become a little harder to manage.
Parameterized Queries in SQL – A Guide
Parameterized queries are one of the primary ways to defend our applications against injection-based attacks. Find out everything about them in this blog!
Optimizing Queries for Performance: MySQL Edition
Optimizing queries for performance is at the top of the mind of every DBA - no matter if you’re junior or senior, optimizing your queries is something that you must learn. How do you build your queries so that they provide the best ROI for both you and your team? Find out in this blog.
MySQL User Management: A Guide
Properly managing users is crucial for any DBA – in this blog, I'll tell you how to properly manage users in a MySQL relational database system. Have a read!
Error: MySQL Shutdown Unexpectedly - The Solution
Ever heard of the "shutdown unexpectedly" error in MySQL? There is a good chance you did. Here is what it is, why it appears, and how to solve it.
Working with NULL in Databases: Turn Your Frustration Into Delight
NULL values are one of the most frequent frenemies of almost all database administrators. For many, they're simply a symbol that no value exists in a column – for others, they’re a symbol of problems within their database instances. Join me as I explore them and tell you how best to act in specific scenarios.
SQL Interview Questions – SQL Queries
SQL query-related SQL interview questions are some of the most frequent interview questions for junior and senior engineers alike. Read this blog and find out everything you need to know about them.
ACID in Database Systems: All You Need to Know
ACID are four of the most important properties for any database management system – ACID is a concept known to many people, however, not everyone knows the concept inside out. Dig into it with me and familiarize yourself!
Designing a Multi-Language Database
Multiple languages within applications are not a new thing – designing a database that supports multiple languages isn‘t a piece of cake though. Don‘t worry – I'll explain everything you need to know in this blog!
ALTER TABLE Explained
ALTER TABLE
queries are some of the most frequent friends for those who modify data within database management systems – read this blog and learn how they work internally.
Why Are Your Databases Slow with Large Tables? An Overview
Database performance is a crucial part of any application. As databases and the tables within them get larger, though, performance starts to drop – here's why that happens and how to fix the problem.
MySQL Operators – A Guide
In this blog, I'm walking you through some of the most important operators in MySQL. Join me!
Archiving Data in MySQL Using Partitions
Partitions are a very big part of any database management system, including MySQL. In this blog, I will tell you everything about what they are, how they work, and when should you use them. Have a read!
Deadlocks in Databases: A Guide
Deadlocking refers to a situation where the transaction A cannot proceed due to the transaction B holding something that the transaction A needs. The transaction B cannot proceed either because it needs to wait for the transaction A to complete. Interested in how everything works? Read this blog!
INSERT Queries - Advanced CRUD explanation part 1
CRUD queries are one of the cornerstones of every database – creating (INSERT
) queries are the first ones within the list. Keep reading and I will teach you everything there is to know about them!
SELECT Queries - Advanced CRUD explanation part 2
CRUD queries are one of the cornerstones of every database – reading (SELECT
) queries help us read data and they're absolutely crucial to any application. Figure out how they work with me!
UPDATE Queries - Advanced CRUD explanation part 3
UPDATE
queries are another necessary component of any database management system – in this blog, I walk you through them. Join me!
DELETE Queries – Advanced CRUD explanation part 4
DELETE
queries are a necessity whenever we find ourselves deleting data within a database. Join me for a thorough walkthrough of what they are, how they work, and when should they be used.
What is the secure_file_priv
Variable in MySQL?
In this blog, I will walk you through the ins and outs of the secure_file_priv
variable in MySQL.
CHAR
vs. VARCHAR
: What's the Difference?
In this blog, I am going to go through the similarities and differences between two of MySQL data types: VARCHAR
and CHAR
.
MySQL's UTF-8 Isn't Real
In this blog, I'll help you figure out why you should avoid using UTF-8 in MySQL and what to choose instead.
Deriving Ideal Indexes for Your SQL Database: A Guide
Indexes are there to simplify our work when searching for data: in this blog, I'll tell you how you should derive ideal indexes for your database.
The Darker Side of ALTER TABLE
: A Guide
In this blog, we will go over how developers and DBAs should use ALTER TABLE
in a proper fashion to avoid problems that this query can create.
How Does MySQL Configuration Work?
In this blog post, I'll explain how the primary MySQL configuration file - my.cnf - works.
Security vs. Performance in the SQL World
In this blog post, I explore how security and performance are linked together in the database world.
Blind SQL Injection – Threat or Child’s Play?
SQL injection is one of the primary issues of concern to any database administrator - in this blog, I go over the impacts that a blind SQL injection has on your database.
Are Foreign Keys Unscalable?
In this blog, I will dive deeper into the correlation between big data and scalable foreign keys on MySQL.
LOAD DATA INFILE
vs. INSERT
in MySQL: Why, How, When?
This article will demonstrate the differences between LOAD DATA INFILE
and INSERT
and explain when you should use both for data entry in MySQL.
The Basics of MySQL Query Caching
MySQL's Query Cache is incredibly versatile. It's usually able to store a wide variety of values and return them from the memory (rather than the disk) to improve query execution times. This guide will explore the usages and limitations of query caching.
Slow Query Basics: Why Are Queries Slow?
Slow query performance is a huge thing—so much so that modern database performance optimization techniques are in large part targeted at mitigating slow queries. Surprising? I think not.
Unused Indexes in MySQL: A Basic Guide
Indexes are frequent friends for SELECT
queries; however, if we want to use indexes, we must ensure that our database instances use them first. Indexes that are not utilized by our database instances are useless – they waste space and make INSERT
, UPDATE
, and DELETE
queries slower.
Nostalgia: What Happened to MyISAM?
Before InnoDB replaced it, MyISAM was one of the flagship storage engines available in MySQL. However, as time moved on, InnoDB replaced it as MySQL engineers found it to be a better choice.
Partitioning MySQL: Why, When, How?
If you are familiar with MySQL, you have probably heard of partitions. Partitions are one of your best friends in regards to query optimization. This article will provide you with a basic overview of partitions to help you understand why they are so important.
MySQL: Understanding EXPLAIN
If you have found yourself in the MySQL world (at least for a little while), chances are that you have probably heard about the usage of EXPLAIN
. In the MySQL world, this keyword is everywhere.
SQL Injection vs. Your Applications in the Modern Age
SQL injection attacks traditionally represent one of the largest threats to database security. This article explains what they are and how you can prevent them.
Indexing MySQL For High Performance: A High-level Overview
Some MySQL engineers might call them the cornerstone of improving performance in MySQL: indexes are data structures that are frequently used to quickly find rows matching a given query.
Big Data + MySQL = Mission InnoPossible?
Sometimes MySQL (or MariaDB) can be great for big data too! In this article, I explore the things you should consider when answering the question: "Is MySQL a good option for my big data project?"
Top 10 Security Vulnerabilities for Web Applications
It's important to consider the security of the applications you build. In this blog, I'm walking you through the 2022 edition of the top ten security vulnerabilities for web apps.
5 Ways to Rapidly Improve MySQL Database Performance
Improving MySQL performance is something that every DBA struggles with at some point in their career. This blog is a walkthrough through five ways to quickly improve your MySQL database performance.
Best Free VPNs for iOS: iPhone & iPad (2024)
In this article, I walk users through the best free VPN options for iOS users in 2024.
How to Watch Blackout NHL Games on ESPN+ and NHL.tv (2024)
In this blog, I walk users through ways to watch blackout NHL games on ESPN+ and NHL.tv in 2024.
Best VPN for DraftKings 2024: Bet Online from Anywhere
In this blog, I walk users through the best VPN options to access DraftKings in 2024.
Your Password Isn't the Only Security Measure for Your Email Inbox
In this blog in Lithuanian, I walk users through ways to protect their email accounts on the web.
WeHeartIt Data Breach Analysis
In this blog, I'm walking you through and analyzing the WeHeartIt data breach.
SheIn.com Data Breach Analysis
In this blog, I'm walking you through and analyzing the SheIn data breach.
7k7k.com Data Breach Analysis
In this blog, I'm walking you through and analyzing the 7k7k data breach.
imgur.com Data Breach Analysis
In this blog, I'm walking you through and analyzing the imgur data breach.
Exploit.in Data Breach Analysis
In this blog, I'm walking you through and analyzing one of the biggest data leaks at the time – the Exploit.in data breach.
Edmodo Data Breach Analysis
In this blog, I'm walking you through and analyzing the Edmodo data breach.
Zynga Data Breach Analysis
In this blog, I'm walking you through and analyzing the Zynga data breach.
Exploit.in Data Breach Classification
This blog draws conclusions from the Exploit.in data breach by using a Naive Bayes Classifier on the data breach data.
MySQL and Big Data – Mission Possible?
This blog walks users through the usage of MySQL with bigger data sets.
Slow SQL Queries? Don't Blame MySQL (Yet)
This blog walks users through the basics of slow SQL query performance on MySQL.
Understanding MySQL: The Power of Indexing
This blog walks users through B-tree indexes in MySQL.
Identifying Slow Queries in MySQL: Slow Query Log 101
This blog walks users through the slow query log in MySQL.
MySQL Deadlocks 101
This blog walks users through deadlocks in MySQL.
InnoDB vs. MyISAM – Which One Should You Choose?
This blog walks users through two of the most popular storage engines in MySQL, Percona Server, and MariaDB – InnoDB and MyISAM.
Optimizing MySQL Query Performance with DESCRIBE
and EXPLAIN
This blog walks users through ways to optimize MySQL query performance utilizing the DESCRIBE
and EXPLAIN
causes.
InnoDB From the Inside: ibdata1 and the Log Files
This blog looks into the primary file for the InnoDB storage engine within MySQL – ibdata1 – and its associated log files.
MySQL After a Data Breach
This blog walks users through how they should care about their MySQL database instances after a data breach.
What Should You Do After a Data Breach?
This blog walks users through what they should do after they determine that the application they manage has suffered a data breach.
Schrödinger's Paradox in MySQL
This blog walks developers and DBAs through the so-called Schrödinger's Paradox in the database realm and tells them what can they do to improve the stance of their databases.
Password Security Level: Generated
This blog walks users through cyber security risk mitigation by using generated passwords.
Data Breaches: What's on the Radar for 2022?
This blog walks developers and security engineers through what data breaches have occurred in the past and what may happen in 2022.
MySQL Security Best Practices: A Checklist
This blog walks developers and DBAs through security best practices related to one of the most widely used relational database management systems – MySQL.
WAF vs. IPS – What’s the Difference?
This blog walks users through the similarities and differences between a Web Application Firewall (WAF) and an Intrusion Prevention System (IPS)
Secure File Upload in PHP: A Guide
This blog explores multiple ways that may be used to build a secure file upload script using PHP.
The OWASP Top 10 Principles: What Should You Keep in Mind?
This blog covers the principles of OWASP Top 10 and compares the editions of OWASP. Read the blog to learn more!
The Defense in Depth Principle Explained: the Meaning and Approach
This blog discusses the defense-in-depth principle and its related information security practices.
The Requirements for a Web Application Firewall: What’s On the List?
This blog goes through some of the requirements that can make or break a Web Application Firewall (WAF)
The T-Mobile Data Breach: Lessons Learned
This blog takes a deeper look into the T-Mobile data breach that is said to be one of the most shocking breaches of such kind.
The X/Twitter Data Breach: What's Known?
This blog takes a deeper look into the recent 2022 Twitter/X data breach. Read on to learn all about it!
The MySQL Server – mysqld
This blog discusses the ins and outs of the MySQL daemon and tells you how best to improve MySQL performance & security.
Choosing Character Sets in MySQL: A Short Guide
This blog takes a closer look into the character sets available in MySQL – I tell you what they are, and how best to work with them.
How to Protect Yourself From Phishing Attacks?
This blog tells you how best to protect yourself from phishing attacks and walks you through a couple of best practices in this area.
Protecting Web Applications from Remote Code Execution (RCE): a Short Guide
In this blog, I explain how best to protect your web applications from Remote Code Execution attacks.
The TikTok & weChat Data Breaches: What’s Known?
In this blog, I walk you through the TikTok and weChat data breaches in more detail – join me to learn more!
How to Protect Against CSRF?
In this blog post, I tell you how best to protect your web applications against CSRF attacks.
What is SSRF?
This blog will tell you what SSRF is, how it works, and how best to protect against the threats it poses to your applications.
MyISAM vs. InnoDB: The Problem
In this blog post, I tell you how does MyISAM compare with InnoDB.
Protecting Applications From RCE with a Single Function: a Cheat Sheet
In this blog post, I provide you with a cheat sheet to quickly protect your web applications from Remote Code Execution.
The Data Breach Investigation and Mitigation Checklist
In this blog, I provide you with the data breach investigation and mitigation checklist necessary to avoid mishaps when dealing with a data breach.
Composite Indexes in Databases: What are They?
In this blog, I tell you all about composite indexes – what they are, how they work, and when they should be used.
APIs: What Are They, How They Work, and Where Should They Be Used?
In this blog, I explain the importance of API services: I tell you what they are, how they work, and where they should be used.
What Makes a Good Data Breach Checker?
In this blog, I discuss what makes or breaks a data breach search engine.
"This Password Has Appeared In a Data Leak." What Now?
In this blog, I walk you through your options once you’re aware that you’re at risk of identity theft.
How to Prevent a Data Leak?
In this blog, I walk you through the steps necessary to prevent a data leak in your organization.
CCPA (CPRA) Is Coming – What’s On the Radar?
In this blog, I explain the Californian GDPR – the CCPA. I tell you what it is, how it works, and should you be worried.
What is Password Hashing? Password Hashing Explained
In this blog, I walk you through password hashing – youlll learn what it is, how it works, and what password hashing mechanism is best.
An Enterprise Edition of The BreachDirectory API Is Now Available!
In this blog, I walk you through the Enterprise edition of the BreachDirectory API.
Chrome Has Found Your Password In a Data Breach. What Now?
In this blog, I walk you through your options once you've been made aware that Chrome has found your password in a data breach.
Web Application Security Solutions: Problems Solved, Examples, and Differences
In this blog, I walk you through various problems solved by web application security solutions. Have a read!
Discord Data Leak – Did the Service Suffer a Data Breach?
In this blog, I dig into the rumors surrounding the Discord data breach – did the Discord data breach happen?
What Not to Do After a Data Breach?
In this blog, I explain what you should avoid doing after the company you work at suffers a data breach. Have a read!
How Secure is Slack?
In this blog, I answer a popular question for those working from home – is Slack safe to use?
Staying Safe In a Work From Home Environment: A Guide
This blog will act as a guide teaching you how to safely work remotely from home. Have a read!
The API Security Checklist
In this blog, I walk you through everything you need to know about APIs from a security perspective.
The Importance of APIs In the Information Security Industry: A Walkthrough
In this blog, I walk you through what API solutions can do to safeguard your data. Have a read!
DDoS Attacks: Common Types and Protection Methods
In this blog, I walk you through the common types of DDoS attacks and ways to protect against them.
What is a Hacker?
In this blog post, I dig into the world of hackers and answer the age-old question – what is a hacker?
The Indicators of Compromise: Have You Been Hacked?
In this blog, I walk you through the various Indicators of Compromise (IoC) that can signal a data breach in your company.
What To Do if Your Social Media Accounts Have Been Broken Into?
Have your social media accounts been hacked? Read this blog to figure out how to fix the issue & what to do next!
Recovering and Securing a Hacked Facebook Account: A Guide
In this blog, I walk you through the things you can do to secure your Facebook account once it's been broken into.
What is Synthetic Identity Theft?
In this blog, I explore the synthetic identity theft attack – can it do harm? Why is the attack synthetic? Find out here!
Protecting MySQL Beyond mysql_secure_installation
: A Guide
This blog walks you through the things you can do to protect your MySQL databases beyond the basics. Have a read!
Identity Theft in Movies and in Reality – Similarities and Differences
In this blog, I walk you through the similarities and differences of the risks posed by identity theft in movies and in real life. Have a read!
How to Choose a Security Question?
Choosing a security question is a situation everyone is familiar with. Read this blog and learn how to choose one in a secure fashion!
How to Secure a Database?
This blog will walk you through a couple of necessary steps to secure a database, no matter what kind of RDBMS you might be running.
What Are The Different Types of DDoS Attacks?
This blog walks you through various types of DDoS attacks and tells you why are each of them dangerous. Have a read!
What is a Backdoor?
In this blog, I discuss everything about backdoors – what are they, are they harmful, and what damage can they do to our applications?
Does the Russia-Ukraine War Have an Effect on Cybercrime?
This blog provides you some insights surrounding the war between Russia and Ukraine in the cybercriminal underworld.
How to Delete Incognito History?
Did you know that browsing in incognito mode also leaves its traces on your device? Learn how to delete your incognito browsing history here!
What's the Price of Your Social Media Accounts?
This blog walks you through how attackers assess the price of your social media accounts and answer the question of whether you could be a target. Join in!
Password Strength Meters Explained: What, How, Why?
This blog walks you through the ins and outs of password strength checkers. Have a read!
What's the Average Price of a Data Breach?
This blog walks you through what determines the price of a data breach in the cybercriminal underworld. Have a read!
The Attack on Danish Railways – Lessons Learned
This blog will tell you what cyber attack caused Danish Railways to shut down their operations in early November 2022.
How to Prepare for Black Friday? Staying Safe
This guide walks you through how to stay safe online when shopping for Black Friday deals. Have a read!
Salaries within the Information Security Sector: What, Why, How?
This blog walks you through the salary information about information security experts. Have a read!
Alternatives to YouTube & TikTok
This blog walks you through a bunch of alternatives to YouTube & TikTok. Have a read!
What Is Bloatware?
This blog walks you through bloatware and its impact on your computer. Have a read!
Steam Account Hacked? Here's What to Do!
This blog will walk you through the things you need to do once you find out that your Steam account might be in danger. Have a read!
How to Prepare For a Cyber Attack?
This blog walks you through the things you should consider to be adequately prepared for a cyber attack. Have a read!
Data Breaches In the News
This blog walks you through what impact can the media have on data breaches. Have a read.
What Is a Data Leak? How Does It Differ From a Data Breach?
This blog walks you through the similarities and differences between data leaks and data breaches. Have a read!
Staying Cyber Safe on Christmas
This blog will walk you through what can you do to stay safe when Christmas shopping online.
Does a VPN Make You Anonymous?
Do VPN services make their users 100% anonymous? Find out here!
Where Do Data Breaches Originate From? Top 10 Countries
This blog will walk you through the top 10 countries that data breaches originate from.
Web Application Security Headers Explained
This blog walks you through the basics and possible implications of using HTTP security headers. Have a read!
3 Ways to Improve the Security of Your Web Application
There are many ways to improve the security of our web applications. This blog provides you with some of the most popular ones – have a read!
Which Team Is Responsible for Debriefing After a Cyber Attack?
Which team is responsible for debriefing after a cyber attack? Find out here.
Cyber Liability vs. Data Breach
This blog walks you through the key similarities and differences between cyber liability and a data breach.
What Can Be Done with an Email Address? Cybercriminal Perspective
Email addresses are amongst the most frequently stolen pieces of information in data breaches. What can be done with them? Figure that out here.
The MongoDB Security Incident: What's Known
During December 2023, a new data breach – a MongoDB security incident – emerged. What happened? Find out here.
The Basics of Securing an Application
In the wake of recent news, knowledge of securing both your database and your application is more and more beneficial. Find out the basics of doing that in this blog!
An Intro to Secure Internal Communication
This blog will walk you through secure internal communication tools and tell you what they're used for.
PostgreSQL vs MySQL: A Comparison
This PostgreSQL vs MySQL blog will walk you through when to choose PostgreSQL or MySQL for your use case.
The AT&T Data Breach: Here's What We Know
Did the AT&T data breach happen? What data classes did it expose and what can you do to protect yourself? Learn here.
Is CyberGhost VPN Free?
Is CyberGhost VPN free a myth? Does the CyberGhost VPN software keep logs or is it safe to use? Find out everything you need to know here.
What is DbVisualizer and Should You Use It?
Read this blog and understand why DbVisualizer is the top choice for software and database engineers for more than 20 years.
Top 3 Data Breaches of January 2023
This blog post covers some of the biggest data breaches in January 2023. Have a read!
Why Use the BreachDirectory API?
BreachDirectory is often asked – what's the BreachDirectory API? Why should people use data breach API appliances to begin with? Read this blog and find out.
RockYou.txt 2024: One of the Biggest Password Compilations Ever?
"I present you a new rockyou2024 password list with over 9.9 billion passwords!" – said a hacker. That’s RockYou.txt: one of the biggest password dumps ever.
BreachForums and the Twilio Data Breach: Details on 33 Million People Leaked
Recently, millions of accounts allegedly originating from Authy had been leaked on the notorious BreachForums hacking forum. Learn what happened here.
TeamViewer Announces Data Breach: Hacked by APT29?
TeamViewer has suffered a data breach attributed to APT29. Find out everything you need to know about the incident here.
What was AnimeFlix and Why Did It Shut Down?
Recently, "the Netflix for anime fans" – AnimeFlix – announced that it was shutting down. Find out everything you need to know here.
The Story of RaidForums
In its prime, RaidForums was one of the most prominent English-speaking hacking forums. The forum is now taken down: here is its story.
Understanding Hacker Forums: From Data Breaches to Porn
Hacker forums are communities for hackers to interact and share their thoughts. Read this blog and understand everything you need to know about them.
40 Years After Inception, Notepad Includes Spellcheck and Autocorrect Features
In 2024, more than 40 years after the inception of Notepad in 1983, Microsoft decided to update the tool to include spellchecking and autocorrect features within Notepad.
How Cryptocurrency Helps Investigate Cybercrime
These days, cryptocurrency is synonymous with anonymity. However, cryptocurrency helps solve cybercrime too: find out how in this post.
The Binance Crypto Hack Costs a Chinese Man $1 Million
A Binance crypto hack through a malicious Chrome plugin has allowed cyber crooks to steal nearly $1 million from an individual in China. Dig into the story!
Real-life Crypto Hack: Cryptocurrency Stolen in a Series of Home Invasions
What if I told you that people are breaking into homes with the sole intent of stealing cryptocurrency? Learn about this real-life crypto hack here.
Top 5 Free iOS VPN Options for 2024
Read this blog and find out what's the best free iOS VPN in 2024!
LockBit Targets Shimano: Sensitive Data Published
At the end of 2023, Shimano was a target of a LockBit ransomware attack and had a lot of sensitive data published by the LockBit ransomware group.
The TicketMaster Data Breach: Credit Card Information at Risk
The massive TicketMaster data breach contains the names and contact information of clients, as well as credit card details. Learn everything you need to know!
Massive Takedown by Europol, FBI & Co: Terrorist Communications Disrupted
Last month, ongoing coordination between law enforcement has borne fruit — Europol, FBI, and others have taken down servers hosting terrorist content.
Old-School Nokia 3310 Instead of Smartphones: A Reality in Elite Schools
One of the most elite schools in the UK — Eton College — has banned traditional smartphones in favor of the old-school Nokia 3310 phones. Here's why.
Database Security Best Practices: Ten Database Security Tips To Follow
This blog will provide you with ten database security best practices you can use to protect any database management system. Have a read!
The Teenager Who Hacked Twitter and Stole Millions: The Story of Graham Ivan Clark
This blog digs into the world of a teenager named Graham Ivan Clark who had allegedly hacked Twitter and stole millions in Bitcoin. Have a read!
The Rise and Fall of BreachForums
This blog explores the rise and fall of one of the most prominent hacking forums that was said to compete with RaidForums — BreachForums.
This Disney Hack May Be the Worst One Yet: Entire Slack Channel at Risk
One of the most prominent Disney hacks may have just occurred — find out what had happened in this blog.
Googled "0.00001 BTC to USD?" Keep Quiet: A Crypto Abduction Case
Googling 0.00001 BTC to USD can be dangerous — this blog explores a case of the Indian police abducting a BTC baron for his crypto holdings.
FBI Director: China's Cyber Attacks a Threat to the US
According to the FBI director, cyber attacks by China are on the rise. Read this blog and find out more about the recent FBI director China cyber attack news.
The Russian Hacker Who Doesn’t Hack: The Story of Crazy Russian Hacker
Crazy Russian Hacker is a YouTuber with millions of views. Read all about his rise to fame in this blog.
Exploring the Russian Hacker Forum Exploit.in
Exploit.in is one of the biggest Russian hacker forums. This blog dives into what Exploit.in is and why it may be a goldmine for those stealing your data.
What is ClickHouse and How Does It Work? ClickHouse Database Explained
This blog will answer questions related to ClickHouse and tell you what the ClickHouse database is and how ClickHouse works from the inside.
Beyond NordVPN Netflix Unblocking Capabilities – What is NordVPN Capable of?
NordVPN is one of the most popular VPN services on the market. What can NordVPN offer besides the NordVPN Netflix unblocking capabilities? Let's find out.
CloudFlare Status and SpamHaus: What’s Happening?
Recently, there have been news about CloudFlare clashing with SpamHaus. The spam-fighting service says it’s concerned about how CloudFlare status may be used for cybercrime.
TikTok Login Issues May Only Be the Beginning: TikTok Sued by Justice Department
Many users are facing problems like an unsuccessful TikTok login. Recently, TikTok also got sued by the DoJ. Learn everything you need to know here.
Don't Perform a MySQL Update After MySQL 8.0.37!
If you run thousands of tables, don't perform any MySQL update beyond MySQL 8.0.37, at least for now. Read this blog and find out why.
Where Does MySQL Get Its Host?
Where does MySQL get its host? This question is asked by many novices and experienced MySQL DBAs alike. Dig into the answer in this blog!
Telegram CEO Arrested: Attack on Free Speech or Crime Prevention?
This blog will walk you through the ins and outs of the recent arrest of the CEO of Telegram, Pavel Durov.
Denmark to Ban Encrypted Telegram, Signal Messengers
This blog explores the reasons why Denmark may ban end-to-end encryption messenger software like Signal, Telegram, and WhatsApp.
WPML: Over 1M WordPress Sites Affected by Remote Code Execution Vulnerability
Recently, news broke that WPML may allow an attacker to conduct remote code execution attacks. Learn more here.
Telegram & Telegram Web CEO Pavel Durov Released on 5M Bail
The CEO of Telegram and Telegram Web, Pavel Durov, has been released from custody and is on €5,000,000 bail. Learn more here.
Black Hat USA 2024, DEFCON 2024, and Mandatory Hotel Room Checks
This blog covers the recent Black Hat USA 2024 (DEFCON 2024) conference and digs into privacy concerns involving hotel room checks and more.
Twitter (X) Now Suspended in Brazil – Why?
Reside in Brazil and found that your Twitter account suspended? There's a good reason for that – this blog will help you figure out what happened.
What is the Crypto-Engine.pro Blog and Who’s Behind it?
Is the crypto-engine.pro blog legit and should you trust this resource? Learn here!
What are Crypto Bubbles?
What are crypto bubbles, how do they form, and should you worry about them? Learn here.
Crypto Users Targeted by North Korean Hackers: Zero-Days at Fault?
A hacking group related to North Korea is exploiting a zero-day in the Chromium browser to steal cryptocurrency.
How to Fix Packet Loss in CS2? Causes & Solutions
This blog on how to fix packet loss CS2 will provide you with a couple of strategies that will be helpful when improving your gaming experience in CS2.
Keeper Security: Beyond a Password Manager
What is the Keeper password manager provided by Keeper Security and what else should you do to protect yourself on the web? Find out here.
What is RockYou 2024.txt and How Did RockYou 2024 Come to Be?
This blog will tell you what RockYou 2024 is, how RockYou 2024.txt came to be, and what you should know about this password leak. Dig in!