配置示例
mysql8配置主从同步:主库my.cnf配置示例
配置解读
这段配置是针对 MySQL 数据库的 mysqld
服务部分的设置,主要用于配置 MySQL 的二进制日志(binlog)和复制功能。下面是对每一项配置的解释:
- server-id=1
- 这个选项定义了服务器的唯一标识符。在设置主从复制或集群环境中,每个服务器必须有一个唯一的
server-id
。这里设置为 1。
- binlog_format=STATEMENT
- 指定了二进制日志的记录格式。
STATEMENT
表示记录每一条影响数据的 SQL 语句。其他可选格式有ROW
和MIXED
:
-
ROW
格式记录每一行数据的变化。 -
MIXED
是 MySQL 自动选择STATEMENT
或ROW
格式的一种混合模式。
- log-bin=binlog (注释掉)
- 这一行是用来指定二进制日志文件的前缀名称。默认情况下,MySQL 使用
binlog
作为前缀。如果这一行被注释掉,则使用默认值。
- binlog-do-db=mytestdb (注释掉)
- 如果启用此选项,只有指定的数据库 (
mytestdb
) 的更改会被记录到二进制日志中,并且只能复制该数据库。由于它被注释掉了,所有数据库的更改都会被记录。
- binlog-ignore-db=mysql (注释掉)
- 如果启用此选项,指定的数据库 (
mysql
) 的更改将不会被记录到二进制日志中,并且不会被复制。这个选项被注释掉了,意味着所有的数据库都可能被复制。
- binlog-ignore-db=information_schema (注释掉)
- 同样,如果启用此选项,
information_schema
数据库的更改将不会被记录到二进制日志中。由于它也被注释掉了,所以information_schema
的更改也会被记录并可以被复制。
总结来说,这段配置启用了 MySQL 的二进制日志功能,并设置了日志记录格式为 STATEMENT
。它没有显式地排除任何数据库不被复制,因此默认情况下所有数据库的更改都会被记录和复制。需要注意的是,在实际部署中,这些配置应该根据具体的环境需求进行调整。