![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
mysql数据库
文章平均质量分 59
健康平安的活着
再给我一次重生的机会,我将加倍珍惜,将java事业进行到底。
展开
-
数据库悲观锁 select for update的场景案例【经典版】
在mysql中,select ... for update 仅适用于InnoDB,且必须在事务块中才能生效。Innodb引擎默认是行锁。场景1:查询条件为主键会话A: select * from tb_pab where id=1 for update;会话B: update tb_pab set uname='bj' where id=1;原创 2024-01-11 16:20:10 · 1283 阅读 · 0 评论 -
mysql的mvcc详解
1。即通过数据行的多个版本管理来实现数据库的并发控制,使得在InnoDB事务隔离级别下执行一致性读操作有了保障。2.mysql中的InnoDB中实现了,大大提高数据库的并发度。3..MySQl中只有InnoDB支持MVCC,其他存储引擎不支持4.为了查询一些正在被其他事务更新的值的时候,能够查到它们被更新之前的值,这样做就能在查询的时候不必等待更新事务的提交。原创 2023-09-28 14:29:57 · 3774 阅读 · 0 评论 -
mysql的锁分类:表锁和行锁和页面锁
在数据库中,除传统的计算资源(如CPU、RAM、I/O等)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说,锁对数据库而言显得尤其重要,也更加复杂。原创 2023-09-26 23:27:28 · 2069 阅读 · 2 评论 -
mysql的两张表left join 进行关联后,索引进行优化案例
1.表1没加索引2.表2没加索引3.查看索引。原创 2023-08-19 19:00:02 · 730 阅读 · 0 评论 -
MySQL 中 varchar 的长度n是什么?
n 的最大值是 65535,如果以 utf-8 格式存放数据,最长保存 [n/3] 个汉字(一个汉字占 3 字节),即 varchar(20) 类型的字段只能保存 6 个汉字;utf8mb4 格式:varchar(n) 中每个字符最多占 4 个字节,英文数字占 1 个字节,汉字占 3 个字节。无论是数字,字母还是汉字,都可存放 n 个,即 varchar(20) 类型的字段可以保存 20 个汉字;MySQL 5.0 之前的版本:n 指的是 n 个字节。原创 2023-04-22 22:09:15 · 289 阅读 · 1 评论 -
数据库生成主键的几种方法策略
设置auto_increment 实现数据表自增;优点: 适合排序和分页缺点:在分库分表中,保证每张表实现自增同时,不同表之间还得保证连续。实现比较麻烦。原创 2023-04-22 11:47:45 · 1277 阅读 · 0 评论 -
mysql中事务的隔离级别
1.读未提交;2.不可重复读3.可重复读4.串行。原创 2023-02-04 13:09:18 · 3105 阅读 · 3 评论 -
mysql中sql优化的经典案例语句(值得一看)
经典优化sql语句,值得收藏一看原创 2023-01-12 10:20:23 · 214 阅读 · 1 评论 -
A机器连接同一局域网下的B机器的虚拟机中的mysql
B机器windows10 的机器ip为: 172.16.71.13 在其上的虚拟机中安装了mysql,虚拟机的ip为A机器的ip为:172.16.71.14;需求:A机器想访问 B机器172.16.71.13 这台机器的虚拟机中mysql,该怎么实现呢?1.控制面板->系统和安全->Windows Defender防火墙->启用或关闭Windows Defender防火墙->1.需要保证电脑A能连接电脑B,在物理网络上选择进行绑定。原创 2022-12-30 17:30:13 · 919 阅读 · 1 评论 -
mysql 报root用户名locked Access denied for user ‘root‘@‘localhost‘. Account is locked
1.mysql库中user表,account_locked 由Y变为N。原创 2022-12-29 21:11:41 · 1384 阅读 · 2 评论 -
MySQL 启动日志报错:Starting MySQL. ERROR! The server quit without updating PID file
1.首先通过切换到mysql数据库所属用户: hd-mysql2.启动mysql,报错。原创 2022-12-29 13:54:02 · 3655 阅读 · 1 评论 -
mysql中group_concat函数的作用
group_concat函数: 把name相同的code拼接在一起,放到另外一列中,用逗号进行分割。原创 2022-12-19 15:45:17 · 761 阅读 · 1 评论 -
mysql 中查看表结构的命令
确实能够看到order表中的字段名称、字段类型、字段长度、是否允许为空,是否主键、默认值等信息,二 命令 show create table。但看不到该表的索引信息。原创 2022-12-19 14:53:24 · 770 阅读 · 0 评论 -
mysql 8.x中数据导入mysql5.x遇到的问题以及解决办法
今天在做项目时,项目线上使用的mysql版本为8.26.0 而本地使用的是5.7.32 ,通过navicate将线上的dump出来的mysql脚本文件,通过navicate进行附件导入,报如下错误:原因在于: 据库版本为8.x,要导入sql文件的数据库版本为5.x 中,存在编码问题,需要转换成5.x相应的版本进行解决。原创 2022-10-10 15:43:49 · 1248 阅读 · 0 评论 -
mysql5.7 .x 中开启日志(常规,慢,错误等)以及查看日志路径
1.查询慢sql日志log路径: show variables like '%slow_query_log%'原创 2022-10-06 20:33:06 · 1245 阅读 · 0 评论 -
mysql 5.7 表空间优化alter table xxxx
当执行optimize table xxx,报。原创 2022-09-20 09:10:10 · 601 阅读 · 0 评论 -
mysql的常见的外键约束
设计外键时,mysql提供了4种外键关联策略1、RESTRICT 限制(默认)如果有外键关联了tb_class 的id,则tb_class 不能删除被关联的记录、不能更新关联记录deptId字段的值(会报错)。2、CASCADE 级联删除tb_class 中的记录时,会自动删除tb_student中与之关联的记录;修改tb_class中tb_student字段的值时,会自动修改tb_student中与之关联的记录的外键字段的值(同步变化)。3、NO ACTION 不做处理。原创 2022-09-16 09:49:05 · 2022 阅读 · 1 评论 -
mysql的数据表同步工具 canal的使用
canal是阿里巴巴旗下的一款开源项目,使用java语言进行开发,基于数据库增量日志解析,提供增量数据订阅与消费的功能。是一款很好用的数据库同步工具。目前只支持mysql。原创 2022-09-06 22:50:41 · 10158 阅读 · 2 评论 -
mysql 中删除主键字段的自增属性和约束属性
删除外键是根据创建外键时命名的外键名,不是外键所在的字段名。原创 2022-09-06 16:49:43 · 2434 阅读 · 0 评论 -
mysql存储过程3-1 实现每天定时从A表按天同步到B表(含建表,同步数据,删除旧数据)
BEGIN-- 定义标记变量-- 错误变量-- 设置结束标志 游标结束后,将标记量改为1-- 捕获到sql的错误,就设置t_error为1BEGINEND;end if;# 利用concat拼接字符串函数,将复制表的sql赋值到变量sql_create_table-- 开启事务-- 开启游标-- 循环遍历游标-- 使用游标,遍历结果数据, 批读取数据到指定变量上。.........原创 2022-08-31 10:11:20 · 1392 阅读 · 0 评论 -
mysql的数据备份脚本
1.核心命令--quick2.dump参数介绍mysqldump常用选项-h, --host=name:服务器IP-u, --user=name:登录名-p, --password[=name]:登录密码-A, --all-databases:导出所有数据库-B, --databases:导出指定的数据库,多个数据库名使用空格分割--tables:导出指定表--force:当出现错误时仍然继续备份操作。...原创 2022-08-28 17:37:41 · 661 阅读 · 0 评论 -
mysql 通过备份脚本进行导入新库,数据库密码发生改变
1.在项目现场实现了将数据进行备份操作,备份数据库的机器为192.168.1.241,其用户名和密码为 root/123导入新mysql数据库的机器为192.168.152.2,其用户名和密码为 root/root ,将脚本导入到新库中,新库的密码变为了123,原先的已有 数据库连接无法进行登录。...原创 2022-08-25 23:19:54 · 294 阅读 · 0 评论 -
windows中 mysql修改密码
1.修改2.新密码登录。原创 2022-08-25 23:06:41 · 1791 阅读 · 1 评论 -
mysql 5.7 登录时报:ERROR 1862 (HY000): Your password has expired
1.在项目现场,安装的是麒麟linux操作系统,安装完成mysql后,进行mysql 命令行登录时,报如下错误:[root@localhost ~]# mysql -uroot -h127.0.0.1 -pEnter password:ERROR 1862 (HY000): Your password has expired. To log in you must change it using a client that supports expired passwords. 1.修改 /etc/my原创 2022-08-22 11:21:40 · 1326 阅读 · 0 评论 -
mysql 高性能搭建0-2 centos 7.5 安装mysql 5.7.32 中自定义data的目录
标记为红色的部分,为系统设置的初始密码。2.这里需要进入配置的log日志中查看。原创 2022-08-17 00:41:26 · 257 阅读 · 0 评论 -
mysql 高性能搭建2-2: mysql5.7.29 主主复制+keepalived实现高可用
本案例是使用192.168.152.136和192.168.152.140 这两台机器,服务详情见下表:Ip数据库角色用户Mysql的路径rootroot192.168.152.136和192.168.152.140这台机器上的myql数据库隶属于root用户,启动mysql需要root用户来启动。......原创 2022-08-14 17:42:20 · 288 阅读 · 0 评论 -
mysql 高性能搭建2-1: Centos7离线按照keepalived
keepalived是vrrp协议的实现,原生设计目的是为了高可用ipvs服务,keepalived能够配置文件中定义生成ipvs规则,并能够对各RS的健康状态进行检测;原创 2022-08-14 12:37:04 · 353 阅读 · 0 评论 -
mysql中通过命令查找mysql的配置文件my.cnf以及查看mysql版本
[root@bonc mysql]# whereis my.cnfmy: /etc/my.cnf[root@rhel6lhr mysql]#原创 2022-08-13 14:47:10 · 699 阅读 · 0 评论 -
mysql存储过程实现3-2 定时删除指定表中指定时间点的数据
1.新建一张表:2.添加数据:1.3 查看表中数据。原创 2022-08-06 13:39:56 · 601 阅读 · 0 评论 -
mysql 高性能搭建1: Centos7+Mysql7.5搭建主从复制
本案例是使用192.168.1.86和192.168.1.126 这两台机器,服务详情见下表:Ip数据库角色用户Mysql的路径Masterhd-mysqlslaverroot其中192.168.1.86这台机器上的myql数据库隶属于hd-mysql用户,启动mysql需要此用户来启动;192.168.1.126这台机器上的myql数据库隶属于root用户,启动mysql需要root用户来启动。1.3 常用命令解释1.stop slave: 停止从库。......原创 2022-08-05 21:27:01 · 119 阅读 · 0 评论 -
mysql中解决存储过程表名通过变量传递的方法
在存储过程中,简单的用set或者declare语句定义变量,然后直接作为sql的表名是不行的,mysql会把变量名当作表名。在其他的sql数据库中也是如此。原创 2022-07-31 22:10:14 · 1972 阅读 · 0 评论 -
mysql 中手动设置事务提交
一般情况下,mysql的默认情况下autocommit=1,是自动提交事务的。autommit是session级别的,就是当前连接更改了autocommit,对其他连接没有影响。当设置autocommit=0,就需要手动进行提交了。在另外一个session中进行查看已经看到,进行修改提交成功,这边能够看到。2.使用commit命令,提交后。1.在会话设置手动提交事务。在另一个会话进行查询。...原创 2022-07-30 18:50:47 · 4857 阅读 · 0 评论 -
mysql中关于存储过程无法实现迁移复制表中数据问题
编写了一个存储过程,逻辑是查询某一张表中部分字段的数据,然后插入到另外一张新表中。但是发现在操作过程,插入都是null。1.存储过程2.截图3.执行存储过程后,插入表中数据。原创 2022-07-30 12:01:08 · 257 阅读 · 0 评论 -
mysql存储过程1 实现全量同步数据并自动创建表(含数据和结构)
老规矩,话不多说,上代码!原创 2022-07-29 06:25:01 · 895 阅读 · 0 评论 -
mysql存储过程2 实现创建一张表(只复制原表的结构)
代码】mysql存储过程实现创建一张表(复制原表的结构新建的表)原创 2022-07-28 08:44:33 · 515 阅读 · 0 评论 -
mysql存储过程 使用游标实现两张表数据同步数据
id`int(10)NOTNULLCOMMENT'用户id',`u_name`varchar(255)DEFAULTNULLCOMMENT'用户名',`u_age`int(10)DEFAULTNULLCOMMENT'年龄',`create_time`datetimeDEFAULTNULLCOMMENT'创建时间',新增一些数据3.编写存储过程实现从tb_stu查询指定日期范围的数据迁移到tb_stu2这张表中begin执行效果。......原创 2022-07-27 18:24:18 · 1067 阅读 · 0 评论 -
mysql开启定时调度任务执行
1.临时会话的修改,注意mysql服务重新启动将失效2.在/etc/my.cnf配置文件中进行配置event_scheduler=1,然后重新启动mysql服务。原创 2022-07-22 10:48:47 · 777 阅读 · 0 评论 -
mysql通过开启全局日志进行定位排查慢sql
在mysql的my.cnf中,设置如下#开启#记录日志文件的路径#输出格式。原创 2022-07-21 12:38:55 · 300 阅读 · 0 评论 -
mysql中没有自增主键查询时自动设置
话不多说,上代码1.表结果中,不存在主键id 2.查询时自动设置select CONVERT((@i:=@i+1),SIGNED) as no,a.* from (select @i:=0) t ,gl_data_point_mapping as a原创 2022-07-11 11:30:10 · 631 阅读 · 0 评论 -
mysql 数据库的分库分表详解
垂直分片:是从业务的维度进行划分,扩展了数据库连接数,提升数据库IO性能。 2.水平分片:从数据维度切分,扩展单表的数量,提升数据库查询性能。 水平分片从理论上突破了单机数据量处理的瓶颈,并且扩展相对自由,是分库分表的标准方案:常用的分库分表的策略:1.取模分片:优点:存放均匀,缺点:扩容需要大量数据迁移。2.按范围分片: 优点:扩容不需要迁移数据。缺点:数据存放不均匀,容易产生数据倾斜。3.根据业务场景,灵活定制分片策略。......原创 2022-07-10 16:24:51 · 1192 阅读 · 0 评论