Little Rock Tech Fest, Symfony Live, Zendcon, Oracle Open World, Oracle Code One, and Madison PHP

September 26, 2018

October promises to be a busy month. I will be at the Little Rock Tech Fest Little Rock Tech Fest Image October 4th and 5th speaking on The Proper Care and Feeding of a MySQL Database and MySQL 8. Then I am off to San Francisco to speak on MySQL Tips and Tricks on October 12th at Symphony Live USASynfony Live USA. Then it is off to Las Vegas and Zendcon where I will speaking on MySQL 8 and MySQL Without the SQL. Zendcon and Open Enterprise

Next is the dynamic duo of Oracle Openworld and Oracle Code One. I have a talk at Oracle Code One on the MySQl X DevAPI and PHP with lots of coding examples (too many? Nah!) and I will have a book signing sometime during the expo show hours. And the MySQL Community Reception is moving to a new location, details to follow..Oracle Code One

Then to round off the month is my first trip to Madison PHP where I will speak on MySQL 8. Madison PHP Image


PHP on the West Coast

September 14, 2018

I was barely back from the UK when I got back on a jet and made my way to Portland for CascadiaPHP where I will speaking on the MySQL Document Store.

Then it is down to my home town of San Diego for WavePHP to talk about MySQL 8.

The PHP community has been blessed this year by the big shift to the PHP 7 series AND a slew of new shows. Austin, Detroit, Nashville, Portland, and San Diego.

If you attend either show, I have lots of swag — plush dolphins, squish dolphins, stickers, and a handful of my book. And if you are good on all that please stop by and say hello.

Wales and London next week

September 5, 2018

Next week is a trip to Swansea in Wales for SwanseaCon on Monday the 10th where I will be speaking on MySQL 8 Server Optimization. And then the next day in London is the London MySQL Meetup.

SwanseaCon is a one day, agile development and software craftsmanship conference for Software Developers, Software Testers, Business Analysts, Scrum Masters, Software Architects, Project Managers and Consultants in Wales. This is the forth year in the beautiful sea side city and the audience is extremely sharp. The talk subjects range from mine to The Systemics of the Liskov Substitution Principle, and I am here for an argument – Working with conflict in teams.

The London MySQL Meetup is a fantastic group. They tend to meet in pubs (Highly recommended on my part) and the members are an amazing cross section of MySQL talent. Admission is free, by the way.

I hope to see you at either (or both) events if you can make it.

Output MySQL in JSON Format

August 13, 2018

I was recently asked if there is anyway to select non-JSON data from a MySQL database and output that data in JSON format. There are two very easy ways to to this.

JSON Array

If you need a JSON array, it is very easy to use the JSON_ARRAY() function. Simply select the columns you want as the argument to JSON_ARRAY()

SQL> select
json_array(continent,Population, Code)
from country
limit 5;
| json_array(continent,Population, Code) |
| ["North America", 103000, "ABW"] |
| ["Asia", 22720000, "AFG"] |
| ["Africa", 12878000, "AGO"] |
| ["North America", 8000, "AIA"] |
| ["Europe", 3401200, "ALB"] |
5 rows in set (0.0006 sec)


However to get a JSON object you need to do a little more work. JSON objects require pairs – key/value pairs — so you need to pass a key, even a fictitious one for each value you desire. In the example below I use strings with the name of the column to pair up with the values

json_object('Continent', continent,
'Population', Population,
'Code', Code)
from country
limit 5;
| json_object('Continent', continent, 'Population', Population, 'Code', Code) |
| {"Code": "ABW", "Continent": "North America", "Population": 103000} |
| {"Code": "AFG", "Continent": "Asia", "Population": 22720000} |
| {"Code": "AGO", "Continent": "Africa", "Population": 12878000} |
| {"Code": "AIA", "Continent": "North America", "Population": 8000} |
| {"Code": "ALB", "Continent": "Europe", "Population": 3401200} |
5 rows in set (0.0007 sec)

Remember if you have questions about this or other MySQL JSON data type programming, please refer to my book MySQL and JSON A Practical Programming Guide -- David Stokes

MySQL Group Replication July 7th at DFW Unix User Group

June 20, 2018

I will be speaking at the Dallas Fort Worth Unix User Group meeting July 7th MySQL Group Replication. Some folks asked for a reminder well beforehand especially with the upcoming US Holiday weekend, so here it is.

The meeting location is the IBM Innovation Center at 1177 South Beltline Road, in Coppell, just south of the Airline Drive traffic light. And just west of North Lake. Pizza at 6:45 and me at 7:00PM.
MySQL Group Replication Topology Image

Top Ten Thanks!

June 19, 2018


Thanks to all who read this blog and my other blog at!

Percona Live Santa Clara 2018

April 27, 2018

Whew! For those of you who missed the Percona Live show this week you really picked a bad time to miss a show. The big news was the release of MySQL 8.0.11 as Generally Available and the reviews have been excellent. Actually it was marked GA just before the show on Thursday. The response has been good and downloads are at a record pace!!

Okay Dave, but what about the non 8.0.11 stuff? Well, the biggest news, at least to me, was GraalVM, that will provide the ability to write stored procedures in multiple languages with a JIT compiler AND you can easily DEBUG the code. It used to be that MySQL databases did not house a lot of business logic compared to other databases. But with the changes in triggers in 5.7 and now GraalVM those days may be over.


MySQL was proud to sponsor the opening reception and MySQL Cmmunity Awards Reception

ProxySQL is getting richer with features. Vitesse is on my ‘need to get this learned when I get off the road’ category after hearing more about it. And Kubernetes seems to be running everything but the kitchen sink. Catch the slides for all session on the Percona Live site as there is a lot of great info there. Top recommendation is the Amazing Bill Kwarwin’s deck on How to Use JSON in MySQL Wrong.

The show was shorter by one day but was very with with many tracks. Many commented that the feeling was more like the European counterpart. And bittersweet was the announcement that Percona Live will not be back to Santa Clara next year — but the rumor I heard was that it will be in a city with In-and-Out burgers which will keep several MySQL Engineering Team members.

And I am off to the Pacific Northwest to their Linuxfest in Bellingham this weekend — lots of great swag, MySQL 8 info, and more if you can attend.