Setting up your database
First of all you need to create a database for FLOW3 to use with whatever means you usually use for that purpose. I'd do it like this:
mysqladmin5 -p create flow3Then you need to create the needed tables, the DDL is in a file that comes with the FLOW3 package:
mysql5 -p flow3 < Packages/Framework/FLOW3/Resources/Private/Persistence/SQL/DDL.sql
Note: This will only work if you have your MySQL configured to run in ANSI SQL mode, something you want to do anyway...
Configure FLOW3 for MySQL
Now all that is left is to tell FLOW3 to actually use that shiny MySQL database. For this you need to add some lines to Configuration/Settings.yaml in the root of your FLOW3 installation (create the file if you don't have one yet):
FLOW3: persistence: backendOptions: dataSourceName: 'mysql:host=<host>;dbname=blog' username: '<username>' password: '<password>'
Keep in mind this is YAML, so it must be indented using spaces. You have more options for the DSN, e.g. to use a socket for the connection.
Why so complicated?
If you wonder why it can work out of the box with SQLite but not with MySQL, here's why: SQLite only needs a database file for eternal happiness. So when FLOW3 tries to connect to the database there is one case it handles in a special way: when using the SQLite PDO driver and the expected file does not exist. Then it can simply create the database (file) and set up the tables, as it doesn't need to know any more parameters and can create the database without hassle.
For other databases the ways of creating databases differ wildly, so we didn't even try to handle that, yet.