我读过 Mysql 服务器会创建一个日志文件,在其中记录所有活动 - 例如执行查询的时间和内容。
谁能告诉我它存在于我的系统中的什么位置?我该如何阅读它?
基本上,我需要用不同的输入备份数据库[两个日期之间的备份]所以我想我需要在这里使用日志文件,这就是我想要这样做的原因......
我认为必须以某种方式保护此日志,因为可能会记录用户名和密码等敏感信息[如果任何查询需要这样做];那么它可能是安全的,不容易被看到吗?
我对系统有 root 访问权限,如何查看日志?
当我尝试打开 /var/log/mysql.log 它是空的。
这是我的配置文件:
[client] port = 3306 socket = /var/run/mysqld/mysqld.sock [mysqld_safe] socket = /var/run/mysqld/mysqld.sock nice = 0 [mysqld] log = /var/log/mysql/mysql.log binlog-do-db=zero user = mysql socket = /var/run/mysqld/mysqld.sock port = 3306 basedir = /usr datadir = /var/lib/mysql tmpdir = /tmp skip-external-locking bind-address = 127.0.0.1 # # * Fine Tuning # key_buffer = 16M max_allowed_packet = 16M thread_stack = 192K thread_cache_size = 8 general_log_file = /var/log/mysql/mysql.log general_log = 1
这是启用它们的简单方法。在 mysql 中,我们经常需要查看 3 个日志,这些日志在任何项目开发过程中都是最需要的。
The Error Log. 它包含有关服务器运行时发生的错误的信息(还有服务器启动和停止)
The Error Log
The General Query Log. 这是 mysqld 正在做什么(连接、断开、查询)的一般记录
The General Query Log
The Slow Query Log. 螜t 由“慢”SQL 语句组成(如其名称所示)。
The Slow Query Log
默认情况下,MYSQL 中不启用任何日志文件。所有错误都将显示在系统日志 ( /var/log/syslog) 中。
/var/log/syslog
要启用它们,只需按照以下步骤操作:
第1 步: 转到此文件 ( /etc/mysql/conf.d/mysqld_safe_syslog.cnf ) 并删除或注释这些行。
step2: 转到 mysql conf 文件 ( /etc/mysql/my.cnf) 并添加以下行
/etc/mysql/my.cnf
要启用错误日志,请添加以下内容
[mysqld_safe] log_error=/var/log/mysql/mysql_error.log [mysqld] log_error=/var/log/mysql/mysql_error.log
要启用常规查询日志,请添加以下内容
general_log_file = /var/log/mysql/mysql.log general_log = 1
要启用慢查询日志,请添加以下内容
log_slow_queries = /var/log/mysql/mysql-slow.log long_query_time = 2 log-queries-not-using-indexes
step3: 保存文件并使用以下命令重新启动mysql
service mysql restart
要在运行时启用日志,请登录 mysql 客户端 ( mysql -u root -p) 并给出:
mysql -u root -p
SET GLOBAL general_log = 'ON'; SET GLOBAL slow_query_log = 'ON';
最后我想在这里提到的一件事是 我从博客上读到的 。谢谢。这个对我有用。
点击这里访问博客