MySQL
美好生活521
这个作者很懒,什么都没留下…
展开
-
mysql 服务启动:发生系统错误 1067
电脑重置系统后,程序和服务都需要重新安装配置,mysql服务安装后启动不起来,提示1067。最终使用命令mysqladmin -u root -p shutdown解决。原创 2022-02-04 16:58:55 · 1347 阅读 · 0 评论 -
MySQL 跳过权限校验
如果忘记密码了,或者不小心修改了mysql.user表中中的记录,导致客户端连接不上MySQL了,可以在my.ini配置文件里增加下面一句话,保存,然后重启mysql服务,之后就可以连接上了。skip-grant-tables连接上之后,修改密码,再去掉mysql.ini文件中刚刚添加的那句话。如果想所有ip都可以连接 MySQL,使用如下命令:GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root'%所有ip都可以原创 2021-12-25 11:47:09 · 1557 阅读 · 1 评论 -
分布式锁的三种实现方式
分布式锁实现方式主要有三种,数据库,Redis 和 ZooKeeper。1、数据库实现分布式锁使用select field from table_name where idx = n for update关键词 for update,如果 idx为主键或索引字段,这样就会使用行锁,相同记录进行操作会阻塞,等待锁释放后才能继续,可以设置超时时间,如 for update 2s,获取不到锁就报异常。这种方式不会影响对其他行的 write 操作,也不会影响对表数据的 read 操作,不建议并发量很大.原创 2021-12-03 22:04:21 · 2751 阅读 · 0 评论 -
MySQL 5.7 主从复制配置
之前在两个节点安装了MySQL 5.7,现在开始进行主从复制配置,138作为主,148为从。1、主节点 MySQL 配置文件修改log-bin=master-bin #二进制文件名binlog-format=ROW #二进制日志格式server-id=1 #各服务器id不一样binlog-do-db=poi #同步的数据库名称2、从服务器登录主服务器的账号授权配置mysql -uroot -p 命令登录MySQL,输入密码执行语句:set global valida...原创 2021-10-24 20:02:36 · 1481 阅读 · 0 评论 -
CentOS 7 上安装 MySQL5.7
1、查看系统中是否自带安装mysqlyum list installed | grep mysql2、安装wget命令yum install wget -y3、给CentOS添加rpm源wget dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm4、安装下载好的rpm文件yum install mysql-community-release-el6-5.noarch.rpm -y5、安装成功之后,/etc/y.原创 2021-10-24 18:25:07 · 1369 阅读 · 0 评论 -
MySQL 体系结构
MySQL 体系结构如下图: 组成部分:1、连接池组件2、管理服务和工具组件3、SQL 接口4、查询分析器5、优化器6、缓冲7、插件式存储引擎8、物理文件原创 2021-07-10 13:45:37 · 65 阅读 · 0 评论 -
MySQL 备份与恢复
MySQL 备份与恢复原创 2021-04-11 17:58:36 · 105 阅读 · 0 评论 -
MySQL 日志文件
数据库管理员 DBA 会更关注数据库日志文件,因为提供很多有用的信息,方便数据库问题定位,从全局角度对数据库进行优化。MySQL 数据库日志文件记录了影响数据库的各种类型的活动;日志文件包括错误日志,二进制日志,慢查询日志,和查询日志。1、错误日志文件 error log记录了数据库的启动,运行,和关闭的过程,包括错误信息,警告信息以及正确的信息,存放位置通过如下命令定位:show variables like 'log_error'可以使用文本编辑器打开此文件,有些警告[Warn.原创 2021-04-11 16:28:29 · 90 阅读 · 0 评论 -
MySQL InnoDB 存储引擎文件
InnoDB 存储引擎文件包括表空间文件和重做日志文件。1、表空间文件2、重做日志文件原创 2021-04-11 16:23:30 · 173 阅读 · 0 评论 -
MySQL InnoDB 存储引擎索引那些事儿
1、索引类型MySQL InnoDB 存储引擎支持 B+ 树索引,哈希索引, 和全文索引。1)B+ 树Balance 平衡查找树,所有记录节点都是按键值大小顺序存储在同一层的叶子节点上,各叶子节点通过指针进行链接。插入删除数据时,B+ 树总会保持平衡。B+ 树的高度一般在2-4层,也就是查找某一键值的行记录时,只需要2-4次的IO,查询时间短。B+ 树索引分为聚集索引和辅助索引,聚集索引就是索引和数据存储在一起的索引类型,B+ 树聚集索引就是在叶子节点上存储整行数据。辅助索引的叶子节原创 2021-04-10 18:05:22 · 106 阅读 · 0 评论 -
MySQL 表分区 Partition
MySQL 分区原创 2021-04-03 18:45:09 · 370 阅读 · 0 评论 -
MySQL 数据库设计规范
1、表名、字段名必须使用小写字母,不能以数字开头,不要使用数据库关键字和保留字;多个单词之间用下划线连接,不要在两个下划线之间只出现数字。2、表名不能使用复数。3、表示是否概念的字段,使用 is_field 形式命名,类型为 unsigned tinyint,例如是否已删除,使用 is_deleted 命名,1表示是,0表示否。4、索引命名,主键命名pk_ 开头, 唯一索引命uk_ 开头,普通索引命名 idx_ 开头。5、数字类型使用 decimal,禁止使用 float 和 doubl..原创 2021-04-03 09:41:40 · 119 阅读 · 0 评论 -
MySQL 日期时间类型
MySQL支持date,time, year, timestamp, datetime五种日期时间类型1、date类型支持范围从1000-01-01到9999-12-31数据预览时,显示为YYYY-MM-DD格式,例如2021-03-122、datetime类型支持范围从1000-01-01 00:00:00.000000到9999-12-31 23:59:59.999999数据预览时,显示为YYYY-MM-DD hh:mm:ss[.fraction]格式,例如2021-0...原创 2021-03-13 00:08:59 · 245 阅读 · 0 评论 -
MySQL 日期函数
MySQL中时间相关的函数很多,使用也很灵活。1、str_to_date(str, format)将字符串转为日期类型select str_to_date('2020-12-21', '%Y-%m-%d'),只有日期部分,转为date类型select str_to_date('12:25:30', '%H:%i:%s'),只有时间部分,转为time类型select str_to_date('2020-12-21 12:25:30', '%Y-%m-%d %T'),同时包含日期和时间部分,转.原创 2021-03-12 23:13:37 · 201 阅读 · 0 评论 -
MySQL日期、字符串、数值型转换
日期字符串提取月份,例如两个日期字符串间隔几个月,可以用month('2019-05-01')-month('2019-12-02')字符串转日期,使用类型转换函数:cast('2019-12-01' as date)日期和字符串比较,可以直接使用:date_field < '2019-01-01'提取年份,week:year('1990-03-02'), week('2019-02-03')获取当前时间:select sysdate()字符串与数值..原创 2020-10-26 19:40:41 · 870 阅读 · 0 评论 -
MySQL Group by 分组查询
如果希望使用 group by 语句的时候避免出现 filesort, 那么只需在其后追加 order by null 语句即可,即group by ... order by null二、说明1、默认情况下,mysql在使用group by之后,会产生临时表,而后进行排序(此处排序默认是快排),这会消耗大量的性能。2、group by本质是先分组后排序【而不是先排序后分组】。3、group by column 默认会按照column分组, 然后根据column升序排列; group by ..原创 2021-02-13 11:19:03 · 269 阅读 · 0 评论 -
SpringBoot项目集成Mybatis Plus(四)SQL映射文件
Mybatis Plus,SpringBoot,SQL映射文件原创 2021-02-09 20:31:59 · 332 阅读 · 0 评论 -
SpringBoot项目集成Mybatis Plus(三)分页插件
SpringBoot项目集成Mybatis Plus原创 2021-02-09 19:22:27 · 225 阅读 · 0 评论 -
SpringBoot项目集成Mybatis Plus(二)代码生成器
SpringBoot项目集成Mybatis Plus,代码生成器原创 2021-02-09 17:29:36 · 155 阅读 · 1 评论 -
SpringBoot项目集成Mybatis Plus(一)多数据源配置
Mybatis Plus,SpringBoot,多数据源原创 2021-02-09 16:14:46 · 404 阅读 · 1 评论 -
MySQL表、索引大小查询
select table_schema,table_name, table_rows, -- 表数据行数 round(sum(data_length)/1024/1024,2) data_size, -- 表数据所占空间大小(M) round(sum(index_length)/1024/1024,2) index_size-- 表索引所占空间大小(M)from information_schema.tablesgroup by table_schema...原创 2021-01-20 13:30:10 · 107 阅读 · 0 评论 -
Mysql 汉字排序
开发中遇到一个场景,需要对含有一二三四等数字字符串的字段进行排序,直接用order by 该字段肯定是不对的,通过查mysql支持的函数,发现order by collation(该字段)是可以实现的,在此记录一下。另外,Mysql对字符串根据正则表达式进行提取也是不支持的,暂且用substring()结合locate()函数来替代。...原创 2021-01-13 18:52:56 · 1117 阅读 · 0 评论 -
MySQL数值型小数位数控制
MySQL数据库sum函数后的数值再使用round函数后会以科学法形式显示,为了方便控制数值类型和小数位数,可以有两个函数,如果想使用千分位的形式,可以使用函数format(value, n),value为数值,n为小数位数如果不使用千分位形式,可以使用convert(value, decimal(m,n)函数,value为数值,m为小数总位数,n为小数点后位数...原创 2020-12-18 12:24:39 · 901 阅读 · 0 评论 -
MySQL数据库基础操作
1、设置MySQL表格中自增主键从1开始:alter table table_name auto_increment = 12、设置更新时间date类型的字段不为空,默认值为当前时间:CURRENT_TIMESTAMP3、批量原创 2020-10-21 08:40:09 · 77 阅读 · 0 评论 -
Mybatis 一对多关联查询collection用法
使用resultMap, select 标签, resultMap的中的collection表示一对多,column对应select标签中的sql里的字段或者别名,当两个表字段名称有相同的情况下,可以定义别名。<resultMap id="authorWorksInfo" type="package.vo.AuthorWorksInfo"> <id column="id" property="id"/> <resultcolumn="name" pro...原创 2020-10-13 21:21:51 · 671 阅读 · 0 评论 -
MySQL事务隔离级别及场景测试
事务并发问题;事务隔离级别原创 2020-09-21 14:05:03 · 366 阅读 · 0 评论