Frequently Asked Questions

The NearlyFreeSpeech.NET FAQ (*)

MySQL (*)

How do I get a MySQL process?

Ok, I have a MySQL process. How do I create a database?

What is the DSN (hostname) I should use to connect to my MySQL database?

What is the difference between a MySQL process and a MySQL database?

If I lose my MySQL admin user password, can you help me get it back?

How do I access my MySQL database process from the ssh server command line?

How do I access my MySQL database from my own computer?

Where can I find more information on properly creating MySQL users?

What are the default databases present in my MySQL process?

Why do I have to pay for a stopped MySQL process?

When I change my member password, do my MySQL passwords change too?

Why do I get an error "Cannot log in to the MySQL server" when I try to log in to phpMyAdmin?

What does the MySQL Error Can't connect to local MySQL server through socket '.../mysql.sock' (2) mean? (or socket 'please_see_the_faq')

When I try to log in to phpMyAdmin I get the error "the username was not provided." What should I do?

Why shouldn't I use my MySQL admin username from my web site?

When setting up your site's MySQL connection information, it's tempting to skip the step of creating an additional user and just use the "admin" username (your member login name) and password. Never do that!

The first and most important reason not to do this is security. Storing your MySQL administrator password in plain text as part of your publicly-accessible web site is a really bad idea. The slightest vulnerability in your application, the web server software, or the operating system could result in a complete takeover of your MySQL process, rendering it unrecoverable to you.

Your web site doesn't need administrator privileges against your database. It needs some subset of that, and creating a dedicated MySQL user for your site with only the necessary privileges is a good way to limit exposure to SQL injection attacks and other security issues.

Second, your admin username has the SUPER privilege. MySQL only allows a certain number of connections at a time. If it runs out, either due to a problem with your application or a glitch in the MySQL process itself, your site will start getting "too many connections" errors. However, in order to make sure you can get in and fix it, MySQL always holds a single connection aside for a user with the SUPER privilege. If your site is using your admin username, you'll be unable to resolve the issue yourself because that "rescue" connection will already have been wasted by the site. If you find yourself in that situation, you'll have to open a support issue and ask us to manually restart the process.

Note: If you have a subscription membership, you can request that we log in and manually restart your process. The protective measures described above are designed to ensure that it is never necessary. If you bypass all the protections, you can still wind up in this situation.

So remember, using your MySQL admin username from your site is a terrible idea. It seems easy and harmless up front, but sooner or later you will wind up regretting it.

What 'Host' value should I use when creating MySQL users?

How can I make automatic backups of MySQL?

How do I enable or disable InnoDB for my MySQL process?

How can I remove my MySQL process?

What username and password do I use to administer my MySQL process?

How do I upgrade MariaDB to a newer version?

Why do newly-created MySQL processes seem so expensive?

What does it mean that my MySQL process is "damaged?"

How do I enable or disable MySQL logs?