![](https://img-blog.csdnimg.cn/20190927151053287.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
MySQL
文章平均质量分 56
MySQL的讲解
小洪帽i
这个作者很懒,什么都没留下…
展开
-
宝塔MySQL自动停止怎么解决?
在使用宝塔中,遇到了MySQL自动停止的情况,导致MySQL停止的情况有很多,下面教大家怎么解决这一问题。原创 2023-06-21 14:51:37 · 837 阅读 · 5 评论 -
Mysql 启动错误:Error while setting value ‘STRICT_TRANS_TABLES, NO_ZERO_IN_DATE, NO_ZERO_DATE, ERROR_FOR_
Error while setting value 'STRICT_TRANS_TABLES, NO_ZERO_IN_DATE, NO_ZERO_DATE, ERROR_FOR_DIVISION_BY_ZERO, NO_ENGINE_SUBSTITUTION' to 'sql_mode'原创 2023-04-17 09:35:58 · 4211 阅读 · 3 评论 -
MySql SQLSTATE[HY000] [1130] Host ‘DESKTOP-KE7BM91‘ is not allowed to connect to this MySQL server
MySql SQLSTATE[HY000] [1130] Host 'DESKTOP-KE7BM91' is not allowed to connect to this MySQL server原创 2023-03-21 09:57:50 · 205 阅读 · 0 评论 -
Mysql 计算两个经纬度距离
Mysql 计算两个经纬度距离原创 2023-01-04 15:51:16 · 141 阅读 · 0 评论 -
MySql 报错 ERROR 1118 (42000): Row size too large. The maximum row size for the used table type,
ERROR 1118 (42000): Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBsMySQL 报错码为:1118这种情况一般出现在保存新建的表或者是修改表结构原创 2022-02-26 16:47:36 · 6259 阅读 · 0 评论 -
MySQL 语句长度过长怎么办
把这个值调大即可:max_allowed_packet//查看max_allowed_packet值showglobalvariables like 'max_allowed_packet'; //修改当前max_allowed_packet值set session max_allowed_packet=2*1024*1024*10; //修改全局max_allowed_packet值set global max_allowed_packet=2*1024*1024*...原创 2022-02-26 16:56:32 · 1449 阅读 · 0 评论 -
MySQL 查询每个部门最高薪资的第一个员工的姓名
表:字段 说明 ID 唯一标识 name 员工姓名 xinzi 薪资 fenzu 部门分组标识 语句:select a.* from xinzi as a,(select b.name,MAX(b.xinzi) as xinzi,b.fenzu from xinzi as b group by b.fenzu) as cwhere a.fenzu = c.fenzu and a.xinzi = c.xinzi;原创 2021-11-15 11:40:57 · 4584 阅读 · 0 评论 -
MySQL 报错:1045 - Access denied for user‘root‘@‘61.140.26.8‘(using password: YES)
报错解释:拒绝用户访问;应该是root用户没有给对权限或者是没有root用户。解决办法:给root用户一个权限,或者增加一个新用户。查看root权限或者新增用户:mysql 查看MySQL的用户权限与新增MySQL用户_小洪帽i的博客-CSDN博客修改当前用户登录权限:mysql Navicat连接mysql报错 1130-host ‘xxx.xxx.xxx.xxx‘ is not allowed to connect to this MySQL server_小洪帽i的博客-CSD原创 2021-11-01 16:24:22 · 141 阅读 · 0 评论 -
MySQL 导入数据表报错:1067 - Invalid default value for ‘created_at‘
使用 Navicat 导入数据表报错。报错原因:MySQL版本不匹配,导致兼容性的问题。一般发生在时间类型的字段上:datetime解决:放宽兼容即可。查看sql_modeshow variables like 'sql_mode';修改sql_mode//修改全局的 sql_modelset global sql_mode='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,N...原创 2021-10-29 11:36:17 · 2317 阅读 · 0 评论 -
MySQL 查询总订单量和总销售金额与当天的订单量和当天的销售金额
一、平常使用MySQL查询的话,都是这样写的语句://查询总订单量与总销售金额select count(id) as order_nums,sum(price) as order_price from order//查询当天订单量与当天销售金额select count(id) as day_nums,sum(price) as day_price from order where time >= '2021-10-01 00:00:00' and time <= '2021-10原创 2021-10-25 17:09:12 · 11855 阅读 · 4 评论 -
MySQL SUM() 带条件的求和方法与多条件的求和方法
一、单一的求和。select sum(value) as value from table where user_id = 1 and type = 6 and type_son = 2value 为求和的字段。as 后面是 sum 求和后给它一个名称。二、SQL语句中嵌套语句多条件求和。select (select sum(value) from table where type = 6 and type_son = 1) as xj0,(select sum(va原创 2021-10-22 14:41:36 · 42361 阅读 · 1 评论 -
MySQL 按照一个字段不同的值进行统计优化
例如我们需要统计年龄段的有多少人:如果我们没有进行优化的话,就是这样写的MySQL语句,看下图这样的话,会对数据库进行了7次的访问,查询速度也是极差的。如何优化呢?这样优化只会和MySQL进行一次的交互。提高查询速度。如果有更优的查询方案,可以在下方评论给出您的答案喔!...原创 2021-10-20 17:29:17 · 142 阅读 · 2 评论 -
MySQL 根据用户ID查询某一天的消费汇总,以及按照指定时间查询数据
根据用户ID查询某一天的消费汇总select uid,SUM(price) as prices from xiaofei where FROM_UNIXTIME(time,'%Y-%m-%d') = '2021-08-08' GROUP BY uid根据用户ID查询某一个月的消费汇总select uid,SUM(price) as prices from xiaofei where FROM_UNIXTIME(time,'%Y-%m') = '2021-08' GROUP BY uid原创 2021-10-13 12:24:23 · 1431 阅读 · 0 评论 -
MySQL 报错[Err] 1055 - Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregat
报错:使用 group by 导致错误[Err] 1055 - Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'myphp.xiaofei.id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_gr原创 2021-10-12 01:25:08 · 6005 阅读 · 2 评论 -
MySQL 查询数据报错Call to a member function fetchAll() on boolean
报错:Fatal error: Uncaught Error: Call to a member function fetchAll() on boolean翻译:致命错误:未捕获错误:调用布尔值上的成员函数fetchAll()解决:fetchAll(PDO::FETCH_OBJ)在 fetchAll 里面加上 PDO::FETCH_OBJ按照对象的形式输出,类似于以前的mysql_fetch_object()更多 fetchAll 参数:PDO::FETCH_.原创 2021-10-12 01:17:41 · 8119 阅读 · 0 评论 -
MySQL 根据指定某一天的时间查询数据
语句:select * from xiaofei where FROM_UNIXTIME(time,'%Y-%m-%d') = '2021-08-08'上面的语句,只要是在 2021年8月8日内的数据,全部会被读取出来。语法:FROM_UNIXTIME(unix_timestamp,format)返回表示 Unix 时间标记的一个字符串,根据format字符串格式化。format可以包含与DATE_FORMAT()函数列出的条目同样的修饰符。根据format字符串格式化date值。..原创 2021-10-11 19:32:03 · 2580 阅读 · 3 评论 -
MySQL 5.7密码过期ERROR 1862 (HY000): Your password has expired. To log in you must change
报错:MySQL5.7密码过期ERROR 1862 (HY000): Your password has expired. To log in you must change翻译:错误1862(HY000):你的密码已经过期。登录必须改变它使用一个客户端,支持过期的密码。1、编辑 MySQL 的配置文件:vi /etc/my.cnf//在这个 [mysqld] 下面添加内容[mysqld]skip-grant-tables:wq #保存退出2、进入my.原创 2021-10-09 17:10:13 · 2465 阅读 · 0 评论 -
mysql 异构索引表的概述
1234原创 2021-08-12 16:24:05 · 1181 阅读 · 0 评论 -
Linux 连接 mycat
安装 Java一、去Oracle官网下载需要安装的jdk版本,我这里用的是jdk-8u181-linux-x64.tar.gz或者链接:https://pan.baidu.com/s/1JdaSdT0lVI-SSZarLEZUcA提取码:cd5m二、将该压缩包放到/usr/local/jdk目录下,jdk目录需要自己手动创建,也可以叫java,名字自己随意取(见名知意),然后解压该压缩包,输入如下指令:[root@localhost src]# tar -zxvf jdk-8u20-lin.原创 2021-08-11 15:09:10 · 753 阅读 · 0 评论 -
Mycat 三大配置文件详解server.xml / schema.xml / rule.xml
12345原创 2021-08-11 15:08:27 · 1304 阅读 · 0 评论 -
Window 下连接 mycat
注意:使用 mycat 需要先安装 jdk1.7 版本以上jdk 安装参考这里:https://jingyan.baidu.com/article/6b97984dd257b41ca2b0bf86.html第一步:从官网下载解压后目录如下(1.6版本)下载地址:https://github.com/MyCATApache/Mycat-download第二步:正常启动文件在 bin 文件下进入 bin 目录,启动文件为:mycat.bat详细请看这个文章:https:/..原创 2021-08-11 11:46:27 · 104 阅读 · 0 评论 -
mysql 分库分表介绍与水平切分和垂直切分的讲解
分库分表的介绍当一个表太大不利于维护时,可考虑将大表拆分成小表,当然,这些表是属于同一个数据库的,这种技术成为分表;当一个数据库的处理能力不够支撑业务,增加CPU的作用也十分有限时,就可能需要将部分移到表的数据库,以增加系统处理能力,这种技术称为分库;通过精心的数据模型设计,将大的业务表拆分成小表,再将一系列小表分到不同的服务器,使得每台服务器都能独立处理部分业务,这种技术称为水平拆分,俗称分库分表。分表的数量可以和物理的机器数不一致,分表数量称为逻辑份数,分库的数量称为物理份数,当逻辑份数大于物理份数时原创 2021-08-11 10:50:55 · 442 阅读 · 0 评论 -
mysql 表分区的类型介绍与分区类型演示和分区的原理
表分区的类型介绍MySQL 对于表分区有四种方式分别是:range、list、hash、key 的方式分区range 分区:基于属于一个给定连续区间的列值,把多行分配给分区。list 分区:类似于按 range 分区,区别在于 list 分区是基于列值匹配一个离散值集合中的某个值来进行选择。hash 分区:基于用户定义的表达式的返回值来进行选择的分区,该表达式使用将要插入到表中的这些行的列值进行计算。这个函数可以包含 MySQL 中有效的、产生非负整数值的任何表达式。key 分区:类似于按 ha原创 2021-08-10 18:51:01 · 885 阅读 · 0 评论 -
mysql 数据表分区与分表介绍
什么是分表?分表是将一个大表按照一定的规则分解成多张具有独立存储空间的实体表,我们可以称为子表,每个表都对应三个文件,MYD数据文件,MYI索引文件,frm表结构文件。这些子表可以分布在同一块磁盘上,也可以在不同的机器上。用户读写的时候根据事先定义好的规则得到对应的子表名,然后去操作它。什么是分区?分区和分表相似,都是按照规则分解表。不同在于分表将大表分解为若干个独立的实体表,而分区是将数据分段划分在多个位置存放,可以是同一磁盘也可以在不同的机器。分区后,表面上还是一张表,但数据散列到多个..原创 2021-08-10 17:24:23 · 1202 阅读 · 0 评论 -
负载均衡集群-Keeplived 介绍与安装和配置使用,实现mysql高可用搭建
Keepalived 介绍Keepalived 的作用是检测服务器的状态,如果有一台服务器宕机,或工作出现故障,Keepalived 将检测到并将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的工作,当服务器工作正常后 Keepalived 自动将服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的服务器。Keepalived 安装安装 Keepalived 需要的扩展# 安装依赖[root@localhost src]# yum inst原创 2021-08-09 16:17:55 · 247 阅读 · 0 评论 -
mysql 解决忘记密码
首先,打开mysql的配置文件:/etc/my.cnf在 [mysqld] 下面添加 skip-grant-tables;然后 :wq 保存退出连接mysql服务,再更改密码[root@localhost mysql]# mysql -uroot# 刷新mysqlmysql> flush privileges;# 修改密码mysql> alter user "root"@"localhost" identified by "root";# 刷新mysqlmys.原创 2021-08-09 10:48:47 · 173 阅读 · 0 评论 -
负载均衡集群-haproxy的介绍与配置
HAProxy 介绍https://www.haproxy.org/ (官方网站)https://www.haproxy.org/download/1.8/src/ (下载地址)http://cbonte.github.io/haproxy-dconv/1.8/configuration.html (文档Haproxy 1.8 文档)HAProxy 是一个使用C语言编写的 自由及开放源代码软件,其提供高可用性、负载均衡,以及基于 TCP 和 HTTP 的应用程序代理。HAProxy 特别适用于原创 2021-08-09 09:20:46 · 180 阅读 · 0 评论 -
mysql 主从服务-对于主从延迟检测与处理
主从延迟检测Master 服务器和 Slave 服务器连接时,创建 Binlog dump thread 以发送 bin log 数据:一个 Binlog dump thread 对应一个 slave 服务器;Binlog dump thread 从 bin log 获取数据时会加锁,获取到数据后,立即释放锁;当 slave 服务器收到 START_SLAVE 命令时,会创建 I/O thread 和 SQL thread:I/O thread 以拉的方式,从 Master 读取事件,并存原创 2021-08-07 15:10:27 · 357 阅读 · 0 评论 -
mysql 主从服务- 数据不一致使用pt-table-sync工具恢复数据
我们可以通过使用一个工具 pt-table-sync 进行数据的同步。工具的安装,请看这篇文章:https://blog.csdn.net/qq_39408664/article/details/119422712手册地址:https://www.percona.com/doc/percona-toolkit/LATEST/pt-table-sync.html首先,我们查询一下数据的对比在主库中执行:如上图,执行效验后,需要进行多余的数据删除。执行打印命令:# 打印信息,但原创 2021-08-06 15:50:05 · 460 阅读 · 0 评论 -
mysql 主从服务-主从复制数据一致性校验出现的问题
使用校验命令出现的问题pt-table-checksum --nocheck-replication-filters --replicate=check_data.checksums --databases=mytest --tables=user --user=slave --password=slave问题一:08-06T09:41:00 DBI connect(’;host=localhost;mysql_read_default_group=client’,‘slave’,…) failed原创 2021-08-06 11:23:54 · 596 阅读 · 0 评论 -
mysql 主从服务-主从复制数据一致性校验
在理想情况下,备库和主库的数据应该是完全一样的。但事实上备库可能发生错误并导致数据不一致。即使没有明显的错误,备库同样可能因为 MySQL 自身的特性导致数据不一致,例如 MySQL 的Bug感、网络中断、服务器宕机等,非正常关闭或者其他一些错误。按照我们的经验来看,主备一致应该是一种规范,而不是例外,也就是说,检查你的主备库一致性应该是一个日常工作,特别是当使用备库来做备份时尤为重要,因为肯定不希望从一个已经损坏的备库里获得备份数据。我们可以使用 percona-toolkit 工具做校验,而该工具包原创 2021-08-06 11:23:10 · 537 阅读 · 0 评论 -
mysql 主从服务-实现主从复制
主节点与从节点配置一、Master 节点配置单 MySQL 问题:性能问题数据备份问题多 MySQL 好处:性能问题 – 不一定提高数据冗余MySQL 支持一台主服务器同时向多台从服务器进行复制操作,从服务器同时可以作为其他从服务器的主服务器,如果MySQL主服务器访问量比较大,可以通过复制数据,然后在从服务器上进行查询操作,从而降低主服务器的访问压力,同时从服务器作为主服务器的备份,可以避免主服务器因为故障数据丢失的问题。MySQL 数据库复制操作大致可以分成三个步骤:原创 2021-08-04 19:39:30 · 305 阅读 · 0 评论 -
xtrabackup备份报错:Error : failed to fetch query result SELECT server _ uuid , local , replication
Error : failed to fetch query result SELECT server _ uuid , local , replication,storage_engines FROM performance_schema.log_status: Access denied; you need (atleast one of) the BACKUP_ADMIN privilege(s) for this operation这个问题的意思是,你当前使用的这个备份的账号没有备份的权限,怎么解原创 2021-08-04 16:47:35 · 913 阅读 · 0 评论 -
mysql 主从服务-主从复制备份
不同类型的数据库备份,所能应付的情况是不一样的,而且,数据库的备份同时也还具有其他很多的作用。相信每个人对数据库备份作用的理解都会有差别。下面就列举我个人理解的要用到数据库备份的常见情况:一、数据丢失应用场景人为操作失误造成某些数据被误操作。软件BUG造成数据部分或全部丢失。硬件故障造成数据库数据部分或全部丢失。因安全漏洞,入侵者将数据恶意破坏。二、非数据丢失应用场景特殊应用场景下基于时间点的数据恢复。开发测试环境数据库搭建。相同数据库的新环境搭建。数据库或数据迁移。上面所原创 2021-08-04 16:35:37 · 252 阅读 · 0 评论 -
mysql 查看MySQL的用户权限与新增MySQL用户
查看MySQL用户权限使用: show grants for 账户名;新增MySQL用户#首先连接mysql(123456 是你的密码)[root@localhost ~]# mysql -uroot -p123456#进入 mysql 库mysql> use mysql;#新建一个用户 ( starsky 是新用户名 123456 是密码 )mysql> create user `starsky`@`%` identified by '123456';#给原创 2021-08-04 15:38:16 · 306 阅读 · 0 评论 -
mysql mydumper-0.9.1.tar.gz下载
链接:https://pan.baidu.com/s/1xKr2Hg1dFunIuzLO3RGoCw提取码:u48j原创 2021-08-04 10:39:39 · 164 阅读 · 0 评论 -
percona-xtrabackup-80-8.0.14-1.el7.x86_64.rpm
链接:https://pan.baidu.com/s/1key7Hpdx63aohgKyMAdrCw提取码:nelq原创 2021-08-04 10:37:18 · 535 阅读 · 2 评论 -
mysql Navicat连接mysql报错 1130-host ‘xxx.xxx.xxx.xxx‘ is not allowed to connect to this MySQL server
意思是你当前的用户没有连接MySQL的权限在 Linux 里面链接数据库修改当前账号的权限update mysql.user set user.host='%' where user.user='root';flush privileges;然后就可以连接MySQL了。如果继续报错:1251 -Client does not support authentication protocol requested by server consider upgrading MYSQ..原创 2021-08-03 11:46:59 · 88 阅读 · 0 评论 -
mysql 主从服务-主从复制原理
MySQL 主从复制涉及到三个线程,一个运行在主节点(log dump thread),其余两个(I/O thread , SQL thread)运行在从节点,如下图所示:上面两张图是没有区别的,只是在于大家能理解哪一张就看哪一张。主节点 log dump 线程当从节点连接主节点时,主节点会为其创建一个 log dump 线程,用于发送和读取 bin-log 的内容。在读取 bin-log 中的操作时,log dump 线程会对主节点上的 bin-log 加锁,当读取完成,在发送给从节点之前转载 2021-08-02 21:57:22 · 84 阅读 · 0 评论 -
mysql 主从服务-主从复制概述
MySQL 数据库支持单向、双向、链式级联、环装等不同业务场景的复制。在复制过程中,一台服务器充当主服务器(Master),接收来自用户的内容更新,而一个或多个其他的服务器充当从服务器(Slave),接收来自主服务器 binlog 文件的日志内容,解析出 SQL 重新更新到从服务器,使得主从服务器数据达到一致。应用场景MySQL 主从复制集群功能使得 MySQL 数据库支持大规模高并发读写称为可能,同时有效地保护了物理服务器宕机场景的数据备份。应用场景1:从服务器作为主服务器的实时数据备份原创 2021-08-02 18:21:15 · 89 阅读 · 0 评论