我在 OS X 10.6.1 上运行 MySQL 5.0.45,但我无法让 MySQL 记录任何内容。我正在调试一个应用程序,需要查看所有查询和错误。
我添加到etc/my.cnf:
[mysqld]
bind-address = 127.0.0.1
log = /var/log/mysqld.log
log-error = /var/log/mysqld.error.log
Run Code Online (Sandbox Code Playgroud)
我使用 sudo 创建了两个日志文件,将权限设置为 644,然后重新启动 MySQL。
我提到了OS X 上我的 mysql 日志在哪里?以便排除故障。
跑步:
ps auxww|grep [m]ysqld
Run Code Online (Sandbox Code Playgroud)
返回:
_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
Run Code Online (Sandbox Code Playgroud)
并运行:
$(ps auxww|sed -n '/sed -n/d;/mysqld /{s/.* \([^ ]*mysqld\) .*/\1/;p;}') --verbose --help|grep '^log'
Run Code Online (Sandbox Code Playgroud)
返回:
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
Run Code Online (Sandbox Code Playgroud)
跑步:
mysql> show variables like '%log%';
Run Code Online (Sandbox Code Playgroud)
返回:
+---------------------------------+---------------------------+
| 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)
Run Code Online (Sandbox Code Playgroud)
关于如何让 MySQL 登录的任何帮助?
ran*_*omx 23
即使您使用了chmod 644,也要确保 mysql 是日志的所有者。
touch /var/log/mysql.log
chown mysql:mysql /var/log/mysql.log
touch /var/log/mysql.error.log
chown mysql:mysql /var/log/mysql.error.log
Run Code Online (Sandbox Code Playgroud)
接下来,重新启动mysqld。
然后,登录到 mysql 并运行:
mysql> show variables like '%log%';
Run Code Online (Sandbox Code Playgroud)
看的价值观general_log,general_log_file,log,log_error,等。
根据需要打开它们并根据需要运行mysqladmin 刷新日志。
gig*_*att 15
要启用日志文件,您需要确保以下一个或多个指令位于[mysqld]mysql 服务器的主配置文件(/etc/my.cnf我的)的部分中:
[mysqld]
log-bin
log
log-error
log-slow-queries
Run Code Online (Sandbox Code Playgroud)
默认情况下,日志将在保存数据库子目录本身(通常为/var/lib/mysql)的同一数据目录中创建,日志文件名默认为主机名,后跟与上述指令名称匹配的后缀(例如 -bin、 - 查询等)。
要将日志保存在不同的路径中,或使用不同的文件名,请在log=指令后面指定基本名称,以及您喜欢的任何路径和文件名,例如:
[mysqld]
log-bin=/var/log/mysql-bin.log
general-log=/var/log/mysql.log
log-error=/var/log/mysql-error.log
slow-query-log=/var/log/mysql-slowquery.log
Run Code Online (Sandbox Code Playgroud)
您需要重新启动 mysqld 才能使这些更改生效。
小智 5
以前的答案已经过时了。您可以/etc/my.cnf在 windows中或在 windows 上查看配置文件./mysql/my.ini。
在该[mysqld]部分添加
log_bin
general_log
log_error
Run Code Online (Sandbox Code Playgroud)
Windows 的文档指出日志存储在ProgramData/MySQL/MySQL Server 5.6/. 忽略它,因为它是谎言。
此外,推荐的log选项已折旧并导致错误
ambiguous option '--log' (log-bin, log_slave_updates)
Run Code Online (Sandbox Code Playgroud)
正在登录,./mysql/data/host.err守护进程默默地死去。正确的设置是general-log。
也log-slow-queries无效并导致错误
C:\mysql\bin\mysqld.exe: unknown option '--log-slow-queries'
Run Code Online (Sandbox Code Playgroud)
所以一定要远离那个。
| 归档时间: |
|
| 查看次数: |
242659 次 |
| 最近记录: |