Mysql 各种配置

当你需要ChatAI服务但无法魔法或没有海外手机号码时,Chat8就是你的解决方案。我们基于OpenAi开发,所有用户内容都会加密,欢迎使用!点击使用:
https://chat.chat826.com/#/register?bronk_on=375671

1,Mysql开启binlog

配置文件添加:

log-bin=mysql-bin
binlog-format=ROW
server-id=1

以上代码
这是MySQL的二进制日志(Binary Log)配置,用于记录数据库的所有更改操作。下面是对这些配置项的解释:

log-bin=mysql-bin: 这个配置项指定了二进制日志文件的前缀为"mysql-bin"。所有以该前缀命名的日志文件都会被写入到指定的文件中。

binlog-format=ROW: 这个配置项指定了二进制日志的格式为"ROW"。使用"ROW"格式时,每个事务的更改操作都会以行的形式进行记录,包括对表的插入、更新和删除操作。

server-id=1: 这个配置项指定了服务器的唯一标识符为1。在复制过程中,每个服务器都需要有一个唯一的标识符来区分不同的服务器实例。

[mysqld]
port=3306
basedir=D:\Program Files\mysql-5.7.40-winx64\
datadir=D:\Program Files\mysql-5.7.40-winx64\\Data
log-error=D:\Program Files\mysql-5.7.40-winx64\\Logs.log
max_connections=200
max_connect_errors=10
character-set-server=utf8mb4
default-storage-engine=INNODB
default_authentication_plugin=mysql_native_password
local_infile=ON

log-bin=mysql-bin
binlog-format=ROW
server-id=1

[mysql]
default-character-set=utf8mb4
local_infile=ON

[client]
port=3306
default-character-set=utf8mb4

2,在Windows 开启多个不同端口的服务

将mysql目录复制一份,然后修改my.ini文件(只改端口与路径),例如

原来的是

[mysqld]
port=3306
basedir=D:\Program Files\mysql-5.7.40-winx64\
datadir=D:\Program Files\mysql-5.7.40-winx64\\Data
log-error=D:\Program Files\mysql-5.7.40-winx64\\Logs.log
max_connections=200
max_connect_errors=10
character-set-server=utf8mb4
default-storage-engine=INNODB
default_authentication_plugin=mysql_native_password
local_infile=ON

[mysql]
default-character-set=utf8mb4
local_infile=ON

[client]
port=3306
default-character-set=utf8mb4

改成:

[mysqld]
port=3307
basedir=D:\Program Files\mysql-5.7.40-winx643007\
datadir=D:\Program Files\mysql-5.7.40-winx643007\\Data
log-error=D:\Program Files\mysql-5.7.40-winx643007\\Logs.log
max_connections=200
max_connect_errors=10
character-set-server=utf8mb4
default-storage-engine=INNODB
default_authentication_plugin=mysql_native_password
local_infile=ON

[mysql]
default-character-set=utf8mb4
local_infile=ON

[client]
port=3307
default-character-set=utf8mb4

保存后,在mysql的bin 目录下执行mcd命令 ,
注意:
1, --defaults-file ,要使用实际 文件路径。执行完后,则电脑上有两个不同端口的mysql服务
2, cmd 命令的 MySQL 服务名称不能相同,

mysqld --install MySQL --defaults-file="C:\path\to\my.ini" 
net start MySQL

3,执行计划 explain

MySQL 的 EXPLAIN 语句可以帮助你理解查询执行计划,它显示了 MySQL 如何执行 SQL 查询以及相关表的连接方式。通过查看执行计划,你可以诊断查询性能问题并优化查询。

以下是 EXPLAIN 输出中各列的含义:

id: 这是SELECT指令的标识符。同一个数字表示这些行属于同一个 SELECT 指令。如果父查询包含 UNION,则每个子查询将有一个不同的 ID。

select_type: 表示该条目属于哪种类型的 SELECT 语句。

SIMPLE: 最简单的 SELECT 类型(不使用 UNION 或子查询)。
PRIMARY: 包含子查询的最外层 SELECT。
UNION: UNION 中的第二个或后面的 SELECT 语句。
DEPENDENT UNION: UNION 中的第二个或后面的 SELECT 语句,取决于外面的查询。
UNION RESULT: UNION 的结果。
SUBQUERY: 子查询中的第一个 SELECT。
DEPENDENT SUBQUERY: 子查询中的第一个 SELECT,其结果取决于外部查询。

table: 显示正在操作的表名。

type: 连接类型,这是非常重要的信息,因为它直接反映了查询效率。

ALL: MySQL 将遍历整张表以找到匹配的行。
index: 类似于 ALL,但是只遍历索引树。
range: 只检索给定范围的行,使用一个索引来选择行。
index_subscan: 对于哈希索引,使用索引扫描。
ref: 表明 MySQL 使用了索引和索引中的一个值来选择行。
eq_ref: 类似于 ref,但用于非唯一索引,且与主键或唯一索引的前缀相匹配。
const: 当 MySQL 对单行值进行索引查找时使用。
system: 表只有一行记录,这通常意味着常量表。
NULL: 不需要访问表或索引。

possible_keys: 显示可能应用到此表的索引列表。

key: 显示 MySQL 实际决定使用的键(索引)。如果没有选择索引,键为 NULL。

key_len: 显示使用的索引的字节数,这通常可以帮助确定索引的使用效率。

ref: 显示索引列与哪一列或常量相匹配。

rows: MySQL 预估使用此方法可以检查多少行。

filtered: 显示 MySQL 根据表的条件过滤掉的行数百分比。

Extra: 包含 MySQL 解决查询过程中遇到的任何额外信息。

Using where: MySQL 在存储引擎检索行后再进行过滤。
Using temporary: MySQL 需要使用临时表来存储结果集。
Using filesort: MySQL 需要额外的排序步骤。
Using index: MySQL 使用覆盖索引(从索引获取所有需要的数据而无需访问表)。
Using index condition: 使用索引条件推送(Index Condition Pushdown, ICP)来优化查询。
Impossible WHERE noticed after reading const tables: MySQL 发现 WHERE 子句永远不可能为真。
No matching row in const table: MySQL 发现常量表中没有匹配的行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值