Showing entries 11251 to 11260 of 44113
« 10 Newer Entries | 10 Older Entries »
Compiling & Debugging MariaDB(and MySQL) in Eclipse from scratch - Part 5: "Profiling in Eclipse with OProfile"

Section 6: "Profile a real case" 6.1 INTRODUCTION

Profiling & Debugging is an argument that would require an entire book, the aim of this(and the others) posts of this series is to give you the basic knowledge on how to work with these tools and techniques withing Eclipse. For instance if you want to learn to profile with OProfile you should study on the abundant and separate resources, you may start from: http://OProfile.sourceforge.net

6.2 ABOUT NAMING THE PROJECT

read more

New feature in MariaDB 10.1: ANALYZE statement

Last week, yours truly has pushed a new feature into MariaDB 10.1 tree: ANALYZE statement.

The idea of this feature is to make it easy to compare query plan with query execution. ANALYZE statement will run the statement, and produce EXPLAIN-like output, where optimizer’s estimates are followed by numbers that were observed when running the query. The output looks like this:

Here,

  • Next to rows there is r_rows column which shows how many records were read from the table.
  • Next to filtered there is r_filtered column which shows which fraction of records was left after the part of the WHERE condition attached to the table was checked.

I think this should explain the feature. If you want more details, please refer to the KB article …

[Read more]
How to avoid even more of the common (but deadly) MySQL development mistakes

On July 16 I’ll be presenting my next webinar focusing on common mistakes committed by MySQL users.

How to Avoid Even More of the Common (but Deadly) MySQL Development Mistakes

“Why can’t I just save my data to a file?”

Using an SQL database seems so complex to get right, and for good reason. The variety of data-driven applications is practically limitless, and as project requirements change, we find ourselves taking shortcuts and adopting bad habits. But there are proven methods to understanding how to develop and manage data in a scalable and reliable way. This talk shows you some of these methods, including:

  • How to optimize a database application with partitioning and sharding.
  • How to avoid the secret security …
[Read more]
Optimizations for derived tables in MySQL 5.6 and MariaDB 5.5+

I had been involved with subquery optimizations fairly closely, but last week I was surprised to find out that MySQL 5.6 does not support derived table merging. This feature was among the subquery features in the abandoned MySQL 6.0. In MariaDB, it was finished and released as part of MariaDB 5.3/5.5. As for MySQL, neither MySQL 5.6, nor MySQL 5.7 has this feature.

So what is this “derived merge”? It’s simple to understand. When one writes complex queries, it is common to use FROM-clause subqueries as a way to structure the query:

select
  sum(o_totalprice)
from
  (select * from orders where o_orderpriority=’1-URGENT’) as high_prio_orders
where
  o_orderdate between ‘1995-01-01′ and ‘1995-01-07′

MySQL …

[Read more]
MySQL Workbench 6.1.7 GA has been released

Dear MySQL users,

The MySQL Workbench team announces availability of version 6.1.7 of its
flagship product. MySQL Workbench 6.1.7 is a periodic maintenance release
including 17 bug fixes. Additionally, the supported Linux distribution list has been
refreshed. Users of the product are recommended to upgrade to this version.

MySQL Workbench 6.1

With over 30 new features, this version has many significant
enhancements focusing on real-time performance assessment and analysis
from the SQL statement level to server internals and file IO. You can
see this from additions to the SQL Editor as well as new dashboard
visualization and reporting that take advantage of MySQL Server 5.6
and 5.7 Performance Schema, and enhancements to the MySQL Explain Plans.

Additionally Workbench 6.1 is leveraging work from various teammates in
MySQL Engineering by …

[Read more]
P for PHP, M for MySQL in LAMP, Learn Their Roles in Web Application Development

Understanding and installling the components of the LAMP stack are the first steps to learning the role of Linux, the Apache Server, MySQL and PHP in developing web applications. To learn more, take the MySQL and PHP - Developing Dynamic Web Application training course.  

