abdel-mawla's blog

How to recover deleted tablespace?

Taxonomy upgrade extras: 

Sometimes, MySQL tablespace file(s) might be deleted by mistake, e.g. delete the shared tablespace (ibdata1) or an individual tablespace (table_name.ibd).

Things you should consider before using GTID

Taxonomy upgrade extras: 

Global Transaction ID (GTID) is one of the major features that were introduced in MySQL 5.6 which provides a lot of benefits. I have talked about the GTID concept, implementation and possible troubleshooting at Percona Live London 2014, you can download the slides from our presentations repository or from my session at Percona Live.

Galera Cluster and XA Transactions

Taxonomy upgrade extras: 

A few weeks ago, we received an interesting Galera Cluster support case from one of our customers that the application is not working well and they face a lot of troubles in their Galera Cluster setup.

How to install multiple MySQL instances on a single host using MyEnv?

We have been asked several times by MySQL users about how to install multiple MySQL instances on a single host.
Typically, this is required when testing different MySQL versions or MySQL servers (MySQL server, Percona server and MariaDB server) while no available resources are available.
Sometimes, it is even required to install multiple MySQL instances on a single production server.

Galera Cluster VS PXC VS MariaDB Galera Cluster - Benchmarking

Taxonomy upgrade extras: 

It is not clear for many MySQL users that Percona XtraDB Cluster (PXC) and MariaDB Galera Cluster depend on the same Galera library i.e used in Galera Cluster for MySQL which is provided by Codership team:

RE: EMPTY TRANSACTIONS CAN BE DANGEROUS

Taxonomy upgrade extras: 

If you used the combination of Percona tools (pt-table-checksum and pt-table-sync) - as I mentioned - to get the data synchronized after injecting an empty transaction and starting the slave you won’t face that problem. Otherwise, yes this could be dangerous if that slave promoted to be master AND the other slaves didn’t replicate that transaction yet or when you take a database backup from that slave as well.

Replication Troubleshooting - Classic VS GTID

Taxonomy upgrade extras: 

In previous posts, I was talking about how to set up MySQL replication, Classic Replication (based on binary logs information) and Transaction-based Replication (based on GTID). In this article I’ll summarize how to troubleshoot MySQL replication for the most common issues we might face with a simple comparison how can we get them solved in the different replication methods (Classic VS GTID).

MySQL 5.5 and 5.6 ?!

Taxonomy upgrade extras: 

Just to confirm, the above channel failover steps are valid in Galera Cluster for both MySQL versions 5.5 and 5.6. Enjoy!!

GTID In Action

Taxonomy upgrade extras: 

In a previous post I was talking about How to Setup MySQL Replication using the classic method (based on binary logs information). In this article I’ll go through the transaction-based replication implementation using GTID in different scenarios.

COMMIT!

Taxonomy upgrade extras: 

Kalasha,

Since autocommit is disabled, did you issue “COMMIT” after inserting those records ? If not, then you have to either enable autocommit or commit your DML statements manually (issue “COMMIT” or execute DDL statement)

Loading "Digest::SHA1" instead

Taxonomy upgrade extras: 

Obyis,

Try to load “Digest::SHA1” instead of “Digest::SHA” at the beginning of “InnoDbStatus.pm” file by replacing “use Digest::SHA” with “use Digest::SHA1”. It should work after that.

How to Setup MySQL Master/Slave Replication ?

Taxonomy upgrade extras: 

It’s not usual to find an easy source on how to setup MySQL replication, I thought it might be useful at least for the beginners to write a direct and simple howto blog on setting up Master/Slave replication in MySQL using the classic method (binary log information). Check out my post GTID In Action for information about transaction-based replication using GTID.

Setting the right GCache size in Galera Cluster

Taxonomy upgrade extras: 

One of our customers had a question related to the right value of Galera Cache size (gcache.size) in Galera Cluster for MySQL which I would like to share with you.

Impact of General Query Log on MySQL Performance

Taxonomy upgrade extras: 

Sometimes, it is required to enable the General Query Log (which is disabled by default). If the General Query Log is enabled the server writes to this log information when clients connect or disconnect, and each SQL statement received from the client.

What is the log output?

Taxonomy upgrade extras: 

Are you using FILE or TABLE as log output ?
Try “show global variables like’log_output’;”

FLUSH LOGS!

Taxonomy upgrade extras: 

Kalasha,
You might need to execute the SQL statement (FLUSH LOGS;) and then check the log files.

Advantage of pt-online-schema-change

Taxonomy upgrade extras: 

Hi Przemek,

I do agree with you that the replication will be blocked until the slaves finish executing the alter statement, but the table being changed on the slaves themselves wont be blocked during the alter statement the same like the master. I agree also that this could be considered as an advantage of pt-online-schema-change over Online DDL. I’ll add that to the blog. Thanks Przemek for the hint …

Replication in Online DDL

Taxonomy upgrade extras: 

Hi Shlomi

Can you please explain more on how did you produce your results?
Because Online DDL are DDL statements anyway and will be written to the binary log as statements (even if RBR is being used) which means that it will be executed on the slave the same like it was on the master.

Online DDL vs pt-online-schema-change

Taxonomy upgrade extras: 

One of the most expensive database operations is performing Data Definition Language (DDL, e.g. CREATE, DROP, ALTER, etc.) statements, specially, the ALTER statements because MySQL blocks the entire table for both reads and writes while modifying the table.

Pages

Subscribe to RSS - abdel-mawla's blog