Hi,

Historically, when the 'mariadb-admin' / 'mysql-admin' was used, it
> first needed to be configured, so the 'mariadb-admin' / 'mysql-admin'
> would have the necessary login credentials available.
>
> That changed starting MariaDB 10.4, with the unix socket
> authentication, as described in the logrotate file:
>
> https://github.com/MariaDB/server/blob/main/support-files/mariadb.logrotate.sh#L43
> which we slightly patch for Fedora:
>
> https://src.fedoraproject.org/rpms/mariadb10.11/blob/rawhide/f/mariadb-logrotate.patch
>
> The unix socket authentication in MariaDB was designed in such a way
> that it automatically allows login from the system 'root user and the
> account owning the DB files - usually 'mysql' user. The logic behind
> being that both those accounts can tamper with the DB files in any
> way, so there's no point in denying them the access to the DB
> directly.
>   https://mariadb.com/kb/en/authentication-plugin-unix-socket/
> That said, it should work seamlessly out of the box.
>
> I tried to disable the unix socket authentication, which led to this
> output:
>  | # mariadb-admin --local flush-error-log flush-engine-log
> flush-general-log flush-slow-log
>  | mariadb-admin: connect to server at 'localhost' failed
>  | error: 'Plugin 'unix_socket' is not loaded'
>
> So more likely, you configured a specific protocol to be used for the
> client as the preferred or only variant available.
> That can be configured for specific types of clients and tools, as can
> be seen in the '/etc/my.cnf.d/mysql-clients.cnf' configuration file.
>
> https://github.com/MariaDB/server/blob/main/support-files/rpm/mysql-clients.cnf
>
> When you configure e.g.
>  | [mysqladmin]
>  | user=mysql
>  | protocol=tcp
>

The [mysqladmin] section in /etc/my.cnf.d/mysql-clients.cnf was empty. I've
updated it to include:

[mysqladmin]
user=mysql
protocol=tcp

I've also added granted reload access from my mariadb command line:

MariaDB [(none)]> grant reload on *.* to 'mysql'@'localhost';

Also, can I ask a somewhat related question? When I look in my
~/.mysql_history, the above line is recorded with \40 representing the
spaces. How do I just have it record the actual spaces instead?

grant\040reload\040on\040*.*\040to\040'mysql'@'localhost';

Thanks,
Alex
-- 
_______________________________________________
users mailing list -- users@lists.fedoraproject.org
To unsubscribe send an email to users-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/users@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue

Reply via email to