mysql
文章平均质量分 54
MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理。
MySQL是开放源代码的,因此任何人都可以在General Public License的许可下下载并根据个性化的需要对其进行修改。
MySQL因为其速度、可靠性和
别团等shy哥发育
硕士在读,对分布式、中间件、容器、微服务、深度学习、机器学习与数据挖掘方面感兴趣,希望可以在这些方面和大家交流学习方法。
后续文章会搬到这里:www.codeleader.top
展开
-
docker搭建mysql主从复制
docker搭建mysql主从复制1、主从复制搭建步骤1.1 新建主服务器容器实例33071.2 新建my.cnf1.3 重启master实例1.4 进入mysql-master容器1.5 master容器实例内创建数据同步用户1.6 新建从服务器实例33081.7 进入/mydata/mysql-slave/conf目录下新建my.cnf1.8 修改完配置后重启slave实例1.9 在主数据库中查看主从同步状态1.10 进入mysql-slave容器1.11 在从数据库中配置主从复制1.12 在从数据库中原创 2022-01-14 22:22:09 · 907 阅读 · 0 评论 -
Canal实现MySQL数据实时同步
Canal实现MySQL数据实时同步1、canal简介2、工作原理3、Canal环境搭建2.1 检查binlog功能是否开启2.2 开启binlog功能2.2.1 修改mysql的配置文件my.cnf2.2.2 重启mysql2.2.3 再次登录mysql客户端,查看log_bin变量2.3 在mysql里面添加以下的相关用户和权限4、下载安装Canal服务4.1 下载之后,放到目录中,解压文件4.2 修改配置文件4.3 进入bin目录下启动5、代码整合5.1 创建canal_client模块5.2 引入相原创 2021-11-22 21:24:02 · 1951 阅读 · 4 评论 -
MySql Host is blocked because of many connection errors; unblock with ‘mysqladmin flush-hosts‘ 解决方法
文章目录1、问题描述2、分析3、解决办法1、问题描述数据库远程连接的时候出现下列错误:blocked because of many connection errors; unblock with ‘mysqladmin flush-hosts’2、分析这是因为在短时间内产生大量中断的数据库连接从而导致阻塞。3、解决办法找到mysqladminlinux中运行whereis mysqladmin执行命令,清理hosts文件/usr/bin/mysqladmin flushhosts原创 2021-10-20 16:00:18 · 288 阅读 · 0 评论 -
ERROR 1064 (HY000): partition table, insert must provide ColumnList
文章目录1、问题描述2、解决方案1、问题描述mycat+mysql分库分表导sql的时候出现下列错误在全局表中需要导入tb_operatelog表的数据,再进行水平分割,经过分片算法存到192.168.159.22和192.168.159.37两台服务器上的时候报错。ERROR 1064 (HY000): partition table, insert must provide ColumnList2、解决方案可以看到,报错中提示我们要提供插入的列,但是我就是全列插入啊,见鬼了。然后把所有要原创 2021-10-20 15:46:56 · 1236 阅读 · 0 评论 -
ERROR 1105 (HY000): Unknown collation: ‘utf8mb4_0900_ai_ci‘
文章目录1、问题描述2、解决方案1、问题描述今天用5台服务器测试分库分表,导sql的时候出现下列错误ERROR 1105 (HY000): Unknown collation: 'utf8mb4_0900_ai_ci'2、解决方案我虚拟机上面的mysql版本是5.7 但是本地的是8.0我是将8.0版本的导入5.7版本这个是数据库排序规则的问题,MySQL 5.7使用的默认为utf8mb4_unicode_ci,但是从MySQL8.0开始使用的是utf8mb4_0900_ai_ci直接将原创 2021-10-20 15:40:53 · 1528 阅读 · 0 评论 -
2006 - MySQL server has gone away
文章目录1、问题描述2、分析3、解决方案1、问题描述今天在导入sql文件的时候,出现了以下错误2006 - MySQL server has gone away2、分析最后发现是由于sql脚本文件太大了,有70M。这是sql文件过大,Mysql执行时间超过最大包大小,导致连接断开。客户端max_allowed_packet取值范围4096-2G,默认值是16M客户端net_buffer_length取值范围1024-512M,默认值16K服务器max_allowed_packet取值范围原创 2021-10-18 11:16:51 · 548 阅读 · 1 评论 -
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
修改mysql密码策略一、问题描述二、解决方案:2.1 查看当前mysql的密码策略2.2 降低密码验证的强度等级2.3 再修改下密码长度一、问题描述今天在修改mysql密码的时候出现了如下错误提示:不符合当前的密码策略。二、解决方案:2.1 查看当前mysql的密码策略SHOW VARIABLES LIKE 'validate_password%';2.2 降低密码验证的强度等级我们通过上图可知validate_password_policy=MEDIUM即当前配置是MEDIUM(中原创 2021-10-04 22:40:57 · 503 阅读 · 0 评论 -
[Warning] World-writable config file ‘/etc/mysql/conf.d/my.cnf‘ is ignored.
文章目录1、问题描述2、解决方案:1、问题描述今天用docker搭建了个mysql主从集群,但是在配置的时候出现以下警告:[Warning] World-writable config file '/etc/mysql/conf.d/my.cnf' is ignored.2、解决方案:这是因为我们将my.cnf这个文件的权限给的太高了,我当时直接给了个777,只需要进行权限降级即可。chmod 644 /root/redisconf/masterMySQL/conf/my.cnf每个人原创 2021-09-29 15:11:29 · 1670 阅读 · 7 评论 -
Redis整合MySQL主从集群
Redis整合MySQL主从集群1、用Docker搭建MySQL主从集群1.1 拉取mysql镜像1.2 创建配置文件夹1.3 编写主服务器的配置文件信息1.4 启动mysql主服务器的容器1.5 观察主服务器状态1.6 配置mysql从服务器1.7 启动mysql从服务器1.8 确认主从关系2、准备数据2.1 创建数据库2.2 创建student数据表2.3 向student表插入几条数据3、用Java代码读写MySQL集群和Redis3.1 引入redis和mysql依赖3.2 代码整合4、MySQL主原创 2021-09-26 17:10:23 · 2974 阅读 · 12 评论 -
mysql5.7在使用group by的注意事项
mysql5.7在使用group by的注意事项1、问题描述2、解决方案(一):3、解决方案(二)4、解决方案(三)1、云数据库修改方案:2、本地数据库修改方案:1、问题描述先看一个sql语句报错:select * from oilDaily group by wellId这是因为在mysql5.7中开启了sql_mode中的“only_full_group_by”,而这个在执行以往版本中带有group by的语句时就会报错。2、解决方案(一):select查找的所有属性都必须出现在grou原创 2021-04-02 22:25:13 · 1386 阅读 · 0 评论 -
本地navicat连接腾讯云数据库Mysql
本地navicat连接云数据库1、打开navicat,点击选择连接腾讯云2、打开腾讯云数据库实例2.1 进入管理界面打开外网地址2、输入外网ip地址和端口号3、测试连接1、打开navicat,点击选择连接腾讯云2、打开腾讯云数据库实例2.1 进入管理界面打开外网地址2、输入外网ip地址和端口号3、测试连接...原创 2021-04-02 10:38:00 · 940 阅读 · 0 评论 -
mysql自连接查询
1、数据库表结构如下:create table student(id int(11) primary key not null auto_increment comment '学号',name varchar(100),gender varchar(100),class_id int(11) not null,birth_day date,literal_degree int(11),math_degree int(11),CONSTRAINT fk_student_class_id fo原创 2021-03-31 21:45:58 · 414 阅读 · 0 评论 -
mybatis基于注解的多对多关联操作
文章目录一、前言二、实体类:1、角色类RoleInfo2、权限类:ModuleInfo3、中间表ModuleRole三、多对多操作1、向中间表插入数据2、删除关联表数据3、获取角色列表并查明每个角色的权限四、数据库表结构1、角色表roleInfo2、权限表moduleInfo3、中间表moduleRole一、前言一名角色对应多种权限,一种权限也会被多个角色同时拥有,所以角色表和权限表是多对多关系,这时需要引入中间表(角色-权限表)来映射,角色表与中间表和权限表与中间表都是一对多关系。二、实体类:1、原创 2021-03-25 12:09:07 · 502 阅读 · 0 评论 -
mysql带条件的插入语句
文章目录一、数据库表结构1、moduleRole(中间表)2、roleInfo表3、moduleInfo表二、带条件插入的代码如下:一、数据库表结构1、moduleRole(中间表)2、roleInfo表3、moduleInfo表上面roleInfo与moduleInfo表是多对多关系,所以引入中间表moduleRole,用两个一对多实现多对多关系二、带条件插入的代码如下:向中间表moduleRole插入数据,限制条件为角色编号roleId=3,并且该角色的可操作菜单编号为1-0和1-1原创 2021-03-25 00:39:33 · 3764 阅读 · 0 评论 -
mysql条件统计
文章目录一、前言二、基本语法三、条件统计的实现1、利用条件表达式2、利用case when 语句四、总结:一、前言我的数据库测试表结构如下,现在统计gid大于1的数量二、基本语法count()函数统计数据表中包含的记录行的总数,或者根据查询结果返回列中包含的数据行数。其使用方法有两种:COUNT(*)计算表中总的行数,无论某列有数值或者为空值。COUNT(字段名)计算指定列下总的行数,计算时将忽略空值的行三、条件统计的实现1、利用条件表达式select count(IF(gid>原创 2021-03-18 19:02:43 · 811 阅读 · 0 评论 -
mysql左连接查询时多条件的注意事项
文章目录mysql左连接查询时多条件的注意事项1、返回左表所有数据2、返回符合条件的数据mysql左连接查询时多条件的注意事项1、返回左表所有数据select *from oilDaily left outer join wellInfoon oilDaily.wellId=wellInfo.wellId and oilDaily.wellId='庆11-001'group by wellId,oilTimeorder by wellId asc,oilTime asc;2、返回符合条件原创 2021-03-16 17:25:51 · 2085 阅读 · 0 评论 -
mysql多字段分组
文章目录mysql多字段分组group by 语法多字段分组GROUP BY与ORDER BY一起使用(分组排序)使用having过滤分组mysql多字段分组group by 语法分组查询是对数据按照某个或多个字段进行分组,MYSQL中使用group by关键字对数据进行分组,基本语法形式为:[GROUP BY 字段][HAVING <条件表达式>]多字段分组使用GROUP BY可以对多个字段进行分组,GROUP BY关键字后面跟需要分组的字段,MYSQL根据多字段的值来进行层次分原创 2021-02-05 11:46:00 · 7570 阅读 · 0 评论 -
mysql按照日期字段分组统计表数据
问题描述比如我数据库的一个测试字段如下上面的日期是精确到日的,我现在要按照年月来将上表的数据分组统计,并求出number的平均值。例:查出wellid='001’每月的number平均值sql语句SELECT avg( number ), date_format( time, '%Y-%m' ) AS createTime FROM well WHERE wellid = '001' GROUP BY createTime ORDER BY createTime运行结果原创 2021-02-01 17:39:05 · 546 阅读 · 0 评论 -
mysql触发器(插入时更新关联表的某个字段)
数据库表结构student表dorm表1、为student表建立触发器,当向学生表中插入宿舍id时,自动将dorm表该宿舍已住人数加1create trigger triggerNumberbefore insert on studentfor each rowbegin if new.dorm_id is not null then update dorm set alreadyNumber=alreadyNumber+1 where id=new.dorm_id; end i原创 2021-01-18 11:27:30 · 3041 阅读 · 0 评论 -
mysql触发器监控数据变化并设置表中其他字段
1、表结构:我现在设置一个触发器,当alreadyNumber=allNumber的时候,自动将status的值设置为是。2、 触发器定义如下:create trigger triggerStatus1before update on dormfor each rowbegin if new.alreadyNumber=new.allNumber then set new.status='是'; end if;end;3、参数解释:triggerStatus1:触发器名原创 2021-01-15 23:22:10 · 1967 阅读 · 1 评论 -
mysql视图
一、视图概念 数据库中的视图是一个虚拟表。同真实的表一样,视图包含系系列带有名称的行和列数据。行和列数据来自于由定义视图查询所引用的表,并且在引用视图时动态生成。二、在单表上建立视图1、首先创建基本表并插入数据create table t(quantity int,price int);insert into t values(3,50);2、创建视图:create view view_t as select quantity,price,quantity*price from t;原创 2021-01-08 17:32:57 · 380 阅读 · 0 评论 -
mysql数据类型的选择
1、整数和浮点数如果不需要小数部分,就是用整数来保存数据;如果需要小数部分,就是用浮点数。对于浮点数据列,存入的数值会对该列定义的小数位进行四舍五入。浮点类型包裹FLOAT和DOUBLE类型,精度要求较高时,使用DOUBLE类型。2、浮点数和定点数浮点数FLOAT、DOUBLE相对于定点数DECIMAL的优势是:在长度一定的条件下,浮点数能表示更大的数据范围。但是由于浮点数容易产生误差,因此对精确度的要求比较高时,建议使用DECIMAL存储。另外,两个浮点数进行减法和比较运算时容易出问题,因此在进行原创 2020-12-29 21:00:13 · 271 阅读 · 0 评论 -
mysql自增主键设置
mysql自增主键设置在数据库应用中,经常希望在每次插入新纪录时,系统自动生成字段的主键值。可以通过为表主键添加AUTO_INCREMENT关键字来实现。默认情况下,在MYSQL中AUTO_INCREMENT的初始值是1,每新增一条记录,字段值自动加1.一个表只能有一个字段属用AUTO_INCREMENT约束,且该字段必须为主键的一部分。AUTO_INCREMENT约束的字段可以是任何整数类型(TINTINT、SMALLINT、INT、BIGINT等)设置表的属性值自动增加的语法规则如下:字段名原创 2020-12-29 15:20:34 · 3038 阅读 · 1 评论