4.9 4.9 The MySQL Log Files
mysql提供几种不同功用的纪录档,以便于让你了解mysqld发生了什么问题。
1. The error log:纪录所有mysqld启动,执行和结束时发生的错误讯息。
2. The isam log:纪录所有更动ISAM资料表的动作。
3. The query log:纪录所有的连线资料以及执行的查询语法。
4. The update log:储存所有更动资料的指令。
5. The binary log: Stores all statements that changes something. Used also for replication
6. The slow log:纪录所有查询时间超过long_query_time或不使用索引的查询动作。
你可以在mysqld的资料目录中找到所有的纪录档。
4.9.2 The General Query Log
如果想知道mysqld里面发生了什么事的话,你就应该在启动mysqld时加上--log[=file]这个选项。这样一来,所有的连线及查询动作都会被写入纪录档中。 (预设档名为'hostname'.log)这个在网路程式的除错方面很有帮助。
纪录档中每笔资料写入的时机是当mysqld接收到该指令的时候,这有可能会跟sql指令执行的顺序不同。因此,本纪录档的写入时机和update log与binary log不同。
4.9.3 The Update Log
当
你在执行mysqld时,如果有加上--log-update[=file_name]选项的话, mysqld会将所有关于更新资料的SQL
commands写入纪录档中。在没有指定file_name的情况下,预设会用主机名称当作纪录档的档案名称。如果你指定的档案名称不包含完整路径的
话,纪录档会放置在资料目录中。如果档案名称没有指定副档名的话,
mysqld会以"file_name.###"作为纪录档的档名,其中###是阿拉伯数字,每当下列状况发生时,这个数字就会加一。
1.执行mysqladmin refresh
2.执行mysqladmin flush-logs
3.执行FLUSH LOGS sql指令
4.重新启动mysqld
update
logging还有一项特点就是它只会纪录"真正"改变资料的动作。因此,带有where选项的updata或delete指令如果没有更动任何资料的
话,这个动作就不会被写入纪录档。甚至在updata指令没有变更栏位值的情况下,该指令也不会被纪录下来。
update logging执行的时机是介于sql指令结束以及lock解开以前。这样可以确保所有的变动纪录是依照实际执行的顺序写入纪录档中。
你可以执行下列指令来用update log file更新资料库。 (假设你的update log files的档名格式为file_name.###)
shell> ls -1 -t -r file_name.[0-9]* | xargs cat | mysql
ls这个指令加上-1 -t -r三个选项后,便能按时间顺序排列所有的纪录档。
4.9.4 Binary Update Log
以后binary update log将会用来取代update log,因此希望你能尽快改用binary update log。
binary
update log档案以更有效率的格式纪录update
log里面的资讯。此外,里面还纪录每个更新资料库的指令耗费多少时间。没有更动资料库的指令不会被写入纪录档中。如果想要纪录所有的sql指令,你应该
使用general query log。
只要在启动mysqld时加上--log-bin[=file_name]选项就能改用。 binary update log。
binary
update log的副档名命名方式和update log一样,附档名递增的时机也和update
log相同。或是当纪录档大小达到max_binlog_size上限时, mysqld会自动产生一个新的纪录档。你可以透过reset
master这个sql指令删除所有目前未被开启的binary update log files。 (只保留目前使用中的纪录档)
mysqld有两个选项跟binary update log有关:
1. binlog-do-db=database_name:只纪录某个资料库的更动资料
2. binlog-ignore-db=database_name:不纪录某个资料库的更动资料
为
了要知道曾经产生过哪些binary update log files, mysqld会产生一个binary log
index档,里面包含所有使用过的binary update log的档名。 binary log index档的档名预设和binary
update log相同,不过副档名则改为index。
你可以用mysqlbinlog指令来检视binary update log档的内容。例如你可以执行下列指令以binary update log的内容更新某个mysql server。
shell> mysqlbinlog log-file | mysql -h server_name
你也可以用mysqlbinlog读取远端mysql server的binary update log。执行mysqlbinlog --help会让你更了解如何使用这个程式。
binary update log写入的时机和update log相同。以确保能正确地纪录每个指令执行的顺序。
mysql提供几种不同功用的纪录档,以便于让你了解mysqld发生了什么问题。
1. The error log:纪录所有mysqld启动,执行和结束时发生的错误讯息。
2. The isam log:纪录所有更动ISAM资料表的动作。
3. The query log:纪录所有的连线资料以及执行的查询语法。
4. The update log:储存所有更动资料的指令。
5. The binary log: Stores all statements that changes something. Used also for replication
6. The slow log:纪录所有查询时间超过long_query_time或不使用索引的查询动作。
你可以在mysqld的资料目录中找到所有的纪录档。
4.9.2 The General Query Log
如果想知道mysqld里面发生了什么事的话,你就应该在启动mysqld时加上--log[=file]这个选项。这样一来,所有的连线及查询动作都会被写入纪录档中。 (预设档名为'hostname'.log)这个在网路程式的除错方面很有帮助。
纪录档中每笔资料写入的时机是当mysqld接收到该指令的时候,这有可能会跟sql指令执行的顺序不同。因此,本纪录档的写入时机和update log与binary log不同。
4.9.3 The Update Log
当
你在执行mysqld时,如果有加上--log-update[=file_name]选项的话, mysqld会将所有关于更新资料的SQL
commands写入纪录档中。在没有指定file_name的情况下,预设会用主机名称当作纪录档的档案名称。如果你指定的档案名称不包含完整路径的
话,纪录档会放置在资料目录中。如果档案名称没有指定副档名的话,
mysqld会以"file_name.###"作为纪录档的档名,其中###是阿拉伯数字,每当下列状况发生时,这个数字就会加一。
1.执行mysqladmin refresh
2.执行mysqladmin flush-logs
3.执行FLUSH LOGS sql指令
4.重新启动mysqld
update
logging还有一项特点就是它只会纪录"真正"改变资料的动作。因此,带有where选项的updata或delete指令如果没有更动任何资料的
话,这个动作就不会被写入纪录档。甚至在updata指令没有变更栏位值的情况下,该指令也不会被纪录下来。
update logging执行的时机是介于sql指令结束以及lock解开以前。这样可以确保所有的变动纪录是依照实际执行的顺序写入纪录档中。
你可以执行下列指令来用update log file更新资料库。 (假设你的update log files的档名格式为file_name.###)
shell> ls -1 -t -r file_name.[0-9]* | xargs cat | mysql
ls这个指令加上-1 -t -r三个选项后,便能按时间顺序排列所有的纪录档。
4.9.4 Binary Update Log
以后binary update log将会用来取代update log,因此希望你能尽快改用binary update log。
binary
update log档案以更有效率的格式纪录update
log里面的资讯。此外,里面还纪录每个更新资料库的指令耗费多少时间。没有更动资料库的指令不会被写入纪录档中。如果想要纪录所有的sql指令,你应该
使用general query log。
只要在启动mysqld时加上--log-bin[=file_name]选项就能改用。 binary update log。
binary
update log的副档名命名方式和update log一样,附档名递增的时机也和update
log相同。或是当纪录档大小达到max_binlog_size上限时, mysqld会自动产生一个新的纪录档。你可以透过reset
master这个sql指令删除所有目前未被开启的binary update log files。 (只保留目前使用中的纪录档)
mysqld有两个选项跟binary update log有关:
1. binlog-do-db=database_name:只纪录某个资料库的更动资料
2. binlog-ignore-db=database_name:不纪录某个资料库的更动资料
为
了要知道曾经产生过哪些binary update log files, mysqld会产生一个binary log
index档,里面包含所有使用过的binary update log的档名。 binary log index档的档名预设和binary
update log相同,不过副档名则改为index。
你可以用mysqlbinlog指令来检视binary update log档的内容。例如你可以执行下列指令以binary update log的内容更新某个mysql server。
shell> mysqlbinlog log-file | mysql -h server_name
你也可以用mysqlbinlog读取远端mysql server的binary update log。执行mysqlbinlog --help会让你更了解如何使用这个程式。
binary update log写入的时机和update log相同。以确保能正确地纪录每个指令执行的顺序。
分享到:
相关推荐
1. **解压文件**:将"mysql-8.0.33-winx64.zip"解压到你希望安装的目录,通常选择一个不会被频繁修改的位置,如"C:\Program Files"。 2. **配置MySQL**:运行"mysql-installer-web-community.exe"(如果包含在...
`rpm -ivh mysql-community-icu-data-files-8.0.33-1.el8.x86_64.rpm` `rpm -ivh mysql-community-server-8.0.33-1.el8.x86_64.rpm` 启动Mysql 安装完成后,MySQL服务默认并未启动,可以通过以下命令查看到状态:...
Mac OS X 10.15 下源码安装 mysql-8.0.20-macos10.15-x86_64 https://my.oschina.net/kinglyphp/blog/4281112 博客地址 下载mysql-8.0.20-macos10.15-x86_64.tar.gz 可以从mysql官网下载,如果比较慢, 从...
* mysql-cluster 文件夹:管理节点的数据文件夹 管理节点配置 在管理节点上,我们需要创建配置文件 config.ini 和 my.ini。 config.ini 文件: ``` [ndbd default] # Options affecting ndbd processes on all ...
- 解压“mysql-5.7.26-winx64.zip”到一个适当的目录,例如“C:\Program Files”。 - 配置MySQL服务,包括设置数据目录、端口号、用户名和密码等。 - 使用MySQL配置向导(my.ini)进行配置。 - 使用命令行或图形...
2017-06-05T14:30:55.590590Z 0 [Warning] InnoDB: New log files created, LSN=457902017-06-05T14:30:56.000269Z 0 [Warning] InnoDB: Creating foreign key constraint system tables. 2017-06-05T14:30:56....
log_slow_queries=/var/lib/mysql/mysql-slow.log long_query_time=0 slow_query_log=1 slow_query_log_file=/var/lib/mysql/slow_query.log lower_case_table_names=1 # OTHER tmp_table_size=32M max_heap...
- 访问官方下载地址:[https://bintray.com/mcafee/mysql-audit-plugin/release#files](https://bintray.com/mcafee/mysql-audit-plugin/release#files),下载适用于您系统的插件包。例如,对于Linux x86_64系统,...
这个压缩包内含的“mysql-8.0.19-winx64”文件夹包含了所有必要的二进制文件和配置工具,包括服务器可执行文件、客户端工具、系统脚本等。以下是安装和使用MySQL 8.0.19的关键步骤: 1. **解压缩**:使用解压缩软件...
tar -zxvf mysql-8.0.11-linux-glibc2.12-i686.tar.gz ``` - 将解压后的`mysql`目录复制到系统的本地软件目录,并重命名为`mysql`: ```bash cp -r mysql-8.0.11-linux-glibc2.12-i686 /usr/local/mysql ``` ...
tar -zxvf mysql-5.7.17.tar.gz cd mysql-5.7.17 ``` #### 五、创建用户和目录 为了安全考虑,MySQL应当使用特定的用户账号运行。因此,需要创建一个名为`mysql`的用户组和用户,并为其分配必要的权限。 ```bash ...
log-slow-queries=C:/Program Files/MySQL/MySQL Server 5.1/Datafiles/slowquery.log long_query_time=2 log-slow-admin-statements log-queries-not-using-indexes 其中,log-slow-queries 选项指定了慢查询日志...
- `mysql-community-icu-data-files-8.0.32-1.el7.x86_64.rpm`: 国际化 (i18n) 数据文件,提供 Unicode 支持和排序规则。 - `mysql-community-libs-8.0.32-1.el7.x86_64.rpm`: 共享库文件,这些库被其他依赖 ...
tar -xvf mysql-5.7.37-1.el7.x86_64.rpm-bundle.tar -C mysql-bundle ``` #### 4. 安装 安装MySQL RPM包,包括库文件、兼容性库以及服务器组件: ```bash rpm -ivh mysql-community-libs-5.7.37-1.el7.x86_64.rpm ...
- 服务启动失败,检查日志文件 `/var/log/mysqld.log` 查看具体错误。 离线安装MySQL需要一定的Linux基础和耐心,但这种方式可以让你在没有网络的情况下依然能够管理和维护数据库系统。记住,定期更新和打补丁对于...
- **上传压缩包至服务器**:将下载好的MySQL安装包`mysql-8.0.19-linux-glibc2.12-x86_64.tar.xz`上传到统信UOS服务器的指定目录,通常为`/root/packages`。 #### 二、安装MySQL - **解压安装包**:使用命令`tar -...
在RPM平台上,错误日志文件默认位于`/var/log/mysql*.log`;而在Debian平台上,则位于`/var/log/mysql/*.log`。 #### 五、为MySQL配置systemd 为了更好地利用systemd的功能,可以采取以下几种方式来配置MySQL: 1. ...
cat /data/mysql/log/mysql-error.log | grep 'temporary password' ``` 通过查看日志文件找到临时密码。 #### 八、修改 root 密码 获取到初始密码后,需要登录 MySQL 并修改 root 用户的密码。 **命令示例:*...
- **MySQL服务端程序**:`MySQL-server-advanced-5.6.21-1.rhel5.x86_64.rpm` - **MySQL客户端程序**:`MySQL-client-advanced-5.6.21-1.rhel5.x86_64.rpm` - **MySQL的库和头文件**:`MySQL-devel-advanced-5.6.21-...
例如,在本例中为`D:\Program Files\MySQL`。 - 删除该目录下的所有文件及子文件夹,确保没有任何遗留。 - 这一步骤对于彻底清除MySQL安装痕迹至关重要。 3. **第三步:清理注册表中的MySQL相关信息** - 使用...