Showing entries 10283 to 10292 of 44015
« 10 Newer Entries | 10 Older Entries »
Write Yourself a Query Rewrite Plugin: Part 1

With the query rewrite framework in the latest MySQL (Optimizer/InnoDB/Replication) labs release, you get the opportunity to author plugins that can rewrite queries. You can choose whether to rewrite the queries before and/or after parsing. Today I am going to walk you through how to write a pre-parse query rewrite plugin.

When would you want to use a pre-parse query rewrite plugin? The greatest benefit compared to post-parse rewrites — which I cover in a separate post — is the efficiency, especially the lack of overhead for those queries that are actually rewritten. Typical cases where you may want to write a pre-parse plugin are:

  • When you want to remove certain specific clauses from queries. For example, perhaps you want to remove all ENGINE …
[Read more]
(More) Secure local passwords in MySQL 5.6 and up

I log into a lot of different servers running MySQL and one of the first things I do is create a file in my home directory called ‘.my.cnf’ with my credentials to that local mysql instance:

[client]
user=root
password=secret

This means I don’t have to type my password in every time, nor am I tempted to include it on the command line with -p and get the dreaded (but completely accurate):

Warning: Using a password on the command line interface can be insecure.

MySQL 5.6 introduces a utility to make this easier and more secure. First, let’s start with a new mysqld instance with a blank root password and make it more secure:

[vagrant@localhost ~]$ mysqladmin -u root password
New password:secret
Confirm new password:secret
[vagrant@localhost ~]$ mysql -u root
ERROR 1045 (28000): Access denied for user …
[Read more]
Alternatives for chunking bulk deletes in common_schema

I've blogged about common_schema multiple times in the past, and it's a tool I use frequently. Last week I had a project to delete millions of rows from multiple rollup tables in a star schema. Since the tables are not partitioned I needed to use DELETE instead of DROP PARTITION, but I didn't want to delete millions of rows in a single transaction. My first instinct was to use common_schema's split() function to break the deletes into chunks. So I ran a query on …

[Read more]
Announcing iiBench for MySQL in Java

I just pushed the new Java based iiBench for MySQL (and Percona Server and MariaDB), the code and documentation are available now in the iibench-mysql Github repo. Pull request are welcome!

The history of iiBench goes back to the early days of Tokutek. Since "indexed insertion" is a strength of Fractal Tree indexes, the first iiBench was created by Tokutek in C++ back in 2008. Mark Callaghan rewrote iiBench in Python, adding several features along the way. His version of iiBench is available in …

[Read more]
Log Buffer #398, A Carnival of the Vanities for DBAs

This Log Buffer Edition covers some informative and interesting posts from Oracle, SQL Server and the MySQL.

Oracle:

If you’re not using Toad DBA Suite, it’s sometimes hard to find solutions. Somebody wanted to know how to find indexes that aren’t that aren’t indirect. Indirect indexes are those created for a primary key because a primary key column or set of columns are both not null and uniquely constrained. You can’t drop a unique index for a primary key without dropping the primary key constraint that indirectly created it.

At the NoCOUG fall conference at the eBay town hall in San Jose, we got a first-hand look at the workings of …

[Read more]
Codership Selected as a Red Herring Top 100 Global Winner

Helsinki, Finland – 24 NOVEMBER 2014 – Codership, whose Galera Cluster technology brings high availability to open source databases worldwide, today announced it has been named as a Red Herring’s 2014 Top 100 Global Winner . This prestigious recognition honours the year’s most audacious and far-reaching private technology companies and entrepreneurs across the globe.

 

Red Herring’s Top 100 Global list has become a mark of distinction for identifying promising new companies and entrepreneurs. Red Herring editors were among the first to recognize that companies such as Facebook, Twitter, Google, Yahoo, Skype, Salesforce.com, YouTube, and eBay would change the way we live and work.

 

“Choosing the companies with the strongest potential …

[Read more]
Connector/J - Load Balancing for a MySQL Cluster

Creating a simple Load Balance client for a MySQL Cluster

There are few key points in using the Connector/J with Load Balancing on MySQL Cluster
- Dynamic JMX with Connector/J

  • loadBalanceEnableJMX=true&loadBalanceConnectionGroup=<group>

- Timeout value in the blacklist with Connector/J


The following code piece is used on my notebook with MySQL Cluster running on 2 x VMs.  IPs for accessing the 2 MySQL Nodes on the Cluster are 192.168.56.104 and 192.168.56.105.   The port number with the 2 x MySQL Nodes are the same with the value of "3306".

Here is the MySQL Cluster status with MySQL Cluster Manager (MCM)



[Read more]
Schema changes in MySQL for OpenStack Trove users

People using OpenStack Trove instances can hit a common issue in the MySQL world: how to perform schema change operations while minimizing the impact on the database server? Let’s explore the options that can allow online schema changes.

Summary

With MySQL 5.5, pt-online-schema-change from Percona Toolkit is your best option for large tables while regular ALTER TABLE statements are only acceptable for small tables. Also beware of metadata locks.

With MySQL 5.6, almost all types of schema changes can be done online. Metadata locks can also be an issue. pt-online-schema-change can still be worth using as it is also online on read replicas.

Regular ALTER TABLE with MySQL 5.5

If you are still using MySQL 5.5, almost all schema changes will require a table …

[Read more]
MySQL and swapping

Did you ever encounter swap space issue with MySQL ? This problem is really annoying and here are some possible solutions :

1) Track memory usage.. Try to identify the bottleneck using query below. It is not trivial job to zero in on the problem heap.. There are several temp tables being created at run time. Also estimating the OS cache being used by system MYISAM tables is not easy

SELECT ( @@key_buffer_size + @@query_cache_size + @@innodb_buffer_pool_size + @@innodb_additional_mem_pool_size + @@innodb_log_buffer_size + 80 * ( @@read_buffer_size + @@read_rnd_buffer_size + @@sort_buffer_size + @@join_buffer_size + @@binlog_cache_size + @@thread_stack + @@tmp_table_size ) ) / (1024 * 1024 * 1024) AS MAX_MEMORY_GB;

2) Configure the swappiness to 10 or 15.. By default it might be set at 60

cat /proc/sys/vm/swappiness will give the current swappiness value on your system

3) Set Numa interleaving to ON. …

[Read more]
mylvmbackup 0.16 has been released

I'm happy to announce the release of mylvmbackup version 0.16. The source package is now available for download from http://lenzg.net/mylvmbackup/ and https://launchpad.net/mylvmbackup.

Installation packages for a number of platforms can be obtained from the openSUSE Build Service.

Version 0.16 adds support for sending out SNMP traps in case of backup successes or failures. I'd like to thank Alexandre Anriot for contributing this new feature and his patience with me.

Please see the ChangeLog and bzr …

[Read more]
Showing entries 10283 to 10292 of 44015
« 10 Newer Entries | 10 Older Entries »