“With MySQL 5.6, developers can now commingle the “best of both worlds” with fast key-value look up operations and complex SQL queries to meet user and application specific requirements” –Tomas Ulin. On February 5, 2013, Oracle announced the general availability of MySQL 5.6. I have interviewed Tomas Ulin, Vice President for the MySQL Engineering team [...]
During one of my last MySQL mission, I encountered a "security error" with mysqldump. The mission was about migrating a MySQL database from one box to another MySQL version and from Windows to Linux with different users. In order to do that, I used mysqldump. During the import of the data, I got the following warning:
ERROR 1449 (HY000) at line 1860: The user specified as a definer ('cdadmin'@'%') does not exist
Following the migration, I did the backup strategy. During the first mysql dump, I got the following error message:
mysql@mysql001: [mysqld2] mysqldump test
Running mysqldump for instance mysqld2 to
/u99/mysqlbackup/mysqld2/dump/2012-11-14_15-48-23, please
wait...
MySQL dump of instance mysqld2 to
/u99/mysqlbackup/mysqld2/dump/2012-11-14_15-48-23 has
failed.
mysqldump: Couldn't execute 'show table status like …
If you need to compare the structure or maybe even the content of two MySQL databases you will need a tool which will help you with this not too straight task. Here is an overview of some application which will help you succeeding the work.
Percona Toolkit
Has several database comparison and syncing tools among other
things.
Liquibase
Open source library for tracking, managing and applying database
changes.
Toad
Can do both a “Schema Compare” as well as a “Data Compare”
MySQL
Diff
Free command line tool. Does a good job comparing the table
structures, but does not support all MySQL features.
…
[Read more]While most of the talk recently has mostly been around the new changes in MySQL 5.6 (and that is understandable), I have had lately some very interesting cases to deal with, with respect to the Metadata Locking related changes that were introduced in MySQL 5.5.3. It appears that the implications of Metadata Locking have not been covered well, and since there are still a large number of MySQL 5.0 and 5.1 installations that would upgrade or are in the process of upgrading to MySQL 5.5, I thought it necessary to discuss what these implications exactly are. You can read the rest of the post here.
While most of the talk recently has mostly been around the new changes in MySQL 5.6 (and that is understandable), I have had lately some very interesting cases to deal with, with respect to the Metadata Locking related changes that were introduced in MySQL 5.5.3. It appears that the implications of Metadata Locking have not been covered well, and since there are still a large number of MySQL 5.0 and 5.1 installations that would upgrade or are in the process of upgrading to MySQL 5.5, I thought it necessary to discuss what these implications exactly are.
The post Implications of Metadata Locking Changes in MySQL 5.5 appeared first on ovais.tariq.
Now that we have frozen the 5.1 API of Libdrizzle I can blog
about how to use parts of the API.
In this blog post I will cover connecting to a MySQL server and
retrieving the binary logs.
First of all we need to connect to the MySQL server
#include <libdrizzle-5.1/libdrizzle.h>
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <inttypes.h>
int main(void)
{
drizzle_st *con;
drizzle_binlog_st *binlog;
drizzle_return_t ret;
con= drizzle_create("localhost", 3306, "user", "pass", "",
NULL);
ret= drizzle_connect(con);
if (ret != DRIZZLE_RETURN_OK)
{
printf("Could not connect to server: %s\n",
drizzle_error(con));
return EXIT_FAILURE;
} …
A couple of days ago we released Libdrizzle 5.1.3. With
this release of the C connector for MySQL servers we are freezing
the 5.1 API and declaring it stable. This is also one of
our biggest releases after incorporating code from a Seattle
developer day. The diff since 5.1.2 is over 6000 lines long
and around 180KBytes, incorporating many bug fixes and
improvements.
The most notable changes in this release are:
- the drizzle_binlogs tool has been removed, it is now in the Drizzle Tools tree which will have its first release soon.
- the connection API has been refactored, options processing has been re-written and the connection API has been simplified in general
- drizzle_escape_string has been made safer
- drizzle_hex_string and drizzle_mysql_password_hash has been removed
- internal …
This week we begin to discuss replication features in MySQL 5.6. Ear Candy is a LOAD DATA INFILE bug and using CSV to get beyond it; At the Movies is Suzan Bond talking about "The Art of Self-Sourcing".
Events
Oracle's doing more MySQL tech tours. These seminars will be in
the mornings, and are free. They will be on:
Tuesday, February 19th in Petach Tikva,
Israel
Thursday, February 21st in Oslo and Brussels
…
[Read more]Last weekend I attended my first Fosdem conference. It was great to finally visit the conference that might be the biggest open source conference in the world. It's also an amazing experience how our Belgian friends pull off such a magnificent event purely with volunteer effort. You might say the conference itself is very much open source: free entry, created by volunteers. Organizers estimated that this year there were 7000+ attendees on campus. A hard data point was over 2300 simultaneous devices connected to Wifi.
I presented an introduction to Galera Cluster for MySQL. Due to problems with my personal laptop, I had to resort to an old version of the same presentation I had uploaded to Slideshare last year. (This is a variation of the old rule: The best way to backup your code is to publish it online as open source...). These are the slides:
…
[Read more]
Many users of MySQL install and use the standard directories for
MySQL data and binary logs. Generally this is
/var/lib/mysql.
As your system grows and you need more disk space on the general
OS partition that commonly holds /tmp, /usr and often /home, you
create a dedicated partition, for example /mysql. The MySQL data,
binary logs etc are then moved to this partition (hopefully in
dedicated directories). For example data is placed in
/mysql/data.
Often however, a symbolic link (symlink) is used to so MySQL
still refers to the data in /var/lib/mysql.
When it comes to removing the symlink and correctly configuring MySQL, you first stop MySQL and correctly defining the datadir my.cnf variable to point to the right location. However, MySQL still keeps the legacy directory information around and this will cause MySQL replication to fail in several ways when you attempt to restart your MySQL instance.
The binary …
[Read more]