Buy Percona ServicesBuy Now!

Online MySQL Configuration Wizard from Percona

 | December 23, 2011 |  Posted In: Events and Announcements, Insight for DBAs, MySQL


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.

Baron Schwartz

Baron is the lead author of High Performance MySQL. He is a former Percona employee.


  • 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.

  • Giuseppe,

    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.

  • Peter,
    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.

  • Giuseppe,

    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.

  • 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!

  • 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.”

  • 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..

  • 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.

  • 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.

  • 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.

  • 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)


  • 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.

  • Fair enough, Thanks Baron !

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

  • 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.

  • 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,

  • 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.

  • 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?

  • 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.

  • 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.

Comments are closed