Showing entries 11391 to 11400 of 44105
« 10 Newer Entries | 10 Older Entries »
Why did we develop percona-agent in Go?

We recently open-sourced our percona-agent and if you check out the source code, you’ll find that it is written in the Go programming language (aka Golang). For those not up to speed, the percona-agent is a real-time client-side agent for Percona Cloud Tools.

Our requirements are quite demanding for our agents. This one is software that works on a real production server, so it must be fast, reliable, lightweight and easy to distribute. Surprisingly enough, binaries compiled by Go fit these characteristics.

There are of course alternatives that we considered. On the scripting side: Perl, Python, PHP, Ruby et al. These are not necessarily fast, and the distribution is also interesting. We have enough experience with …

[Read more]
Percona Toolkit 2.2.8 is now available

Percona is glad to announce the release of Percona Toolkit 2.2.8 on June 4th, 2014 (Downloads are available here and from the Percona Software Repositories). This release is the current GA (Generally Available) stable release in the 2.2 series.

New Features:

[Read more]
Downloading older releases of MariaDB

MariaDB has plenty of mirrors to download the latest versions of MariaDB. Typically mirrors carry the last couple of releases and the current release, but what if you wanted to access something much older?

You have two resources for the complete archive:

  1. http://archive.mariadb.org/ – this is the official archive, but from what I gather, it can be quite slow
  2. http://downloads.skysql.com/files/MariaDB/ – SkySQL provides a complete mirror and it is very fast so I would use this instead. 

Current download archives stand at 337GB. But you can …

[Read more]
MariaDB 10 is a Sandbox killjoy?

Using MySQL Sandbox I can install multiple instances of MySQL. It is not uncommon for me to run 5 or 6 instances at once, and in some occasions, I get to have even 10 of them. It is usually not a problem. But today I had an issue while testing MariaDB, for which I needed 5 instances, and I the installation failed after the 4th one. To make sure that the host could run that many servers, I tried installing 10 instances of MySQL 5.6 and 5.7. All at once, for a grand total of 20 instances:

$ make_multiple_sandbox --how_many_nodes=10 5.6.14
installing node 1
installing node 2
installing node 3
installing node 4
installing node 5
installing node 6
installing node 7
installing node 8
installing node 9
installing node 10
group directory installed in $HOME/sandboxes/multi_msb_5_6_14
$ make_multiple_sandbox --how_many_nodes=10 5.7.4 …
[Read more]
Whats new in MySQL Workbench 6.1

I have always had the attitude one should eat their own dog food. (so to speak ;-) Especially when it comes to software. As such, MySQL just released Workbench 6.1 with Visual Explain. I have a production database that holds results from automated performance tests which is updated by an xml parser. Using the Visual Explain I found several queries in the parser causing table scans. Applying the suggest indexes resolved these scans. There a lot of great additions to this latest release and it is free. Worth a look for sure. Whats new in MySQL Workbench 6.1

Using mysql_embedded and mysqld --bootstrap to tinker with privilege tables

A couple weeks ago, I started wondering about some alternative approaches to resetting the MySQL or MariaDB password. The tried-and-true methods of --skip-grant-tables and --init-file are fine, but I thought there must be some more "simple" (in terms of fewer steps at least) and more programmatic way. It occurred to me that it should be possible to use the embedded server (libmysqld) to accomplish this task. In this post, I'll look at how to use the mysql_embedded tool to inspect and modify grant tables, as well as how to use the --bootstrap option to mysqld to do the same.

read more

MyISAM crash recovery, and triggers

I've recently run into a scenario where MyISAM auto-repair does not appear to work in MySQL 5.6. Most of my tables are InnoDB, but having recently upgraded from MySQL 5.5 to 5.6 I still have a handful of MyISAM tables in order to use FULLTEXT indexes since FULLTEXT on InnoDB was not supported in MySQL 5.5. These MyISAM tables are essentially copies of InnoDB tables, and are kept in sync via triggers.

I'm using myisam_recover_options=FORCE,QUICK so I expect any crashed MyISAM tables to be repaired automatically when mysqld tries to open them, but when one of these MyISAM tables crashes the auto-repair does not happen unless I explicitly interact with the table. For example I'll see an error like this if replication updates a table that triggers an update on a crashed MyISAM table:

2014-06-02 15:01:01 8617 [ERROR] /usr/sbin/mysqld: Table './flite/ad_index' is marked as crashed and should be repaired 2014-06-02 …

[Read more]
CTO of Shots on Core Technology, Culture and Working on the greatest App in the World

MySQL has opened a lot of avenues and opportunities for me. I am the CTO of Shots and I got here because I was a mySQL DBA, who can code in a variety of languages, understand data access, layout and design fast backends that scales to well over 100 million users, manage a team, give back to the community and prove myself through constant good work. Plus I've made every single mistake, so I know what not to do.

At Shots we of course use Percona XTRA DB 5.6, with Memcache, Redis, ElasticSearch, HAProxy, FluentD with Logstash plugins, Ruby, PHP 5.4, Go, Java, Erlang and AWS which are managed via a custom CHEF build. We use chef server like chef solo :)

In four months we grabbed over 1 million ACTIVE users all on IOS, which are mainly from US, UK, Australia, Canada and Brazil. We …

[Read more]
MONyog MySQL Monitor 6.0 Has Been Released

Changes (as compared to 5.72) include:

Features:
* The MONyog API is enhanced with more options to manage servers registered in MONyog. Options now include calls to add/edit/remove servers. Refer documentation for full details.
* MONyog now supports Query analysis using Performance Schema tables (events_statements_summary_by_digest and events_statements_history_long tables). This feature is supported only for MySQL 5.6.14 and MariaDB 10.0 and above.
* Explain plan is available in Query analyzer for Slow_log table based logging and Processlist sniffer.
* An example query is now shown in detailed query view in Query analyzer if queries replaced with literals is selected.
* MONyog now has a configurable option to define the max. query length displayed. …

[Read more]
Do not trust vmstat IOwait numbers

I’ve been running a benchmark today on my old test box with conventional hard drives (no raid with BBU) and noticed something unusual in the CPU utilization statistics being reported.

The benchmark was run like this:

sysbench --num-threads=64 --max-requests=0 --max-time=600000 --report-interval=10 --test=oltp --db-driver=mysql --oltp-dist-type=special  --oltp-table-size=1000000   --mysql-user=root --mysql-password=password  run

Which means: create 64 threads and hammer the database with queries as quickly as possible. As the test was run on the localhost I would expect the benchmark to completely saturate the system – being either using CPU or being blocked on IO nature of this benchmark so it does not spend a lot on database locks, especially as this system has just 2 cores.

Looking at VMSTAT however I noticed this:

[root@smt1 mysql]# vmstat 10
procs -----------memory---------- ---swap-- -----io---- …
[Read more]
Showing entries 11391 to 11400 of 44105
« 10 Newer Entries | 10 Older Entries »