Archive for July 29, 2013

MySQL Utilities Webinar – Q&A + replay now available

MySQL Utilities logoDr Charles Bell and I recently presented a webinar on MySQL Utilities; there was a heavy focus on what you can acheive with them and how you should use them. In case you couldn’t attend or want to listen to some of the details again, the replay from that webinar is available here.

Abstract:

MySQL Utilities provide a collection of command-line utilities that are used for maintaining and administering MySQL databases, including:

  • Admin Utilities (Clone, Copy, Compare, Diff, Export, Import)
  • Replication Utilities (Setup, Configuration, Automated Slave Promotion)
  • General Utilities (Disk Usage, Redundant Indexes, Search Meta Data)

Andrew Morgan and Chuck Bell will guide you through these utilities, and many more, explaining what you can gain from these tools and how to use them (for example how a single command repeatedly checks your master server and in the event it fails, automatically promotes one of the slaves to be the new master).

Question & Answer Summary:

  • Using these utilities, can we export/import routines’ source as well? Yes.
  • I generally run multi-master behind a proxy (haproxy). I was wondering if the replication check would work. But I guess mysql still does not support multi-master or ring replcation. It depends on want you intend to do exactly. There are some limitation, but we intend to improve the utilities over time. So, just test the utilities on your environment and your are welcome to share your feedback with us.
  • Do you need the python connector if you have the utilities on workbench? No, it is bundled as part of WB.
  • What does “mysqluserclone” do that “SHOW GRANTS FOR USER” doesn’t do? It actually creates the users, clone them and not simply show its privileges like SHOW GRANTS. You can find more details here.
  • With mysqlfailover can I set a sequence to swith specific order if a fail occurs with the master? Yes, you can. It will follow the sequence of the defined candidates.
  • Can I run mysqlfailover on a independent server that check the master and their slave servers or it can run on the master or slave servers (mandatory)? Running on an independent server is ideal. After all, you don’t want it to disappear when the master’s host fails.
  • How many MySQL instances can I manage with mysqlfailover, I mean there is possible to check more than one array with the same independent server? With one mysqlfailover instance you can monitor one topology, i.e. one master and all its slaves. If you have more than one topology (using a different master) you can use a mysqlfailover instance to monitor each one.
  • If a master goes down and replication failover is successful, how hard is it to bring that old master back into the fold, assuming it was just a network disruption? You can use mysqlreplicate to set the old master as a slave of the new master resulted by the failover, that will update the old master. then you can use mysqlrpladmin to switchover the just added slave, to make it a master again, that back your original replication setup.
  • Can mysqlprocgrep log what it kills? There is no option to log what it is done. But you can redirect the utility output if it contains the information you need.
  • How does mysqldbcompare handle auto-increment columns? It will find the difference between auto_increment values. So, currently if it is different it will identify the difference. You will get the difference, as: changed or missing rows are shown in a standard format of GRID, CSV, TAB, or VERTICAL. you can choose in which format you want to get the difference.
  • I use Pacemaker/Corosync to achieve failover. Is mysqlfailover suitable for use in that context? Do I need to add extra logic around it, some wrapper script? If so, does Oracle provide a ready-made scripts for Pacemaker/Corosync? mysqlfailover was designed to work independently, and provides some functionalities that may help with the integration with other systems (like the possibility to execute external pre- pos- failover scripts). We do not have a ready-made script for Pacemaker/Corosync. For more information check here.
  • How long are the frm files kept if the database is corrupt or was deleted. The .frm files are not removed in any way. So there is no deletion or removal of the .frm files. The .frm files are an integral part of the server and stored in the datadir.
  • Can mysqlserverclone clone instances between separate servers? Using SSH? mysqlserverclone, starts a new instance, that mimics a running server or a offline server by taking a look to his configuration, but to copy objects like tables, to another instance you need to use mysqldbcopy. We do not currently support SSH. If you see this as a much needed feature, please open a feature request via bugs.mysql.com. That will help us understand the need and urgency.

 





MySQL Virtual Developers Day

MySQL Virtual Developers DayI’ll be presenting the keynote for Wednesday’s (31st July) MySQL Virtual Developer Day. The idea behind this event is that you get half a day of on-line presentations as well as live Q&A. My session focuses on what’s new in MySQL – in particular MySQL 5.6 and MySQL Cluster 7.3. As you’ll come to have expected, the event is free but you need to register here.
In the following agenda, all times are local to Singapore…
MySQL Virtual Developers Day (APAC) Agenda





MySQL Cluster 7.3.2 is released on E-delivery

MySQL Cluster 7.3 logo The binary version for MySQL Cluster 7.3.2 has now been made available at http://www.mysql.com/downloads/cluster/ (GPL version) or Oracle’s Software Delivery Cloud for the commercial version.

A description of all of the changes (fixes) that have gone into MySQL Cluster 7.3.2 (compared to 7.3.1) is available from the 7.3.2 Change log.





MySQL Utilities Webinar

MySQL Utilities logoOn Thursday, Dr Charles Bell and I will be presenting a webinar on MySQL Utilities; there will be a heavy focus on what you can acheive with them and how you should use them. As well as listening to the presentation, this is a great chance to get your questions answered by the experts (Israel Gomez from the engineering team will also be on-line to help with the questions). As always, the webinar is free but you should register in advance here. If the time isn’t convenient, register anyway and you’ll be sent a link to the replay when it’s available.

