Estou escrevendo esta resposta porque acho que ambos entendemos mal o Gerenciamento de conta de usuário mecanismos de mariadb. Também encontrei o mesmo problema que você , então estou escrevendo esta resposta para mim mesmo. Você pode seguir esta resposta ou danblack 's, o que você realmente precisa. Como danblack disse, pode não ser uma boa ideia alterar "mysql" para sua conta_de_serviços.
Inicialize o diretório do banco de dados mariadb com a conta de usuário 'mysql':
$ sudo mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql
...
Two all-privilege accounts were created.
One is example@sqldat.com, it has no password, but you need to
be system 'root' user to connect. Use, for example, sudo mysql
The second is example@sqldat.com, it has no password either, but
you need to be the system 'mysql' user to connect.
After connecting you can set the password, if you would need to be
able to connect as any of these users with a password and without sudo
...
Como você pode ver, duas contas mariadb com todos os privilégios,
example@sqldat.com e example@sqldat.com , foram criados. E você deve ser o sistema operacional root e mysql usuário use essas duas contas mariadb, respectivamente. Depois disso, habilite e inicie o servidor mariadb:
$ sudo systemctl enable --now mariadb.service
Você pode querer usar
mysql_secure_installation comando para melhorar a segurança inicial
. Em seguida, use mariadb
example@sqldat.com conta com sistema root conta para se conectar ao servidor e criar uma nova conta mariadb que tenha root -como privilégios
com o nome que você quiser:$ sudo mysql -u root -p # first input your passwd to use 'sudo', then [ENTER] for empty mariadb root account passwd
[sudo] password for your_service_account:
Enter password:
...
MariaDB [(none)]> CREATE USER 'whatever_name_you_want'@'localhost' IDENTIFIED BY 'somepasswd';
Query OK, 0 rows affected (0.004 sec)
MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* to 'whatever_name_you_want'@'localhost';
Query OK, 0 rows affected (0.004 sec)
MariaDB [(none)]> quit
Bye
Use o novo
example@sqldat.com conta para se conectar ao servidor e criar um novo banco de dados:$ mysql -u whatever_name_you_want -p
Enter password:
...
MariaDB [(none)]> CREATE DATABASE IF NOT EXISTS mydb;
Query OK, 1 row affected (0.001 sec)
MariaDB [(none)]> quit
Bye
E se você definir a senha para
example@sqldat.com conta, você pode até usar esta conta sem sudo :$ sudo mysql -u root -p
[sudo] password for your_service_account:
Enter password:
...
MariaDB [(none)]> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('somepasswd');
Query OK, 0 rows affected (0.041 sec)
MariaDB [(none)]> quit
Bye
$ mysql -u root -p
Enter password:
...
MariaDB [(none)]> quit
Bye