You can take this 4-day, instructor-led course as a:

  • Live-Virtual Event: Take this class from your own desk, no travel required. Choose from events already on the schedule to suit different time-zones. These events are delivered in English.
  • In-Class Event: Travel to an education center to take this class, for example at

 Location

[Read more]
UnDROP tool for InnoDB

While working on data recovery cases I had been maintaining Data Recovery Tool for InnoDB. It proved to be useful in most of disaster scenarios, but still has some limitations:

  • page_parser is slow. It scans a stream of bytes in order to find InnoDB pages. Being single-threaded it couldn’t leverage power of modern multi CPU servers. The same time customer’s databases tend to grow. It’s not uncommon to see over terabyte databases (I recovered once as large as 100 terabytes database!). Taking this into account recovery time quite often was painfully long.
  • You have to recompile constraints_parser for every table. It takes long if there are many tables. To make it worse constraints_parser isn’t very smart about memory allocation, so a binary required about 250MB. Thus, to …
[Read more]
Pythian Acquires Blackbird.io

Today, we officially announced the fact that Blackbird.io has been acquired by Pythian.  I first met its founder, Paul Vallee, in 2007. Paul reached out to me about joining Pythian to found a San Francisco presence.  At the time, I was one year into PalominoDB, and was having such a good time being my own boss and building a business that I politely declined.  Since then, Paul and I have caught up at PerconaLive (O’Reilly’s MySQL conf for you old schoolers) regularly - using the time to catch up, share successes (and failures), and discuss the marketplace at large.  We’ve also competed, healthily and as good sports.  


Over those 6 years since that first contact, I’ve also fallen in love with the world of open-source data, both big and small.  I’ve enjoyed working on the IOUG mysql conference, presenting at Percona Live, Kaleidoscope, Velocity and more.  I’ve …

[Read more]
MySQL backup and cleanup bash scripts with mydumper

1. Backup script

#!/bin/sh
# Fri Jun 27 10:44:49 2014
# done by dragkh
# usage: 
# cat /etc/cron.d/backupmysql 
# 0  3  *  *  *       root    /root/bin/clean.backup.hyperion.mysql.mydumper.daily.sh >>  /var/log/clean.backup.${HOSTNAME}.mysql.mydumper.daily.log 2>&1
# 35  3  *  *  *       root    /root/bin/backup.hyperion.mysql.mydumper.daily.sh >> /var/log/backup.${HOSTNAME}.mysql.mydumper.daily.log 2>&1

ROOT_BACKUP_DIR="/home/mydumper"

seik_date () {
if [ -z $1 ]
then
# cdate=`date +%Y-%m-%d\ %H:%M:%S\ %Z`; export cdate; echo $cdate
cdate=`date -R`; export cdate; echo $cdate
else

if [ -z ${2} ]
then
cdate=`date +%Y-%m-%d.%H.%M.%S`; export cdate; echo $cdate
else
cdate=`date "+%Y-%m-%d %H:%M:%S"`; export cdate; echo $cdate
fi

fi
}


function check_dir {
 test ! -d "${1}" && mkdir -p "${1}"
}


function set_cpu_threads {
    # set the threads one less than the existing 
    threads=$(cat /proc/cpuinfo  |  grep processor | tail -1 | awk …
[Read more]
Failover with the MySQL Utilities – Part 1: mysqlrpladmin

MySQL Utilities are a set of tools provided by Oracle to perform many kinds of administrative tasks. When GTID-replication is enabled, 2 tools can be used for slave promotion: mysqlrpladmin and mysqlfailover. We will review mysqlrpladmin (version 1.4.3) in this post.

Summary

  • mysqlrpladmin can perform manual failover/switchover when GTID-replication is enabled.
  • You need to have your servers configured with --master-info-repository = TABLE or to add the --rpl-user option for the tool to work properly.
  • The check for errant transactions is …
[Read more]
Showing entries 11251 to 11260 of 44113
« 10 Newer Entries | 10 Older Entries »