Showing entries 25386 to 25395 of 44105
« 10 Newer Entries | 10 Older Entries »
PHP: 120 tuning screws for mysqlnd

The MySQL native driver for PHP (mysqlnd) is capable of collecting some 120 performance statistics. This is about twice as much as it was when I blogged about the 59 tuning screws for mysqlnd. While the basics have not not changed and the API calls for accessing the data remained the same (see previous posting) the new figures have never been described before.

The figures are for those of you who want to squeeze the last out of the PHP. Many of the statistics have been written for those who have developed mysqlnd and not for PHP users. The data is certainly still of interest for PHP experts but let me stress out again that it is for experts.

Scope

Statistics are either aggregated on on a per-connection or per-process basis. Changes to per-connection statistics also change the corresponding …

[Read more]
MySQL University: The Spider Storage Engine

This Thursday (October 15th, 13:00 UTC), Giuseppe Maxia will present the Spider Storage Engine. Here's from the abstract: Everybody needs sharding. Which is not easy to maintain. Being tied to the application layer, sharding is hard to export and to interact with. The Spider storage engine, a plugin for MySQL 5.1 and later, solves the problem in a transparent way. It is an extension of partitioning. Using this engine, the user can deal transparently with multiple backends in the server layer. This means that the data is accessible from any application without code changes. This lecture will briefly introduce MySQL partitioning, and then show how to create and use the Spider engine, with some practical …

[Read more]
MySQL University: The Spider Storage Engine

This Thursday (October 15th, 13:00 UTC), Giuseppe Maxia will present the Spider Storage Engine. Here's from the abstract: Everybody needs sharding. Which is not easy to maintain. Being tied to the application layer, sharding is hard to export and to interact with. The Spider storage engine, a plugin for MySQL 5.1 and later, solves the problem in a transparent way. It is an extension of partitioning. Using this engine, the user can deal transparently with multiple backends in the server layer. This means that the data is accessible from any application without code changes. This lecture will briefly introduce MySQL partitioning, and then show how to create and use the Spider engine, with some practical …

[Read more]
Swap values in 2 rows SQL

I encountered a situation at work that I feel would be a good brain teaser. I was working on a project and needed a way to swap values from 2 different rows in a SQL table. Obviously I can do it on client side (like PHP) to do it; but that wouldn’t be a good […]

Monitoring MySQL

Ronald Bradford wants to know what kind of Monitoring you use..
He specifically wants to know about Alerting tools

There's different cases , looking at it from a full infrastructure point my current favourite is Zabbix or good old Nagios,

But when looking at it from a debugging perspective you have MySQLAR or Hyperic, but those aren't in the alerting list.

However, when you are building HA clusters, you have custom scripts running either from mon or from pacemaker ..

Still .. Ronald probably wants more input :)

Technorati Tags: ha monitoring msql

[Read more]
How To Set Up Apache2 With mod_fcgid And PHP5 On Fedora 11

How To Set Up Apache2 With mod_fcgid And PHP5 On Fedora 11

This tutorial describes how you can install Apache2 with mod_fcgid and PHP5 on Fedora 11. mod_fcgid is a compatible alternative to the older mod_fastcgi. It lets you execute PHP scripts with the permissions of their owners instead of the Apache user.

Looking for MySQL-ish things around Thailand/SE Asia

I recently relocated to Khon Kaen, Thailand for 3 months. Since I can do my Open Query work from anywhere (as long as there is a decent internet connection with not too much latency) that is entirely no problem. It is a nice city, far from the business/busyness of Bangkok. Almost noone speaks english here, which makes even the simplest task an adventure (imagine miming an umbrella in front of 10 giggling store employees)

Now that I have gotten settled in Khon Kaen, I am looking for fun work-related things to do around here: conferences, user groups, interesting projects etc. Anything goes really, even if it is not so much work-related. I also have free time on my hands

I am quite likely going to do a tutorial on MMM at FOSS.my in Kuala Lumpur. It’s still waiting on a few things since I announced my availability super-late, but I have good hope. I am turning to our readers to ask for …

[Read more]
Securing MySQL (part 1 of 2)

You finished the development phase of your Web project, and you are now heading to production. This means that your web-site will be soon on-line, visible on the Internet, and may become a potential target for attacks.

During development, you have been using MySQL on your laptop, and since you are the only one accessing your laptop you used the default configuration as-is. You are perfectly right in doing that, in fact MySQL is pretty secure by default, but here are a set of post-installation best practices to bring MySQL security to the next level.

1) Set a password for the root account. Note that by "root account" I don't mean the super-user of the operating system, but the super-user of MySQL itself:
$ mysql ­-u root mysql
mysql> SET PASSWORD FOR root@localhost=PASSWORD('new_password');

2) If they exist, remove the MySQL anonymous account - or assign a password to it - and …

[Read more]
How MySQL Cluster executes queries

This post describes how MySQL Cluster executes queries. First of all, Cluster is a storage engine. It doesn't actually execute queries because it doesn't speak SQL. That is why you use a MySQL server, which parses your queries and sends low-level storage engine API calls to the Cluster data nodes. The data nodes know how to retrieve or store data. Or you can talk to the data nodes directly using the NDB API(s).

MySQL Cluster has various means of executing queries. They boil down to:

  1. Primary key lookup
  2. Unique key lookup
  3. Ordered index scan (i.e., non-unique indexes that use T-trees)
  4. Full table scan


Let's say you have 4 data nodes in your cluster (NoOfReplicas=2). This means you have 2 node groups and each one has half the data. Cluster uses a hash on the primary key (unless you've controlled the partitioning using the 5.1 partitioning features). So for …

[Read more]
Finding your MySQL High-Availability solution – The definitions

As my first contribution to the MySQL Performance Blog, I joined Percona at the beginning September, I chose to cover the various high-availability (HA) options available for MySQL.  I have done dozen of MySQL HA related engagements while working for Sun/MySQL over the last couple of years using Heartbeat, DRBD and NDB cluster and I'll probably be doing the same at Percona.  I have built my first DRBD based HA solution nearly 10 years ago.

There is quite a lot of confusion surrounding HA solutions for MySQL, I will try to present them objectively, my goal here been not to sell any specific technology but to help people choose the right one for their needs.  This post is first of a series,  I don't yet know how many I will write in the series.

Before we start, it must be stated that high-availability is not only a matter of technical solutions, good management practices covering monitoring, alerting, security and …

[Read more]
Showing entries 25386 to 25395 of 44105
« 10 Newer Entries | 10 Older Entries »