Showing entries 18301 to 18310 of 44106
« 10 Newer Entries | 10 Older Entries »
Announcing PAM authentication plugin for MySQL (early access release)

We are pleased to announce availability of an early access version of Percona’s PAM Authentication plugin for MySQL. This plugin supports MySQL-5.5.x, Percona Server 5.5.x and MariaDB 5.2.x. The PAM Authentication plugin can be used for:

  • MySQL authentication using operating system users (pam_unix)
  • MySQL authentication from LDAP server (pam_ldap)
  • authentication against RSA SecurID server
  • any other authentication methods that provides access via PAM

We name it early access as it does not yet have the full list of features we want to implement. It is currently functional and we want to make it available for everybody. In this version you still need to create individual users in MySQL (even though they will be authenticated via PAM), in the final (non-early …

[Read more]
05.12. Doctrine 2

Introduction

Object-relational mapping (ORM) frameworks have been around for several years now and for some people, ORM is already outdated by now. As we have seen with other technologies and concepts before, PHP is not exactly what we call an early adopter among the programming languages. Thus it took some time for ORM to grow up in the PHP context.

There have been some frameworks before Doctrine 2 that implement ORM (remember e.g. Propel) specific tasks but most of them lack the required maturity to be used in large projects. With Doctrine 2, PHP takes a huge step into the right direction Doctrine 2 is fast, extensible and easy to use.

This article will take you on a tour through the main concepts of Doctrine 2 in the first part and then explain how to use it in a real world application in the second part. Since at the time of writing …

[Read more]
Hashing Algorithm in MySQL PASSWORD()

Recently we had a question from a customer: what is the hashing algorithm implemented in PASSWORD() ? The manual doesn’t give a straight answer in any of these two pages: http://dev.mysql.com/doc/refman/5.1/en/encryption-functions.html#function_password http://dev.mysql.com/doc/refman/5.1/en/password-hashing.html It is enough to dig a bit more to find the solution in http://forge.mysql.com/wiki/MySQL_Internals_ClientServer_Protocol#4.1_and_later that specifies “mysql.user.Password stores SHA1(SHA1(password))” . Instead of blindly […]

A little bit about BIT again.

The MySQL implementation of the BIT type has had severe criticism over time.

I think the famous Blog by Baron Schwartz here will be known to a lot of people. It both complains about the implementation as such and deals with bugs in the early 5.0 implementation. Most (if not all) of the regular bugs have been fixed. However the complaints about the implementation are still valid. I use to post this link to those of our users having difficulty with BIT and advise to use  a TINYINT instead (at least instead of a BIT(1)).

It is also a part of the story that many users do not understand that a BIT is a numerical type and instead use it as a BOOL/BOOLEAN (what it is not). A BIT(n) may of course be used as …

[Read more]
Comment on on MySQL replication prefetching by Robert Hodges

Hi Domas! Tungsten Replicator will soon have replication prefetch as well. We are using the same technique as Yoshinori but let Tungsten take care of parallelization using parallel apply, which can work on things other than actual updates. We’ll post a blog article as soon as we get some plausible test results.

What does MariaDB’s user feedback feature report?

I was curious what information MariaDB’s “phone home” user feedback plugin sends. (It works on more than just MariaDB, by the way.)

It’s easy enough to find out: just load the plugin, then select from the INFORMATION_SCHEMA.FEEDBACK table. This returns a lot of rows that are obviously the status counters and variables, as well as the plugins loaded in the server. A quick exclusion join will eliminate those, and the result on my laptop is this:

select f.* from feedback as f
   left outer join global_variables as v on f.variable_name = v.variable_name
   left outer join global_status    as s on f.variable_name = s.variable_name
   left outer join plugins          as p on f.variable_name = p.plugin_name
where s.variable_name is null and v.variable_name is null and p.plugin_name is null;
+--------------------+--------------------------------------+
| …
[Read more]
on MySQL replication prefetching

For the impatient ones, or ones that prefer code to narrative, go here. This is long overdue anyway, and Yoshinori already beat me, hehe…

Our database environment is quite busy – there’re millions of row changes a second, millions of I/O operations a second and impact of that can be felt at each shard. Especially, as we also have to replicate to other datacenters, single threaded replication on MySQL becomes a real bottleneck.

We use multiple methods to understand and analyze replication lag composition – a simple replication thread state sampling via MySQL processlist helps to understand logical workload components (and work in that field yields great results), and pstack/GDB …

[Read more]
banker’s round for mysql

for some reason, nobody has ever exposed the different rounding methods via mysql’s built-in ROUND() function, so if you want something different, you need to add it via a stored function. the function below is based on the T-SQL version here.

CREATE FUNCTION ROUND_TO_EVEN(val DECIMAL(32,16), places INT)
RETURNS DECIMAL(32,16)
BEGIN
  RETURN IF(ABS(val - TRUNCATE(val, places)) * POWER(10, places + 1) = 5 
            AND NOT CONVERT(TRUNCATE(ABS(val) * POWER(10, places), 0),
                            UNSIGNED) % 2 = 1,
            TRUNCATE(val, places), ROUND(val, places));
END;

use at your own risk. there may be edge conditions where this fails. but this matches up with the python and postgres based system i was crunching data from, except in cases where …

[Read more]
MySQL Workbench 5.2.36 GA available

MySQL Workbench 5.2.36 has been released. This release is part of an ongoing effort committed to improving the day to day usability of the product based on accumulated experience from tools such as MySQL Query Browser and input from user feedback.

This specific version was focused on improving usability of the Query Editor. Some of the changes introduced are:

  • New, redesigned Query Editor layout. Output messages are always visible while resultsets and the query editor can be resized according to the task at hand. Resultsets are now in the same tab as their generating query editor.
  • Several minor changes that make the difference for a frustration-free, comfortable use of the tool. Sidebar sizes, the last selected schema and other state information is now properly remembered between sessions. Keyboard navigation of resultsets has been fixed to properly handle Tab key navigation in all platforms.
  • SELECT …
[Read more]
FromDual.en: New version of FromDual's Performance Monitor for MySQL (MPM) v0.7.2 is out

Taxonomy upgrade extras: performanceenterprise monitormonitoringmonitorperformance monitoringperformance monitorreleasegraphgalerampmmaas

On …

[Read more]
Showing entries 18301 to 18310 of 44106
« 10 Newer Entries | 10 Older Entries »