Używam MySQL 5.0.45 w systemie OS X 10.6.1 i nie mogę zmusić MySQL do zarejestrowania czegokolwiek. Debuguję aplikację i muszę zobaczyć wszystkie zapytania i błędy.
Dodałem do etc / my.cnf:
[mysqld]
bind-address = 127.0.0.1
log = /var/log/mysqld.log
log-error = /var/log/mysqld.error.log
Użyłem sudo, aby utworzyć dwa pliki dziennika, ustawić uprawnienia na 644, a następnie zrestartowałem MySQL.
Odniosłem się do Gdzie jest mój dziennik mysql na OS X? w celu rozwiązania problemu.
Bieganie:
ps auxww|grep [m]ysqld
Zwroty:
_mysql 71 0.0 0.8 646996 15996 ?? S 7:31PM 0:01.10 /usr/local/mysql/libexec/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/var --pid-file=/usr/local/mysql/var/Macintosh-41.local.pid
_mysql 46 0.0 0.0 600336 744 ?? Ss 7:30PM 0:00.03 /bin/sh /usr/local/mysql/bin/mysqld_safe
I działa:
$(ps auxww|sed -n '/sed -n/d;/mysqld /{s/.* \([^ ]*mysqld\) .*/\1/;p;}') --verbose --help|grep '^log'
Zwroty:
log /var/log/mysqld.log
log-bin (No default value)
log-bin-index (No default value)
log-bin-trust-function-creators FALSE
log-bin-trust-routine-creators FALSE
log-error /var/log/mysqld.error.log
log-isam myisam.log
log-queries-not-using-indexes FALSE
log-short-format FALSE
log-slave-updates FALSE
log-slow-admin-statements FALSE
log-slow-queries (No default value)
log-tc tc.log
log-tc-size 24576
log-update (No default value)
log-warnings 1
Bieganie:
mysql> show variables like '%log%';
Zwroty:
+---------------------------------+---------------------------+
| Variable_name | Value |
+---------------------------------+---------------------------+
| back_log | 50 |
| binlog_cache_size | 32768 |
| expire_logs_days | 0 |
| innodb_flush_log_at_trx_commit | 1 |
| innodb_locks_unsafe_for_binlog | OFF |
| innodb_log_arch_dir | |
| innodb_log_archive | OFF |
| innodb_log_buffer_size | 1048576 |
| innodb_log_file_size | 5242880 |
| innodb_log_files_in_group | 2 |
| innodb_log_group_home_dir | ./ |
| innodb_mirrored_log_groups | 1 |
| log | ON |
| log_bin | OFF |
| log_bin_trust_function_creators | OFF |
| log_error | /var/log/mysqld.error.log |
| log_queries_not_using_indexes | OFF |
| log_slave_updates | OFF |
| log_slow_queries | OFF |
| log_warnings | 1 |
| max_binlog_cache_size | 4294967295 |
| max_binlog_size | 1073741824 |
| max_relay_log_size | 0 |
| relay_log_purge | ON |
| relay_log_space_limit | 0 |
| sync_binlog | 0 |
+---------------------------------+---------------------------+
26 rows in set (0.00 sec)
Czy jest jakaś pomoc w tym, jak mogę zmusić MySQL do logowania?
Aby włączyć pliki dziennika, musisz upewnić się, że co najmniej jedna z następujących dyrektyw znajduje się w
[mysqld]
sekcji głównego pliku konfiguracyjnego serwera mysql (/etc/my.cnf
w moim):Dzienniki zostaną utworzone domyślnie w tym samym katalogu danych, w którym znajdują się same podkatalogi bazy danych (zwykle
/var/lib/mysql
), a nazwy plików dziennika są domyślnie ustawione na nazwę hosta, po której następuje sufiks zgodny z powyższymi nazwami dyrektyw (np. -Bin, -slow -pytania itp.).Aby zachować dzienniki w innej ścieżce lub przy użyciu różnych nazw plików, określ nazwę podstawową zgodnie z
log=
dyrektywą oraz dowolną ścieżkę i nazwę pliku, np .:Musisz ponownie uruchomić mysqld, aby zmiany odniosły skutek.
źródło
Poprzednie odpowiedzi były przestarzałe. Możesz zajrzeć do pliku konfiguracyjnego w
/etc/my.cnf
lub w systemie Windows./mysql/my.ini
.W
[mysqld]
sekcji dodajDokumentacja systemu Windows stwierdza, że dzienniki są przechowywane
ProgramData/MySQL/MySQL Server 5.6/
. Zignoruj to, bo to kłamstwo.Ponadto zalecana
log
opcja jest amortyzowana i skutkuje błędemzalogowany,
./mysql/data/host.err
a demon cicho umiera. Prawidłowe ustawienie togeneral-log
.Również
log-slow-queries
nie jest prawidłowy i spowodował błądDlatego też trzymaj się od tego z daleka.
źródło
log=
opcją i mogłem przez całe życie dowiedzieć się, dlaczego. Wreszcie ktoś z odpowiedzią.general-log
Wpisz wiersz polecenia mysql z super uprawnieniami i wykonaj:
W moim przypadku nie miało znaczenia, czy ta zmienna była już ustawiona z tą samą wartością! Zmieniłem także uprawnienia i właściciela pliku, jak wspomniano w innych postach.
źródło
Wypróbuj różne ustawienia dziennika w my.cnf. W moim przypadku potrzebowałem:
źródło