代码改变世界

随笔分类 -  MySQL

MySQL InnoDB Instant schema 变更注意点

2024-03-21 09:56 by abce, 8 阅读, 收藏, 编辑
摘要: 在 MySQL 8.0.12 中为 DDL 引入了新的算法,在修改表的定义的时候不会阻塞。第一个 instant 操作是在表的最后增加一个列,这是腾讯游戏团队贡献的。在 8.0.29 中,官方增加在任意位置增加或删除列的 instant 操作。 本文要讲的是盲目使用该特性会带来的危害。 默认算法 从 阅读全文

MySQL 术语 : processes, threads, connections

2024-03-19 17:05 by abce, 16 阅读, 收藏, 编辑
摘要: MySQL 是单进程、多线程架构。通常说的连接(connections)是指TCP/IP连接。每个连接对应一个专用的线程。但是这些线程有时候被叫做进程,有时候被当作连接。这也是为什么processes, threads, connections三者会让人产生混淆的原因。 MySQL 确实是一个单进程 阅读全文

MySQL 8.0 instant 添加和删除列

2024-02-20 22:12 by abce, 66 阅读, 收藏, 编辑
摘要: MySQL 8.0.12 开始, 以下的 alter table 操作支持 ALGORITHM=INSTANT 算法: 1.添加新的列。即 instant add column 2.添加或者删除虚拟列 3.添加或者删除列的默认值 4.修改 enum、set 类型列的定义 5.修改索引类型 6.重命名 阅读全文

MySQL 官方的容器镜像地址

2024-02-19 09:38 by abce, 27 阅读, 收藏, 编辑
摘要: https://container-registry.oracle.com/ 阅读全文

关于云原生数据库,你需要了解的一切

2024-02-19 09:37 by abce, 17 阅读, 收藏, 编辑
摘要: 学习一下云原生数据库。原文请移步:https://www.percona.com/blog/what-is-a-cloud-native-database/ 云原生数据库不仅仅是一个碰巧位于云上的数据库;它从底层开始构建,以充分发挥云计算的潜力。与只适合在云上运行的传统数据库不同,云原生数据库旨在与 阅读全文

MySQL 添加主键减少磁盘空间的使用

2024-02-18 17:25 by abce, 15 阅读, 收藏, 编辑
摘要: 测试使用的版本:MySQL 8.0.32 时至今日的 MySQL 8.3.0,默认都是不需要在定义表的时候定义主键。不过 Group Replication 和 Percona XtraDB Cluster (PXC) 缺省不支持没有主键的表。表缺少主键会有很多负面的性能影响,最大的确定是影响复制的 阅读全文

MySQL 8 版本升级