Abstract:

MySQL Utilities provide a collection of command-line utilities that are used for maintaining and administering MySQL databases, including:

  • Admin Utilities (Clone, Copy, Compare, Diff, Export, Import)
  • Replication Utilities (Setup, Configuration, Automated Slave Promotion)
  • General Utilities (Disk Usage, Redundant Indexes, Search Meta Data)

Andrew Morgan and Chuck Bell will guide you through these utilities, and many more, explaining what you can gain from these tools and how to use them (for example how a single command repeatedly checks your master server and in the event it fails, automatically promotes one of the slaves to be the new master). This is your opportunity to listen to the development lead describe what he and his team have created, and to get your questions answered by the experts.

WHO:
Andrew Morgan, Principal Product Manager
Chuck Bell, Software Development Manager

WHEN:
Thu, Jul 18: 09:00 Pacific time (America)
Thu, Jul 18: 10:00 Mountain time (America)
Thu, Jul 18: 11:00 Central time (America)
Thu, Jul 18: 12:00 Eastern time (America)
Thu, Jul 18: 16:00 UTC
Thu, Jul 18: 17:00 Western European time
Thu, Jul 18: 18:00 Central European time
Thu, Jul 18: 19:00 Eastern European time
Thu, Jul 18: 21:30 India, Sri Lanka
Fri, Jul 19: 00:00 Singapore/Malaysia/Philippines time
Fri, Jul 19: 00:00 China time
Fri, Jul 19: 01:00 日本
Fri, Jul 19: 02:00 NSW, ACT, Victoria, Tasmania (Australia)

The presentation will be approximately 60 minutes long followed by Q&A.





MySQL Cluster 7.3 GA – webinar replay + Q&A now available

MySQL Cluster 7.3 logoIf you missed the recent MySQL Cluster 7.3 GA webinar then the replay is now available here.

In the webinar replay you can learn how MySQL Cluster 7.3 has delivered key features enabling the latest generation of web and mobile services to take advantage of high scalability on commodity hardware, SQL and NoSQL interfaces and 99.999% availability; these include:

  • Support for Foreign Key constraints – implemented to be as compatibile with InnoDB as possible
  • NoSQL JavaScript connector allowing native access from node.js applications to MySQL Cluster, bypassing the SQL layer
  • Browser-based Auto-Installer for fast configuration of production-grade clusters
  • Connection Thread Scalability for enhancing performance of each connection to the cluster by up to 8x
  • MySQL Server 5.6 support for improved performance and replication robustness

If you missed the live webinar then you missed your chance to ask your own questions (though feel free to post them as comments on this post) but here are some of the highlights from the Q&A:

  • How do the NoSQL APIs get the data – are there any relational joins behind the scenes to query the DB? It depends on the API – for example, Memcached and Node.js APIs act on a single table but others do allow joins – this is something that’s enabled by the NDB API (a C++ client library that encapsulates the ‘wire’ protocol to access the Data Nodes in order to read or write data).
  • I have an existing Joomdle based application. Would it work if I converted the tables to MySQL Cluster? If I understand correctly, you’re wondering whether an existing application that’s coded to work with InnoDB would now work with MySQL Cluster. We hope that we’ve got as close to that as possible but there’s always the possibility that some tweaks to the app or middleware will need to be made. I can’t comment specifically on Joomdle.
  • Is it possible to use the JavaScript API directly from the client (e.g. browser) directly rather than from server code running in Node.js? Not at present but would love to hear feedback on whether this is a common requirement and what the use cases would be.




Presenting on MySQL Cluster at MySQL Connect

I'm presenting 2 sessions at the 2013 MySQL Connect conference
The MySQL Connect conference is a great opportunity to listen to and chat with people from the MySQL community – including the engineers who work on or around MySQL as well people who are using it in production. The conference takes place from 21-23 September in San Francisco (runs up to Oracle OpenWorld). There are 84 sessions scheduled and the content catalog has now been published.
 
I’ll be presenting 2 sessions:

  • What’s New in MySQL Cluster 7.3 [CON2477]. In this session, discover the latest developments and how MySQL Cluster 7.3 enables developers to focus on building robust, scalable applications faster. Get your database up and running in minutes by using the browser-based autoinstaller, combining autodiscovery with best practices to deliver the ideal configuration the first time. Migrate existing applications and frameworks to MySQL Cluster, and simplify new ones by exploiting cross-shard foreign keys. Access your data directly with the native driver for JavaScript/Node.js. At the same time, enjoy the benefits of 99.999 percent uptime and a distributed, autosharded database that scales to deliver higher loads than ever whether with SQL or NoSQL APIs—even when you’re working with queries and updates that span shards.
  • Deploy and Scale MySQL Cluster Like a Pro Without Opening the Manual [CON3763]. This session aims to tackle a few myths head-on: “Installing a distributed database has to be complex,” “Only NoSQL data stores make life easy for developers,” “Years of painful experience and a PhD are needed to configure a distributed, real-time database.” In this session, see for yourself how to configure and deploy MySQL Cluster over several hosts in just minutes—right from your browser. Observe how the MySQL Cluster Installer applies best practices to produce a tailored configuration, using your hints about your application together with autodiscovery of the system resources. Also see how MySQL Cluster Manager simplifies the management of your cluster, performing sophisticated operations such as adding new nodes or performing online upgrades with ease.

Early bird registration is running until 19th July and it saves you $500 – register now!