Archiv der Kategorie 'PlanetMySQL (english)'
Monday, November 7th, 2011
The series Using X with PHP mysqli continues. After notes on calling stored procedures and using prepared statements, its time for a multiple statement quickstart. A mighty tool, if used with care…
Using Multiple Statements with mysqli
MySQL optionally allows having multiple statements in one statement string. Sending multiple statements at once reduces client-server round trips […]
Posted in PlanetMySQL (english), PlanetPHP (english) | Comments Off
Friday, November 4th, 2011
PECL/mysqlnd 1.1.2-stable has been released. The mysqlnd replication and load balancing plugin for PHP 5.3/5.4 finally got the download label it deserves: stable, ready for production use! PECL/mysqlnd_ms makes using any kind of MySQL database cluster easier.
Download PECL/mysqlnd from pecl.php.net
Documentation at the PHP Reference Manual
Key features
The release motto of the 1.1 series is “cover MySQL […]
Posted in PlanetMySQL (english), PlanetPHP (english) | Comments Off
Friday, November 4th, 2011
Starting with PHP mysqli is easy, if one has some SQL and PHP skills. To get started one needs to know about the specifics of MySQL and a few code snippets. Using MySQL stored procedures with PHP mysqli has found enough readers to begin with a “quickstart” or “how-to” series. Take this post with a […]
Posted in PlanetMySQL (english), PlanetPHP (english) | 2 Comments (read more) »
Thursday, November 3rd, 2011
A couple of weeks ago a friend of mine asked me how to use MySQL stored procedures with PHP’s mysqli API. Out of curiosity I asked another friend, a team lead, how things where going with their PHP MySQL project, for which they had planned to have most of their business logic in stored […]
Posted in PlanetMySQL (english), PlanetPHP (english) | Comments Off
Monday, October 24th, 2011
The free Mysqlnd replication and load balancing plugin now offers load balancing and lazy connections independent of read write splitting. This makes the plugin attractive for MySQL Cluster users. All nodes participating in a MySQL Cluster can serve all requests, they all accept read and write requests. No statement redirection needs to be done. […]
Posted in PlanetMySQL (english), PlanetPHP (english) | 1 Comment »
Tuesday, October 18th, 2011
Would you like to see the EXPLAIN output for all MySQL queries of any PHP application without changing the application much? Easy-peasy: compile PHP to use the mysqlnd library, install PECL/mysqlnd_uh and paste 22 lines of evil code into your auto_prepend_file .
class conn_proxy extends MysqlndUhConnection {
public function query($conn, $query, $self = false) {
[…]
Posted in PlanetMySQL (english), PlanetPHP (english) | Comments Off
Friday, October 14th, 2011
Unfortunately MySQL Proxy was no good source of inspiration today. MySQL Proxy can do many wonderful things which you can do with C based mysqlnd plugins as well. But not with PECL/mysqlnd_uh. PECL/mysqlnd_uh lets you write “plugins” in PHP. Given my desire to demo the power of mysqlnd plugins at the upcoming webinar Succeed […]
Posted in PlanetMySQL (english), PlanetPHP (english) | Comments Off
Thursday, October 13th, 2011
It is the third day I try to find mysqlnd plugin use cases for the Succeed with Plugins webinar on October, 26th. Not being innovative or creative today, I looked into a classic: client fail over. As a trained and talented reader, you won’t be shocked to see 54 lines of PECL/mysqlnd_uh hacking today.
class __mysqlnd_conn_failover […]
Posted in PlanetMySQL (english), PlanetPHP (english) | Comments Off
Wednesday, October 12th, 2011
Support nightmare: a customer reports a random PHP MySQL error. As a support expert you have the strong feeling that it is down to some suspicious SQL sequence. How to proof? 25 lines of PECL/mysqlnd_uh swiss-army knife magic…
prepend.php
class __mysqlnd_logger extends MysqlndUhConnection {
private $protocol;
public function query($conn, $query) {
$ret = parent::query($conn, $query);
[…]
Posted in PlanetMySQL (english), PlanetPHP (english) | Comments Off
Tuesday, October 11th, 2011
Uh, uh… about a year ago Mayflower OpenSource Labs released the mysqlnd user handler plugin (PECL/mysqlnd_uh). The extension lets you extend and replace mysqlnd internal function calls with PHP. Uh, uh… mysqlnd internals exported to user space? Who cares as long as it does the trick?! Let me show you seven lines of […]
Posted in PlanetMySQL (english), PlanetPHP (english) | Comments Off
Friday, September 30th, 2011
PECL/mysqlnd_ms 1.1.0 (download) has been released (documentation)! It is a drop-in solution to add MySQL replication support to any PHP 5.3+ application using any of the PHP MySQL APIs (mysql, mysqli, PDO_MySQL) when compiled to use the mysqlnd library. It extends the mysqlnd library by replication and load balancing funtionality. The mysqlnd library […]
Posted in PlanetMySQL (english), PlanetPHP (english) | Comments Off
Wednesday, September 28th, 2011
The soon to be announced version 1.1.0-beta of the mysqlnd replication and load balancing plugin (PECL/mysqlnd_ms) for PHP introduces a new concept of filters to the plugin. Filters take a list of servers to pick one or more of it. Filters can be chained, similar command line tools. Imagine a future with a filter chain […]
Posted in PlanetMySQL (english), PlanetPHP (english) | Comments Off
Tuesday, September 27th, 2011
Recently I was asked if PECL/mysqlnd_ms should be used to add MySQL replication support to a yet to be developed PHP application. The mysqlnd plugin, which supports all PHP MySQL extensions (PDO, mysqli, mysql), stood up against a classical, simple, proven and fast approach: one connection for reads, one connection for writes. Let’s compare. […]
Posted in PlanetMySQL (english), PlanetPHP (english) | 2 Comments (read more) »
Wednesday, September 14th, 2011
After a short sprint for PHP 5.4 beta, which is on its way with mysqlnd as a configuration default for all three PHP MySQL extensions, we continued working on the mysqlnd replication plugin (PECL/mysqlnd_ms). Please, find a high level overview presentation further below in this blog post. Because replication support is added at the […]
Posted in PlanetMySQL (english), PlanetPHP (english) | 2 Comments (read more) »
Friday, June 3rd, 2011
The PHP replication and load balancing plugin has a configuration setting to run all transactions on the master. But how to detect the start of a transaction? I got a hint to look at a flag in the client-server protocol which tells us, if we are in a transaction. I was not aware of […]
Posted in PlanetMySQL (english), PlanetPHP (english) | Comments Off
Friday, May 20th, 2011
SQL injection is wonderful! MySQL Proxy can do it, mysqlnd plugins - even written in PHP (not Lua or C) - can do it. Global Transaction IDs are wonderful. A mashup of the PHP replication plugin and global transaction ID injection, makes your replication cluster fail-over much smoother and opens up an opportunity […]
Posted in PlanetMySQL (english), PlanetPHP (english) | 1 Comment »
Tuesday, May 17th, 2011
While Andrey is busy implementing partitioned replication infrastructure code for the PHP replication and load balancing plugin (PECL/mysqlnd_ms), I continued my search for ideas to steal. Mr. Robert Hodges, I’ve robbed the idea of a service level and caching.. If an application is able to function with stale data read from a MySQL replication slave, […]
Posted in PlanetMySQL (english), PlanetPHP (english) | 3 Comments (read more) »
Thursday, May 12th, 2011
The Mysqlnd replication and load balancing plugin alpha release has focused on laying foundations for read-write splitting and load balancing. Thus, we can now look into more juicy topics such as support of schemata based partitioning to increase the granularity of load balancing. Not every slave server needs to replicate all schemata (databases) and tables […]
Posted in PlanetMySQL (english), PlanetPHP (english) | 5 Comments (read more) »
Friday, April 22nd, 2011
The PHP replication and load balancing mysqlnd plugin as been released as an alpha through PECL. Alpha is for those who want to try out the 1.0 feature set as early as possible. Alpha is for those who do not fear debugging, if need be. Notes on troubleshooting.
Testing load balancing and read/write split
There are […]
Posted in PlanetMySQL (english), PlanetPHP (english) | Comments Off
Wednesday, April 20th, 2011
Replication is as old as life on earth. No life without replication. MySQL replication is as old as MySQL, almost. No MySQL without replication. The PECL/mysqlnd_ms 1.0.0 alpha release is brand new. My dream, no PHP without the mysqlnd library replication and load balancing plugin, which works with all the PHP MySQL […]
Posted in PlanetMySQL (english), PlanetPHP (english) | 6 Comments (read more) »