2024-01-27 14:50 by abce, 126 阅读, 收藏, 编辑
摘要: 升级过程中,安装一个新版本的 MySQL 版本可能需要升级以下这些内容: mysql schema。mysql 库中的表主要分成两类:数据字典表,即存储数据库对象元数据;系统表,即存储非数据字典表,用于其它操作用途 其它 schema。内嵌的(比如performance_schema、informa 阅读全文

MySQL 的保留账号

2024-01-19 09:06 by abce, 9 阅读, 收藏, 编辑
摘要: 以下账号是 MySQL 中的保留账号,在mysql初始化的时候创建。 >select user,host,authentication_string,account_locked from mysql.user where account_locked='Y'; + + + + + | user | 阅读全文

参数 server_id 的潜在重要性

2024-01-12 20:19 by abce, 14 阅读, 收藏, 编辑
摘要: 一般情况下,server_id 被设置为一个随机数字,只是与其他副本上配置的数字不同,而且一旦设置好,以后一般就不会再查看或更改,通常这没什么问题,但如果忽略了 server_id,就可能导致在下面描述的恢复场景中出现不必要的事务跳过。 假设我们有以下拓扑结构: db2 - primary - se 阅读全文

MySQL 8 剪切或拷贝用户创建语句

2023-12-29 19:39 by abce, 14 阅读, 收藏, 编辑
摘要: 有时,查看用户创建语句并将其复制到另一个数据库会很方便。 比如在 MySQL 7 中: mysql> show create user mytest@'%'\G *************************** 1. row *************************** CREATE 阅读全文

MySQL 8.0.32 InnoDB ReplicaSet 配置和手动切换

2023-12-23 15:08 by abce, 74 阅读, 收藏, 编辑
摘要: 1.环境准备 主库:192.168.137.4 mytest3 从库:192.168.137.5 mytest4 MySQL: 8.0.32 2.配置 ReplicaSet 实例 启动 mysql shell # mysqlsh --uri root@localhost --socket=/abce 阅读全文

MySQL 8 半同步复制

2023-12-21 14:27 by abce, 98 阅读, 收藏, 编辑
摘要: 安装半同步复制 半同步复制是通过插件的形式实现的。必须要在源库和副本上安装插件。源库和副本有不同的插件。插件安装后,可通过与之相关的系统变量对其进行控制。只有安装了相关插件,这些系统变量才可用。 要使用半同步复制,必须满足以下要求: ·要求 MySQL 服务器支持动态加载。要验证这一点,请检查 ha 阅读全文

MySQL 8 密码验证组件

2023-12-16 13:45 by abce, 74 阅读, 收藏, 编辑
摘要: 验证密码(validate_password)组件通过要求输入账户密码和对潜在密码进行强度测试来提高安全性。在MySQL 8.0中,validate_password 插件是以 validate_password 组件的方式实现的。插件的方式仍然可以实用,但是已经过期,未来可能被移除。 valida 阅读全文

MySQL 8 社区版安装Percona的审计插件

2023-12-16 13:44 by abce, 291 阅读, 收藏, 编辑
摘要: 1.下载插件 # tar -xvf Percona-Server-8.0.32-24-Linux.x86_64.glibc2.17-minimal.tar.gz # cd Percona-Server-8.0.32-24-Linux.x86_64.glibc2.17-minimal/lib/plug 阅读全文

pt-table-checksum 使用介绍

2023-12-16 13:38 by abce, 225 阅读, 收藏, 编辑
摘要: 说明 pt-table-checksum 验证 mysql 复制的完整性。 语法: pt-table-checksum [OPTIONS] [DSN] pt-table-checksum 通过在主节点上执行校验和查询来执行在线复制一致性检查,从而在与主节点不一致的从库上产生不同的结果。可选的 DSN 阅读全文

SHOW REPLICA STATUS 结果简化分析

2023-11-02 10:32 by abce, 68 阅读, 收藏, 编辑
摘要: root@localhost (none)>show replica status\G *************************** 1. row *************************** Replica_IO_State: Waiting for source to sen 阅读全文

MySQL 8 的 Serialized Dictionary Information (SDI)

2023-10-19 09:53 by abce, 148 阅读, 收藏, 编辑
摘要: 除了将数据库对象的元数据存储在数据目录中,mysql还支持以序列化的格式进行存储。即序列化数据目录信息(SDI),SDI是表和表空间对象的序列化元数据。innodb将SDI数据存储在自己的表空间中;ndbcluster将SDI数据存储在ndb目录中;其它存储引擎将SDI数据存储在.SDI文件中。SD 阅读全文

mydumper的简单使用

2023-10-17 17:51 by abce, 113 阅读, 收藏, 编辑
摘要: mydumper导出 # 备份全部数据库,排除系统库 mydumper -u root -p root --regex '^(?!(mysql|sys|performance_schema|information_schema))' -e -G -R -E -D -v 3 --skip-tz-utc 阅读全文

MySQL 8使用部分撤销做权限限制

2023-09-09 13:21 by abce, 100 阅读, 收藏, 编辑
摘要: 在 MySQL 8.0.16 之前,不可能授予全局权限的同时,排除某些schema;从 MySQL 8.0.16 开始,如果启用了 partial_revokes 系统变量,就可以做到这一点。具体来说,对于拥有全局权限的用户,partial_revokes 可以撤销特定schema的权限,同时保留其 阅读全文

MySQL的Equality Range Optimization of Many-Valued Comparisons

2023-09-06 10:56 by abce, 23 阅读, 收藏, 编辑
摘要: 最近新上线的系统中遇到一个SQL,明明可以使用索引,但是发现实际执行并没有使用到索引。SQL的主要特点是where子句中,in判断中有大量的条件。类似如下: select * FROM a WHERE td in ('2023-08-01') and fuid in ('2','3','41','4 阅读全文
1 2 3 4 5 ··· 15 下一页