[Maria-discuss] Can't disable Mariadb general query log
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>
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@gmail.com> 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>
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@gmail.com> 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@gmail.com> 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@lists.launchpad.net Unsubscribe : https://launchpad.net/~maria-discuss More help : https://help.launchpad.net/ListHelp
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@gmail.com> 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@gmail.com> 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@gmail.com> 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@lists.launchpad.net Unsubscribe : https://launchpad.net/~maria-discuss More help : https://help.launchpad.net/ListHelp
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@gmail.com> 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@gmail.com> 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@gmail.com> 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@gmail.com> 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@lists.launchpad.net Unsubscribe : https://launchpad.net/~maria-discuss More help : https://help.launchpad.net/ListHelp
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. 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 29, 2020 at 3:24 PM Karl Levik <karl.levik@gmail.com> 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@gmail.com> 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@gmail.com> 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@gmail.com> 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@gmail.com> 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@lists.launchpad.net Unsubscribe : https://launchpad.net/~maria-discuss More help : https://help.launchpad.net/ListHelp
Excellent: https://jira.mariadb.org/browse/MDEV-12684 in 10.5 shows what config set the value. 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 29, 2020 at 3:36 PM Artem Russakovskii <archon810@gmail.com> wrote:
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.
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 29, 2020 at 3:24 PM Karl Levik <karl.levik@gmail.com> 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@gmail.com> 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@gmail.com> 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@gmail.com> 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@gmail.com> 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@lists.launchpad.net Unsubscribe : https://launchpad.net/~maria-discuss More help : https://help.launchpad.net/ListHelp
participants (2)
-
Artem Russakovskii
-
Karl Levik