Online MySQL Configuration Wizard from Percona

Update: Percona will no longer be offering the free services of Query Analyzer and MySQL Configuration Generator hosted at  We made this decision based on observed low usage numbers, outdated technology, and lack of support for MySQL 5.7+, MongoDB, and PostgreSQL. You might wish to consider some other options, which offer similar and effective tools to support your business.

Merry Christmas! Just in time for the holidays, we have released a new tool to help you configure and manage your MySQL servers. Our online MySQL Configuration Wizard can help you generate a good basic configuration file for a server. This MySQL tuning wizard is our answer to the commonly asked question, “what is a good default configuration file for my server with 16 GB of RAM?”

We have a raft of new features planned for future releases, including advanced configuration options, supersafe settings to prevent bad things from happening, and much more. In the future we plan to add more online tools to help you be more productive.

Please give it a spin and let us know what you think. Credit for this tool must go to Miguel Trias, our talented lead developer. Thanks also to the many experts inside Percona who helped test, and made suggestions for improving the tool.

Share this post

Comments (31)

  • Fernando Briano

    Congratulations on the new release. I’ve had the pleasure to work with Miguel and I can tell he’s really talented so I trust this to be a well designed tool.

    Great tool by the way.

    December 23, 2011 at 9:22 am
  • Wlad

    Why does the tool ask for my mail address at end ?

    December 23, 2011 at 9:41 am
  • Baron Schwartz

    It stores the configuration in your user account. The next release will also be able to email the configuration file to you. The user account you create will be used for all future tools we add, too.

    December 23, 2011 at 9:48 am
  • Giuseppe Maxia

    I have a Percona account, but tools.percona,com does not recognize it. Any advice?

    December 23, 2011 at 10:23 am
  • Peter Zaitsev


    You probably have the conference account not the tool account. They are different. I agree this is less than perfect and we plan in the end to integrate things so same account would work for tool, conferences, forum and other services we provide. It just was not done yet.

    December 23, 2011 at 10:35 am
  • Giuseppe Maxia

    You know that this means inviting people to create fake accounts with ludicrous names? (Which I have just done!) 🙂
    If the account is not operational yet, it would be nicer to let people see their configuration file online and let them worry about saving it until you’re ready to do something with these email addresses.

    Thanks for the tool, anyway! I will try the configuration file and see if I get any improvement.

    December 23, 2011 at 10:44 am
  • Peter Zaitsev


    You’re welcome to exploit the system 🙂
    Also note the person with so much experience as you can no question create better configuration file manually. This tool is designed more to help people running MySQL with defaults and similar circumstances.

    December 23, 2011 at 10:52 am
  • Justin Rovang

    Oooohhh shiny! You beat me to it! I was going to start working on one of these this winter.


    – Maybe ask what kind replication: statement/mixed/row ?

    – Would it be possible to model a replica off of a master config? e.g.: have it share almost all of the same configuration, and only ask for a few things like ‘name’, then jack up the max_allowed_packet by a small %

    Very nice work!

    December 23, 2011 at 12:54 pm
  • Baron Schwartz

    The account actually DOES work — if you click on the header, you’ll see a list of your generated configurations, which you can then regenerate. In the future there will be more functionality: edit them, for example.

    I’d like a single-sign-on system for all of our web properties too. There’s the forums, wikis, customer accounts, and so on — but I didn’t want to delay “good” just because we don’t have “perfect.”

    December 23, 2011 at 1:13 pm
  • Richard Ayotte

    Excellent tool. Very well done. It’s a great way to get the basics in before tweaking, if even needed. Thank you.

    December 23, 2011 at 2:43 pm
  • Wlad

    You do not want to delay “good”. You might do it just without signing on. As far as I’m concerned, this is “perfect”. I did not sign(why should I?) so I was not able to see what it actually generated..

    December 23, 2011 at 3:21 pm
  • Jim B.

    Hey this is awesome. One small request, allow period characters in the server name so that I can use my servers fqdn.

    December 23, 2011 at 5:03 pm
  • Thomas Bley

    That’s great, I’ve linked you on my FAQs!

    December 25, 2011 at 7:15 am
  • Kim Carlsen

    I was kind of disappointed that after spending time doing the 6 step wizard it asked me to create an account. Maybe it would be better to sign in before answering the questions if its absolutely required.

    December 27, 2011 at 3:21 am
  • Dotan Cohen

    This looks like a wonderful tool, and had it asked for registration before going through the forms I would have registered happily. However, I found it rather underhanded and deceitful to ask at the end. Rectify that and this will be a tool that I will happily share with my colleagues.

    January 2, 2012 at 4:08 am
  • Baron Schwartz

    A number of people have commented about registration at the end of the steps. In our early non-public testing, people preferred registration at the end over registering up-front. Who wants to register to use something when you haven’t even seen what it is yet? Note that you do NOT have to confirm your account before you can begin to use it; registration is a simple step and then you’re on to the generated configuration.

    I understand the opinions presented here, but I make decisions on data, not opinions. A/B testing is the right way to decide which approach is more satisfactory to more users, and we already did a limited form of that. We may do a more full-fledged A/B test in the future, but I would rather devote development resources (i.e. money) towards implementing new features.

    January 2, 2012 at 6:43 am
  • Romain

    Hi Baron,

    Just seen the online config tool for MySQL. looks nice. i did a sample run, and i was confused by one of the descriptions, which state :

    “InnoDB is a durable storage engine by default, which means all transactions are securely synchronized to disk. If you do not have adequate hardware (a good quality RAID controller with a battery-backed write cache, for example), then you might need to relax the durability for performance reasons.”

    Shouldn’t it be “if you *have* adequate hardware…, then you can allow yourself to relax the durability for performance reasons.” or something like that ? (assuming you’d want maximum safety)


    January 3, 2012 at 4:55 am
  • Baron Schwartz

    If you don’t have good hardware, then operating InnoDB in 100% durable mode can be sloooooowwwwww because it takes a long time for disks to spin. So when people don’t have good hardware, then they often relax durability to get better performance.

    January 3, 2012 at 8:40 am
  • Romain GUINOT

    Fair enough, Thanks Baron !

    I guess people should just get good hardware, and then have the most options wrt durability.

    January 3, 2012 at 11:49 am
  • Baron Schwartz

    Well, it depends 🙂 A lot of people are just going to “yum install mysql” on a small, slow machine for some reason or another, for things that aren’t business critical. But even “my development machine” should be fast, on poor quality hardware: if the test suite takes too long to run, I am an unproductive developer. And the data is worthless.

    January 3, 2012 at 11:55 am
  • Romain GUINOT

    True too.

    My dev machines are also yum install mysql (Fedora), with settings roughly the same that what the online tool reported, except for table_definition_cache which i did not know about. So i guess i’ve paying some attention to your blog 🙂

    Thanks & keep up the great work,

    January 3, 2012 at 12:03 pm
  • Przemek

    Great idea indeed!

    I’ve got a few suggestions.
    When you choose the “This server will be a replica”, then I’d say these options should be checked, and strongly recommended by default (and probably moved out from the “safeguards” section to a slave dedicated one?): “Make the server read-only” and “Log replication updates” (the second one especially if binlogging is enabled on slave).
    Then I don’t like the idea of putting socket and pid files in mysql data directory. My usual choice for them is /var/run/mysqld/.
    The same goes for all the log files. IMHO especially having relay logs and bin logs in the same directory, or even on the same partition as data is less safe (disk full), and harder to manage and monitor.
    I would add few more options, but I understand that it is supposed to be a simple quick wizard for non experienced users.

    March 15, 2012 at 3:12 am
  • Fotograf Rzeszów

    Very good tool.
    If I’m used file form this wizard Mysql server working vero godd and more faster.


    March 15, 2012 at 11:28 am
  • Dana

    Please give me an advice in next problem:
    I have a table(Big_table name) with over 25 millions of records and I must run often some scripts like:
    insert into table2
    SELECT * FROM Big_table o inner join Big_table s on o.fields_1=s.fields_1
    and o.firs_count=s.firs_count and<
    WHERE ((o.fields_2=s.fields_2 and o.fields_2”) or (o.fields_3=s.fields_3 and o.fields_3”)) and (o.fields_4=s.fields_4 or o.fields_5=s.fields_5 or o.fields_6=s.fields_6)
    and (o.fields_7s.fields_7 or o.fields_7 = ” or o.fields_7 is null or s.fields_7 is null)
    and it ran over 3 days .
    I want to mention that “inner join” field “fields_1” (o.fields_1=s.fields_1 ) has the varchar(100) type and it is indexed.
    I have installed Percona-Server-5.5 on system with
    OS Debian 6.0.5 (Linux 2.6.32-5-amd64)
    CPU Core(TM) i5-2400 CPU @ 3.10GHz (x 4)
    RAM 16 GB

    What hardware do you think I need ?
    What advices can you give me in this situation?

    August 29, 2012 at 8:19 am
  • Daigu

    MySQL does not start with the config that the tool produced for me.
    The following lines seem rather dubious as the standard config points somewhere else.

    socket = /var/lib/mysql/mysql.sock
    pid-file = /var/lib/mysql/

    Standard config:
    socket = /var/run/mysqld/mysqld.sock
    pid-file = /var/run/mysqld/

    Wrote to Percona, no reply.

    December 13, 2013 at 4:23 am
  • Daigu

    The reason why MySQL was not starting:

    As for the file locations, in their High Performance MySQL it is mentioned that it is Percona’s assumption that your files are located there, but… they may be elsewhere as well. All that really matters is that the file locations are explicitly stated.

    December 13, 2013 at 6:39 pm
  • Ali Reza

    it’s gone ?


    April 6, 2019 at 9:29 am
    • asdf

      yeah, its’ gone. I came here for the SQL config wizard as well…

      April 20, 2019 at 8:03 pm
  • Ravi Jeetun

    Hello, i rely much on the Percona MySQL Configuration Wizard. It provides good start for setting up a server. Please provide me the link. Thanks.

    April 28, 2019 at 7:26 am
  • Darcy

    damn.. where’d the wizard go? It was a good kickoff for new servers.

    July 11, 2019 at 1:09 am
  • Knirsch

    Please bring the wizard back! :-((

    August 22, 2019 at 1:22 pm

Comments are closed.

Use Percona's Technical Forum to ask any follow-up questions on this blog topic.