← Back to team overview

maria-discuss team mailing list archive

Re: Can't disable Mariadb general query log


Hi Karl,

I logged in as this user (su mysql -s /bin/bash) and found that its home
dir is set to /var/lib/mysql, which is where all the mysql files are. No
.my.cnf in there or any similar configs.

And oh my god, I just found where the setting is coming from. It is indeed
coming from an include at the very end of my.cnf (!includedir
/etc/my.cnf.d) which I now vaguely remember setting up many years ago and
stuffing any settings that are different across the slaves in there so that
the main file could be rsynced over freely. I didn't see it because it was
the last line in the config, past other sections, so it didn't occur to me
that stuff in other sections could be affecting [mysqld]. 🤦‍♂️ 🤦‍♂️
🤦‍♂️  egg on face.

One thing that would have been really good in this process is either a way
to see where a given value was set or a verbose mode that prints out each
value as config files are being read along with config file names.
Basically, some way to trace who does what, where, and when.

Thanks for the helpful hint, Karl, things finally make sense again.


Founder, Android Police <http://www.androidpolice.com>, APK Mirror
<http://www.apkmirror.com/>, Illogical Robot LLC
beerpla.net | @ArtemR <http://twitter.com/ArtemR>

On Sat, Aug 29, 2020 at 3:24 PM Karl Levik <karl.levik@xxxxxxxxx> wrote:

> Hi again Artem,
> Just a few thoughts:
> It might be more correct to run "sudo -u mysql mysqld --help --verbose" as
> that is the user running mysqld.
> Also, ~/.my.cnf will of course refer to the file in the mysql user's home
> dir (if that exists) rather than the one in your own home dir.
> And lastly, just to be sure, you *did* of course check the contents of any
> files included by /etc/my.cnf as well, right? (I'm sure you wouldn't make
> such a rookie mistake, but we have to check all possibilities ....)
> Cheers,
> Karl
> On Sat, 29 Aug 2020 at 22:48, Artem Russakovskii <archon810@xxxxxxxxx>
> wrote:
>> Hi Karl,
>> The option is in the same group as all other settings that do take effect
>> ([mysqld]) and is the same across all 3 slave servers.
>> Default options are read from the following files in the given order:
>>> /etc/my.cnf ~/.my.cnf
>>> The following groups are read: mysqld server mysqld-10.4 mariadb
>>> mariadb-10.4 mariadbd mariadbd-10.4 client-server galera
>> ~/.my.cnf only contains user/password auth info and nothing else.
>> The printout lists these:
>>> general-log                                                TRUE
>>> general-log-file
>>> /var/log/mysql/mysqld-queries.log
>> The log-file is exactly what I set in my.cnf, but general-log is set to
>> TRUE, even though I have it set to "off".
>> I'm still at a loss.
>> Sincerely,
>> Artem
>> --
>> Founder, Android Police <http://www.androidpolice.com>, APK Mirror
>> <http://www.apkmirror.com/>, Illogical Robot LLC
>> beerpla.net | @ArtemR <http://twitter.com/ArtemR>
>> On Sat, Aug 22, 2020 at 1:45 PM Karl Levik <karl.levik@xxxxxxxxx> wrote:
>>> Hi Artem,
>>> In which option group have you placed the setting? ([server], [mysqld],
>>> [mariadb] etc.)
>>> Are you sure your setting isn't being overridden by another option file?
>>> You can check the output of running "mysqld --help --verbose" and verify
>>> that you don't have any extra files at the locations listed.
>>> Cheers,
>>> Karl
>>> On Sat, 22 Aug 2020, 6:09 pm Artem Russakovskii, <archon810@xxxxxxxxx>
>>> wrote:
>>>> I opened up a bug report here
>>>> https://jira.mariadb.org/browse/MDEV-23540.
>>>> Sincerely,
>>>> Artem
>>>> --
>>>> Founder, Android Police <http://www.androidpolice.com>, APK Mirror
>>>> <http://www.apkmirror.com/>, Illogical Robot LLC
>>>> beerpla.net | @ArtemR <http://twitter.com/ArtemR>
>>>> On Fri, Aug 21, 2020 at 4:29 PM Artem Russakovskii <archon810@xxxxxxxxx>
>>>> wrote:
>>>>> Hi folks,
>>>>> I'm at a loss here. I've had a mysql and now mariadb
>>>>> (MariaDB 10.4.13-MariaDB-log) slave with query logging enabled for years,
>>>>> but I'm now trying to turn it off using the my.cnf option and it does not
>>>>> seem to stick on server restarts.
>>>>> What's weird is the other slaves with the exact same my.cnf don't log,
>>>>> but this one slave refuses to stop doing it.
>>>>> To clarify, SET global general_log = 0 does stop logging but the
>>>>> setting comes back on after a restart.
>>>>> I'm turning it off in my.cnf like this:
>>>>> general_log = off
>>>>> #Enter a name for the query log file. Otherwise a default name will be
>>>>> used.
>>>>> general_log_file=/var/log/mysql/mysqld-queries.log
>>>>> Commenting out general_log_file simply changes it to go to a different
>>>>> location. I also tried general_log=0 without any luck.
>>>>> ps shows it as running with:
>>>>> mysql    27580     1 99 16:26 ?        00:01:40 /usr/sbin/mysqld
>>>>> --defaults-file=/etc/my.cnf --user=mysql
>>>>> So --general-log isn't getting set on command line.
>>>>> What am I missing? Why does it insist on getting turned on and refuses
>>>>> to listen to the setting? Is it a bug?
>>>>> Thanks.
>>>>> Sincerely,
>>>>> Artem
>>>>> --
>>>>> Founder, Android Police <http://www.androidpolice.com>, APK Mirror
>>>>> <http://www.apkmirror.com/>, Illogical Robot LLC
>>>>> beerpla.net | @ArtemR <http://twitter.com/ArtemR>
>>>> _______________________________________________
>>>> Mailing list: https://launchpad.net/~maria-discuss
>>>> Post to     : maria-discuss@xxxxxxxxxxxxxxxxxxx
>>>> Unsubscribe : https://launchpad.net/~maria-discuss
>>>> More help   : https://help.launchpad.net/ListHelp

Follow ups