It's been some time since I wrote my last blog. As usual this
means that I have
been busy developing new things. Most of my blogs are about
describing new
developments that happened in the MySQL Server, MySQL Cluster,
MySQL
partitioning and other areas I have been busy developing in. For
the last year I have
been quite busy in working with MySQL Cluster 7.4, the newest
cluster release. As
usual we have been able to add some performance improvements. But
for
MySQL Cluster 7.4 the goal has also been to improve quality.
There are a number
of ways that one can improve quality. One can improve quality of
a cluster by making
it faster to restart as problems appear. One can also improve it
by improving code
quality. We have done both of those things.
In order to improve my own possibilities to test my new
developments I decided to
invest in a "Windows computer". This …
MySQL Tech Tour: Out of the Box MySQL High Availability -
Performance - Scalability
March 17, 2015, Oslo, Norway
Did you know that the new MySQL Fabric delivers High Availability
with automatic failure detection and failover? And that MySQL
Fabric also enables scale-out with automated data sharding? Do
you know how to take advantage of the MySQL SYS Schema?
Join us for this free MySQL Tech Tour to learn straight from the
source how you can benefit from Oracle’s latest MySQL
innovations. Our technical experts will help you understand how
to take advantage of the wide range of new features and
enhancements available in MySQL Fabric, MySQL 5.6, MySQL Cluster
and other MySQL solutions. They will share tips & tricks to help
you get the most of your database. You will also discover what’s
coming next in MySQL MySQL 5.7.
Agenda:
08:30 – 09:00 Registration & Welcome
09:00 – 09:30 …
Introduction
For the moment, the only engines that fully support encryption are XtraDB and InnoDB. The Aria storage engine also supports encryption, but only for temporary tables.
MariaDB supports 2 different way to encrypt data in InnoDB/XtraDB:
- Specified table encryption: Only tables which you create with PAGE_ENCRYPTION=1 are encrypted. This feature was created by eperi.
- Tablespace encryption: Everything is encrypted (including log files). This feature was created by Google and is based on their MySQL branch.
InnoDB Specified Table Encryption
Specified Table encryption means that you choose which tables to encrypt. This allows you to balance security with speed. To use table encryption, you have …
[Read more]MySQL offers a few different types of indexes and uses them in a variety of ways. There’s a lot to know about the various kinds of indexes and how they interact with the storage engines, and it’s all very important for query optimization. A few examples are listed below:
-
The “leftmost prefix rule”
-
Clustered primary indexes versus secondary indexes
-
B-Tree and hash
-
New types of indexes such as LSM and Fractal Trees
-
Newer features in the query optimizer and executor in MySQL 5.6 and 5.7
You will leave this webinar with a better understanding of how MySQL and its storage engines use indexes to speed up queries, and how you can improve query performance with basic and advanced index optimizations. Please register …
[Read more]One of the great features of Shard-Query is the ability to use MySQL proxy to access resultsets transparently. While this is a great tool, many people have expressed reservations about using MySQL Proxy, an alpha component in their production environment.
I recognize that this is a valid concern, and have implemented an alternate method of retrieving resultsets directly in the MySQL client, without using a proxy. This means that any node can easily act as the “head” node without any extra daemon, instead of having to run many proxies.
The sq_helper() routine has been checked into the git repository and is available now.
The function takes a few parameters:
- sql to run
- shard-query schema name (empty string or null for default schema)
- schema to store temp table in
- temp table name (where results are sent to)
- return result (boolean, 1 returns …
#DBHangOps 03/05/15 -- Group Replication, Multithreaded Replication, and more!
Hello everybody!
Join in #DBHangOps this Thursday, March, 05, 2015 at 11:00am pacific (19:00 GMT), to participate in the discussion about:
- Group Replication
- Multithreaded Replication
- Operational learnings with GTID
- New MySQL 5.7 defaults from Morgan Tocker
You can check out the event page at https://plus.google.com/events/cjbmf109r6d7isr715iupigsrq4 on Thursday to participate.
As always, you can still watch the #DBHangOps twitter search, the @DBHangOps twitter feed, or this blog post to get a link for the google hangout on …
[Read more][…] tried to connect to AWS EC2 and RDS instances via SSH following this scheme https://thoughtsandideas.wordpress.com/2012/05/17/monitoring-and-managing-amazon-rds-databases-using-…; […]
I have merged a debugger for MySQL/MariaDB stored procedures and
functions into our GUI client and posted the source and
binaries on github. It allows breakpoint, clear, continue, next,
skip, step, tbreakpoint, and variable displays. Features which
are rare or missing in other debuggers include:
its current platform is Linux;
it allows breakpoints on functions which are invoked within SQL
statements;
it never changes existing stored procedures or functions;
it is integrated with a general GUI client;
it allows commands like gdb and allows menu items / shortcut keys
like ddd;
it is available on github as C++ source with GPL licence.
It's alpha and it's fragile but it works. Here is a demo.
Start the client and connect to a running server, as root. Actually the required privileges are merely for creation of certain objects and SUPER, but …
[Read more]
Technical conferences are flooded with visual
[mis]representations of a particular product's performance,
compression, cost effectiveness, micro-transactions per
flux-capacitor, or whatever two-axis comparison someone dreams
up. Lets be honest, benchmarketers like to believe we all suffer
from innumeracy.
The Merriam-Webster dictionary defines innumeracy as
follows:
innumeracy (noun): marked by an ignorance of mathematics and
the scientific approach Mark
Callaghan has been a long time advocate of explaining benchmark results, but that's not the
point of the bar chart. Oh no, the bar chart only exists to catch
your eye and …
From time to time people wonder how to implement roles in MySQL. This can be useful for companies having to deal with many user accounts or for companies with tight security requirements (PCI or HIPAA for instance). Roles do not exist in regular MySQL but here is an example on how to emulate them using Percona Server, the PAM plugin and proxy users.
The goal
Say we have 2 databases: db1 and db2, and we want to be able to create 3 roles:
- db1_dev: can read and write on db1 only.
- db2_dev: can read and write on db2 only.
- stats: can read on db1 and db2
For each role, we will create one user: joe (db1_dev), mike (db2_dev) and tom (stats).
Setting up the Percona PAM plugin
The Percona PAM plugin is distributed with Percona Server 5.5 and 5.6. I will be using …
[Read more]