Showing entries 1 to 10 of 36972
10 Older Entries »
Building RPM on Travis-CI in Docker containers

Travis-CI is a crucial component in Continuous Integration/Continuous Deployment. We use it a lot to run unit tests and building/uploading Python modules.

Recently I had to solve a problem of building RPMs on Travis-CI with Docker containers. In this post I will describe step-by-step how to do that.

We distribute our backup tool as RPM packages for CentOS 6 and 7. But Travis-CI slaves run Ubuntu trusty. In theory I could use a tool like fpm and build RPMs on Ubuntu (never tried that, but should be possible). However I like to have a .spec file. It gives you full flexibility on how RPM behaves and it’s easier to maintain it.

Travis-CI supports Docker containers, so I decided to go that way.

At high level the process is following. A Travis-CI slave starts a docker daemon. A …

[Read more]
Getting started with ASP.NET Core and MySQL Connector/NET

This tutorial shows how to read information from MySQL Sakila database in an ASP.NET Core application using Connector/NET Core to explore the possibility to run this application on any .NET Core supported environment as Windows, Linux, and Mac.


Windows and Visual Studio 2015

The first step is to create an ASP.NET Core Web Application (.NET Core) type project and name it MvcSakilaCore

Note: the …

[Read more]
MySQL Connector/NET 6.10.0 alpha has been released

MySQL Connector/Net 6.10.0 alpha is the first release to provide Entity
Framework Core 1.1 support and to enable compression in the .NET Core
version of the driver for enhanced cross-platform application
development.To download MySQL Connector/Net 6.10.0 alpha, see the “Development
Releases” tab at


Percona Toolkit 2.2.20 is now available

Percona announces the availability of Percona Toolkit 2.2.20. Released December 9, 2016, Percona Toolkit is a collection of advanced command-line tools that perform a variety of MySQL server and system tasks that DBAs find too difficult or complex for to perform manually. Percona Toolkit, like all Percona software, is free and open source.

This release is the current GA (Generally Available) stable release in the 2.2 series. Downloads are available here and from the Percona Software Repositories.

[Read more]
Mysql 8.0: UUID support

In MySQL 8.0.0 we introduced many new features; among those, three new functions that ease and enhance the support for working with UUIDs.


A UUID is just a 128-bit value and it is usually represented in human-readable format as an UTF8 string composed of 5 groups of hexadecimal characters separated by dashes.…

Planets9s - On stable MySQL Replication setups, running MySQL on Docker and cloud lockin

Welcome to this week’s Planets9s, covering all the latest resources and technologies we create around automation and management of open source database infrastructures.

Watch the replay: how to build a stable MySQL Replication environment

Thanks to everyone who participated in this week’s webinar on building production-ready MySQL Replication environments. Krzysztof Książek, Senior Support Engineer at Severalnines, shared his top 9 tips on that topic with sanity checks before migrating into MySQL replication setup, operating system configuration, replication, backup, provisioning, performance, schema changes, reporting and disaster recovery. If you'd like to learn how to build a stable environment with MySQL replication, then watch this webinar replay.

[Read more]
To SST or Not To SST?


If a node leaves the cluster and subsequently rejoins, Galera will internally make sure that the node is brought up to speed with the rest of the cluster. It is important for DBAs that this process completes quickly, so ideally SST is avoided altogether and IST is used. However, when looking at the log, SST is still mentioned even if IST is ultimately chosen, which may cause confusion.

In this article, we will describe the entire process of getting a restarted node back to speed with the rest of the cluster and explain the logic behind the various log messages.

Basic Principles

State transfers in Galera are governed by the following basic principles:

  1. The cluster will pick a donor node using an algorithm that favors IST and attempts to avoid any transfers over a wide-area network. A specific donor can be explicitly chosen using the wsrep_sst_donor variable.
  2. The joiner …
[Read more]
The Perfect Server - Debian 8.6 (nginx, BIND, Dovecot, ISPConfig 3.1)

This tutorial shows how to prepare a Debian 8 (Jessie) server (with nginx, BIND, Dovecot) for the installation of ISPConfig, and how to install ISPConfig 3.1. ISPConfig 3 is a web hosting control panel that allows you to configure the following services through a web browser: Apache or nginx web server, Postfix mail server, Courier or Dovecot IMAP/POP3 server, MySQL, BIND or MyDNS nameserver, PureFTPd, SpamAssassin, ClamAV, and many more. This setup covers nginx (instead of Apache), BIND as DNS server, and Dovecot (instead of Courier).

Orchestrator at GitHub

GitHub uses MySQL to store its metadata: Issues, Pull Requests, comments, organizations, notifications and so forth. While git repository data does not need MySQL to exist and persist, GitHub’s service does. Authentication, API, and the website itself all require the availability of our MySQL fleet.

Our replication topologies span multiple data centers and this poses a challenge not only for availability but also for manageability and operations.

Automated failovers

We use a classic MySQL master-replicas setup, where the master is the single writer, and replicas are mainly used for read traffic. We expect our MySQL fleet to be available for writes. Placing a review, creating a new repository, adding a collaborator, all require write access to our backend database. We require the master to be available.

To that effect we employ automated master failovers. The time it would take a human to wake up …

[Read more]
Log Buffer #496: A Carnival of the Vanities for DBAs

This Log Buffer Edition covers Oracle, SQL Server and MySQL.


Deploying Dropwizard application on Application Container Cloud using Developer Cloud Service

SQLcl custom Input prompt and validations

SQL Developer: Quick Outline with SQL statements

How to change RANGE– to INTERVAL-Partitioning in #Oracle

[Read more]
Showing entries 1 to 10 of 36972
10 Older Entries »