Linux, Web Server & Database

Create MySQL Database

Create a new MySQL/MariaDB database correctly set up for your application.

The Problem

You need a new database for an application, but a database created with the wrong character set, collation, or without the right dedicated user can cause subtle problems (like broken emoji or special characters) that only show up later.

About this problem

Creating a database itself is a single command, but getting the character set and collation right from the start matters — the common default on older setups (latin1) doesn't support emoji or many non-Latin characters properly, while utf8mb4 does, and switching an existing database's character set later is far more disruptive than setting it correctly from the beginning.

This comes up whenever a new application or site needs its own dedicated database.

What's Included

What's NOT Included

How It Works

  1. Create the database specifying utf8mb4 character set and an appropriate collation, unless the application specifically requires something else.
  2. Create a dedicated user account for this database rather than reusing an existing broader-privileged one.
  3. Grant that user privileges scoped only to the new database, following least-privilege principles.
  4. Flush privileges and confirm the new user can actually connect.
  5. Test a real write and read from the application side to confirm everything works end to end.

In practice: you buy the service, send over whatever access or details the job needs, I investigate and do the work, and you confirm it's resolved before we call it done.

Frequently Asked Questions

What character set should I use for a new database?
utf8mb4 is the current standard recommendation for new databases, since it properly supports the full range of Unicode characters including emoji, unlike the older latin1 or utf8 (3-byte) defaults.
Why does my app show weird characters where emoji should be?
That's a classic symptom of the database using an older character set (like utf8 instead of utf8mb4) that can't store 4-byte Unicode characters correctly.
Should my application use its own dedicated database user?
Yes — a dedicated user scoped only to that one database, rather than a shared or global-privilege account, limits the damage if that specific application is ever compromised.
Can I create a database without command-line access?
Yes, most hosting control panels and tools like phpMyAdmin offer a database creation interface that handles the same steps through a visual form.
What privileges does my application's database user actually need?
Typically SELECT, INSERT, UPDATE, DELETE and sometimes CREATE/ALTER for its own database specifically — rarely does an application need full administrative privileges.
Can I change a database's character set after creating it?
Yes, but it's more involved than setting it correctly from the start, potentially requiring a careful conversion process for any data already stored under the old character set.
Please note: the price shown applies to a standard case matching the description above. Every situation is different, and if your request falls outside the normal scope of this service, I will explain this before doing any additional chargeable work. I will never silently turn a small job into an expensive project.
Running into an issue with a service you've already bought, or unsure which one fits your problem? Message me directly on WhatsApp — no ticket system, no bot.