Showing entries 6361 to 6370 of 22455
« 10 Newer Entries | 10 Older Entries »
Displaying posts with tag: MySQL (reset)
Resolving ERROR 1050 (42S01) at line 1: Table ‘sakila/#sql-ib712′ already exists

When ALTER TABLE crashes MySQL server it leaves orphaned records in InnoDB dictionary. It is annoying because next time you run the same ALTER TABLE query it will fail with error:

ERROR 1050 (42S01) at line 1: Table 'sakila/#sql-ib712' already exists

The post explains why it happens and how to fix it.

When you run ALTER table InnoDB follows the plan:

  1. Block the original table
  2. Create an empty temporary table with the new structure. The name of the new table is something like #sql-ib712.
  3. Copy all records from the original table to the temporary one
  4. Swap the temporary and original tables
  5. Unblock the original table

The temporary table is a normal InnoDB table except it’s not visible to a user. InnoDB creates a record in the dictionary for the temporary table as for any other table.

If MySQL crashes in the middle of the …

[Read more]
libAttachSQL Query Example

I was asked some questions on IRC last night about how the query example in libAttachSQL's code base works. For those who missed previous posts, libAttachSQL is a lightweight, non-blocking, Apache 2.0 licensed C connector for MySQL servers which I am developing for HP's Advanced Technology Group.

In this blog post I'm going to break down a basic query example and explain what is happening at each step. It is possible that this syntax may change slightly by the time we hit GA but it will be similar to this.

#include <libattachsql-1.0/attachsql.h>
#include <stddef.h>
#include <stdio.h>
#include <string.h>

Only one include is needed for the library itself, libattachsql-1.0/attachsql.h. The others are used for other functions in the code. …

[Read more]
TokuDB v7.5 Read Free Replication : The Benchmark

New to TokuDB® v7.5 is a feature we’re calling “Read Free Replication” (RFR). RFR allows TokuDB replication slaves to process insert, update, and delete statements with almost no read IO. As a result, the slave can easily keep up with the master (no lag) as well as brings all the read IO capacity of the slave for read-scaling your workload.

The goal of this blog is two-fold: (1) to cover why RFR is important and how RFR works and (2) to run a simple before/after benchmark showing the impact of RFR on a well known workload. Later this week I’ll post another blog showing other interesting use-cases for RFR beyond this first benchmark.

Read Free Replication: The Why and How

In MySQL, a replication slave does less work than the master because there is no need for a slave to execute SELECT statements (only INSERT, UPDATE, and DELETE). However, a MYSQL slave can struggle to keep up with the master because replication is …

[Read more]
libAttachSQL Query Example

libAttachSQL Query Example

I was asked some questions on IRC last night about how the query example in libAttachSQL’s code base works. For those who missed previous posts, libAttachSQL is a lightweight, non-blocking, Apache 2.0 licensed C connector for MySQL servers which I am developing for HP’s Advanced Technology Group.

In this blog post I’m going to break down a basic query example and explain what is happening at each step. It is possible that this syntax may change slightly by the time we hit GA but it will be similar to this.

#include <libattachsql-1.0/attachsql.h>
#include <stddef.h>
#include <stdio.h>
#include <string.h>

Only one include is needed for the library itself, libattachsql-1.0/attachsql.h. The others are …

[Read more]
PagerDuty Incident Alerting for ClusterControl

September 22, 2014 By Severalnines

Need to add phone and SMS alerting to ClusterControl? ClusterControl 1.2.8 introduces support for PagerDuty, an alerting service for Ops teams to schedule on-calls and add phone and SMS notifications to IT tools. By integrating PagerDuty with ClusterControl, you can start receiving phone, SMS and email notifications for all important database events as monitored by ClusterControl. Alerts go directly to the right person who can solve the issue.

This integration is possible thanks to a new plugin interface, that takes ClusterControl alarms in JSON format and outputs to an external system via plugins. Plugins can be either scripts or executable binaries.

 

We have built a few example …

[Read more]
How to start Percona Xtradb Cluster on CentOS 7

Normally, when we want to start PXC (Percona XtraDB Cluster) on RHEL/CentOS 6 or older then that, we can simply start with init.d script or service command. i.e

shell> /etc/init.d/mysql start 
OR 
shell> /etc/init.d/mysql bootstrap-pxc
shell> service mysql start.

But, the way is changed from CentOS 7. Because systemd integration with RHEL/CentOS 7 is now available for Percona XtraDB Cluster (#1342223).

So now, we have to start mysql with systemctl command i.e

shell> systemctl start mysql

For boostrap,

shell> systemctl start mysql@bootstrap.service

I would also suggest to read one very informative post by Przemek for recovering PXC cluster. …

[Read more]
CIS Oracle MySQL 5.6 Security Benchmark

I've been working on the CIS security benchmark for Oracle MySQL 5.6. There already is a benchmark document for earlier versions of MySQL.

The benchmark document helps you to ensure you have a secure configuration for MySQL.

Center for Internet Security (CIS) is a nonprofit organization.

The Call For Participation is now open.

If you are already a CIS member then you can download the document here. If you don't have an account you can register for free.

MySQL Performance: More in depth with LinkBench Workload on MySQL 5.7, MariaDB 10.1 and also Percona Server 5.6

This is the next chapter of the story started in my previous article and related to the updated results on LinkBench workload published by MariaDB..

Keeping in mind that the obtained results are completely opposite from both sides, I've started to investigate then the same LinkBench-150GB 64 concurrent users workload from the "most favorable" possible test conditions on the same 40cores-HT server as in my previous article:

  • InnoDB Buffer Pool (BP) = 150G (so, all the data may remain in memory)
  • innodb_flush_log_at_trx_commit=2 (so, REDO write are not flushed once per second and not on every transaction)
  • no …
[Read more]
MySQL upgrade best practices

MySQL upgrades are necessary tasks and we field a variety of questions here at Percona Support regarding MySQL upgrade best practices. This post highlights recommended ways to upgrade MySQL in different scenarios.

Why are MySQL upgrades needed? The reasons are many and include: Access to new features, performance benefits, bug fixes…. However, MySQL upgrades can be risky if not tested extensively beforehand with your application because the process might break it, prevent the application from functioning properly – or performance issues could arise following the upgrade. Moreover, I suggest keeping an eye on new releases of MySQL and Percona Server – check what has changed in the …

[Read more]
MySQL Thread Pool Improvements @ Twitter

At Twitter, MySQL is an important part of our storage story. We can have a typical database node with thousands of open connections. It works mostly fine because generally only a few of these connections actively working inside the server. Given the scale at which we have to operate spikes happen – mostly at unexpected times and with unexpected ferocity. The challenge is how to control concurrency within MySQL server during spikes.

Historically we have been using innodb_thread_concurrency to control number of active threads within the server. In Twitter MySQL-5.5 we introduced the idea of Query Throttling where incoming requests are throttled if the number of active threads goes beyond a configurable threshold. These solutions focus on maintaining the health of the system. However, they don’t help us to scale to the workload spikes. With …

[Read more]
Showing entries 6361 to 6370 of 22455
« 10 Newer Entries | 10 Older Entries »