![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Mysql
文章平均质量分 54
MyySophia
工作只是你的权利,而只有你的行为才能为你赢得尊重
展开
-
mysql char 和varchar的区别?
varchar存放固定长度的字符串,最大长度是2000,varchar2是存放可变长度的字符串,最大长度是4000.如果数据长度超过255个字符,不论是否固定长度,都会使用text,不再使用char和varchar。varchar对于汉字占两个字节,对于英文是一个字节,占的内存小,varchar2都是占两个字节。2、 char的插入数据效率理论上比varchar高:varchar是需要通过后面的记录数来计算。1、 char 一定会使用指定的空间,varchar是根据数据来定空间。原创 2023-09-03 21:42:38 · 1066 阅读 · 1 评论 -
MySQL 8.0 的工具日志配置管理
记录了MySQL 发生过的修改的操作的日志。记录MySQL工作中,运行较慢的语句。建议都在my.cnf 中配置,因为重启才能永久生效。、审计(工具:binlog2sql my2sql)普通日志,会记录所有数据库发生的事件及语句。genernal log : 普通日志。error log : 错误日志。log_bin=路径/文件名前缀。binlog : 二进制日志。slow log : 慢日志。作都会记录binlog。原创 2023-08-24 20:30:00 · 345 阅读 · 0 评论 -
MySQL 8.0 多实例的配置应用
initialize-insecure ,表示不安全的初始化。这个参数来自于 --initialize 参数,在MySQL5.7版本中,在初始化成功后,会生成一个临时密码,相对比较麻烦,所以这里改为 --initialize-insecure ,初始化成功后,密码为空。5.6 和5.7 初始化有所不同。使用的时候需要看文档操作。原创 2023-08-23 20:00:00 · 246 阅读 · 0 评论 -
MySQL 8.0 启动和关闭流程
建议: systemctl start起来的就使用systemctl stop停。如果用mysqld stop, systemctl识别不到。mysql 服务端对启动命令进行了层层封装,目的是为了操作简便。同时也提供了原生的启动方式以便应对特殊情况。生产环境一定不能使用pkill mysql。原创 2023-08-22 17:15:59 · 1075 阅读 · 0 评论 -
MySQL8.0新特性之用户管理
create with mysql_native_passwordalter with mysql_native_passwordvim /etc/my.cnfdefault_authentication_plugin=mysql_native_password原创 2023-08-20 22:22:20 · 220 阅读 · 0 评论 -
mysql Lock wait timeout exceeded; try restarting transaction解决方案
在测试程序时,打的断点怎么都跳不进去,console一直报 “Lock wait timeout exceeded;try restarting transaction”t 这个文件的内容就是show full processlist所有session.这里只需要kill block的sql即可,使用grep + awk即可解决。此处是在对list做更新动作,因此存在锁表的风险。– 2022年11月22日13:18:33。执行如下脚本即可释放掉lock。原创 2022-11-22 13:19:14 · 720 阅读 · 0 评论 -
必须了解的MySQL三大日志:binlog、redo log和undo log
日志是MySQL数据库的重要组成部分,记录着数据库运行期间各种状态信息。MySQL日志主要包括错误日志、查询日志、慢查询日志、事务日志、二进制日志几大类。作为开发,我们重点需要关注的是二进制日志(binlog)和事务日志(包括redo log和undo log),本文接下来会详细介绍这三种日志。binlogbinlog用于记录数据库执行的写入性操作(不包括查询)信息,以二进制的形式保存在磁盘中。binlog是MySQL的逻辑日志,并且由Server层进行记录,使用任何存储引擎的MySQL数据库都转载 2021-12-16 11:51:17 · 129 阅读 · 0 评论 -
docker 部署spug运维神器
docer 部署步骤参考官方文档:https://www.spug.dev/docs/install-docker/如果没有外网可以先在一台有外网的机器上把镜像build好并save,然后把镜像传到局域网的机器。这里为了方面直接用官方的镜像,官方的image是有dockerfile的. 顺便学习一下他们的dockerfile 是怎么写的?docker save -o spug_image.docker registry.aliyuncs.com/openspug/spug然后在局域网的服.原创 2021-04-02 19:59:59 · 2078 阅读 · 0 评论 -
Mysql 中如何更新偶数行或者奇数行?
目录一、需求背景二、查找重复数据三、update 奇数行的flag为N四、总结一、需求背景在处理数据时,由于表的主键是data_seq_id, 自己定义的一个序列,例如:INWDN000827....这些数据是需要用户来维护的,如果用户维护成两份,因为主键设计成这样已经无法避免了。如何清除掉重复数据呢?二、查找重复数据通过group by count 查找到重复数据。data_seq_id value flag A001 v1 Y .原创 2021-01-20 15:29:49 · 926 阅读 · 0 评论 -
ShardingSphere 实战
目录一、项目介绍1.1、shardingSphere介绍1.2、sharding-JDBC、sharding-Proxy1.3、sharding-JDBC、sharding-Proxy和Sharding-SideCar 区别1.4、sharding-JDBC、sharding-Proxy下载二、sharding-JDBC2.1、sharding-JDBC简介2.2 、sharding-JDBC主要功能2.3、sharding-JDBC内部结构一、项目介绍.原创 2021-01-08 09:16:29 · 695 阅读 · 0 评论 -
MySQL 分库分表实战
目录一、背景描述 和遇到的问题二、如何解决?1、垂直拆分1.1垂直拆分--分库1.2、垂直分表--分表2、水平拆分2.1、水平分表2.2、水平分库3、拆分规则3.1 水平分库规则3.2 水平分表规则一、背景描述 和遇到的问题二、如何解决?1、垂直拆分1.1垂直拆分--分库1.2、垂直分表--分表2、水平拆分2.1、水平分表2.2、水平分库有点像分布式... 例如GP,分库硬件上投入需要多,性能比较好。3.原创 2021-01-04 23:42:17 · 661 阅读 · 0 评论 -
MySQL 体系结构概述
目录MySQL 体系架构1、网络连接层2、服务层3、存储引擎4、系统文件MySQL 体系架构1、网络连接层2、服务层3、存储引擎注意: 存储引擎是针对表的,建表的时候指定存储引擎,不是针对数据库的,同一个库中的两张表是可以有不同的存储引擎的。前提必须是安装了该引擎插件。4、系统文件mysql> show variables like '%log_err%' -> ;+---------------+----..原创 2021-01-04 22:01:30 · 251 阅读 · 1 评论 -
Mysql Redo log和BinLog的区别
目录区别一区别二区别三区别四区别一Redo Log是属于InnoDB引擎功能,BinLog是属于Mysql Server自带的功能,并且是以二进制文件记录。区别二Redo Log属于物理日志,记录该数据页更新状态内容,BinLog是逻辑日志,记录更新过程。区别三Redo Log日志是循环写,日志空间大小是固定的,BinLog 是append写入,写入一个写下一个,不会覆盖使用。区别四Redo Log作为服务器宕机后事务数据自动恢复使用,BinLog可以作.原创 2021-01-03 00:59:48 · 629 阅读 · 0 评论 -
Mysql Binlog
目录Binlog日志介绍Binlog的记录模式Binlog的文件结构Binlog日志介绍二进制log,别于数据库引擎的redo log。binlog记录记录DML DDL 。Binlog的记录模式statement 有点像redis的 rdb持久化。Binlog的文件结构这个log的格式了解即可,查看log时再来查询。...原创 2021-01-02 16:20:56 · 187 阅读 · 0 评论 -
Mysql Redo log
redo Log 简介修改一笔数据为什么要走redo log,而不是直接写入磁盘呢?因为频繁刷盘是很耗时的,一般都是走redo log然后异步刷盘。其次,随机刷盘和顺序刷盘时间是不同的(随机I/O 顺序I/O),从redo log刷盘可以节省时间。这也是redo log存在的意义。redo log写入机制redo log 相关参数设置innodb_flush_log_at_trx_commit默认为1. 一般2用的比较多。inmtr: 小事务。.原创 2021-01-02 15:55:21 · 169 阅读 · 0 评论 -
Mysql Undo log
Undolog介绍UndoLog作用mvcc和UndoLog的关系可参考原创 2020-12-29 23:43:19 · 143 阅读 · 0 评论 -
python与mysql的交互
mysql_demoimport mysql.connector.poolingconfig={ "host":"localhost", "port":3306, "user":"root", "password":"abc123456", "database":"demo"}try: pool=mysql.connector.pooling.MySQLConnectionPool( **config, pool_.原创 2020-10-25 22:34:38 · 177 阅读 · 0 评论 -
Mysql 报错 The table ‘tablename‘ is full解决方案
一、报错今天测试区debug程序遇到如下报错,数据落库失败。mysql Caused by: java.sql.SQLException: The table 'tablename' is full二、解决保证error之后参考了前辈的文章。排查MySQL的 information_schema 数据库中的TABLES 该表所占的空间。使用指令:show table status like 'm_rtm_rule_d%';m_rtm_rule_d InnoDB 10 C.原创 2020-10-20 16:27:11 · 1452 阅读 · 0 评论 -
Mysql Lock Wait
-- 2020-04-24 11:17:17.876 WARN 17388 --- [pool-9-thread-1] o.h.engine.jdbc.spi.SqlExceptionHelper : SQL Error: 1205, SQLState: 40001-- 2020-04-24 11:17:17.877 ERROR 17388 --- [pool-9-thread-1] o....原创 2020-05-06 10:53:51 · 410 阅读 · 0 评论 -
字符串判空 isnotempty & isnotblack/NULL 和空串的区别
业务中经常会有判空处理,一次忘记判空就应该一次祭天。如下代码被注释掉的时bug代码,由于初学λ表达式,才疏学浅,写的判空代码不敢用,却直接忽略判空处理。 .filter(allrrule -> //owner 判空处理 StringUtils.isNotEmpty(a...原创 2019-05-08 19:06:18 · 1027 阅读 · 0 评论 -
Mysql索引之-cardinality
cardinality 是估算索引中不重复的值。如何查看?show index from m_rtm_sub_rule_d;此表的总数目前约为15W.从数据可以看出,索引中有一列的值很小,意思是重复值足够多。事实上,当命中索引中这一列时还是比较耗时的.3.3w笔数据疑问:该索引为PK index,如果新建一个单独索引,时间是不是会减少呢?TODO.....原创 2020-02-25 16:41:41 · 677 阅读 · 0 评论