A primeir coisa que deve ser feita é criar um banco para a aplicação:
mysql> CREATE DATABASE meu_site;
Antes de criarmos o usuário, precisamos criar uma senha para ele. É sempre bom ter uma senha aleatório para dificultar o acesso. No Linux é possível gerar conjuntos de caracteres aleatórios com o seguinte comando:
$ < /dev/urandom tr -dc A-Za-z0-9 | head -c16; echo
$ z3Gstp4baTeK739r
Assim teremos uma senha aleatória de 16 caracteres formada por letras (maiúsculas e minúsculas) e números. Com a senha em mãos, podemos criar o usuário:
mysql> USE meu_site;
mysql> CREATE USER 'meu_usuario'@'localhost' IDENTIFIED BY 'z3Gstp4baTeK739r'
Agora precisamos definir os privilégios que este usuário terá em relação ao nosso banco:
mysql> GRANT ALL ON meu_site.* TO 'meu_usuario'@'localhost';
mysql> FLUSH PRIVILEGES;
Desta forma estamos garantindo todos as permissões para o usuário meu_usuario no banco meu_site (também é possível garantir apenas algumas operações, como SELECT e UPDATE, caso o usuário não seja necessário acesso completo ao banco).
Você pode testar se está tudo certo tentando acessar o mysql com este usuário:
$ mysql -u meu_usuario -pz3Gstp4baTeK739r
A opção -p indica que você vai inserir a senha, caso a senha não seja colocada no comando, ela será pedida. (perceba que entre o -p e a senha não há espaço).