mysql
文章平均质量分 75
现实、太残忍
这个作者很懒,什么都没留下…
展开
-
centos linux安装mysql8.0
1、去https://dev.mysql.com/downloads/file/?id=476386下载对应版本的mysql安装包2、scp到服务器上,解压tar -xvf 压缩包3、安装顺序: 1、先删除以前的mysql-lib(系统自带的版本过低)包 2、community-common包 3、mysql-lib包 4、community-client包 ......原创 2020-02-16 11:46:06 · 502 阅读 · 0 评论 -
mysql索引原理
mysql索引原理首先介绍一款可以帮助理解数据结构的网站:https://www.cs.usfca.edu/~galles/visualization/Algorithms.html一、数据结构索引是一种特殊的数据结构。可以帮助我们快速查询到数据。(1)二叉树二叉树是一种特殊的树,每个节点最多有两个子节点,值从左到右依次递增。例如:当想查询值为11的数据时,如果没有索引要按顺序查找多次,有索引只查三次,加速了查询数据。问:为什么索引的数据结构不用二叉树?因为当值依次递原创 2022-05-28 20:24:49 · 8341 阅读 · 1 评论 -
mysql安装libaudit_plugin.so审计插件
一、下载插件https://bintray.com/mcafee/mysql-audit-plugin/release/1.1.7-805#files解压的内容如图:二、执行offset-extract.sh脚本,参数是mysqld全路径三、修改my.cnf配置[mysqld]plugin-load=AUDIT=libaudit_plugin.soaudit_offsets=7824, 7872, 3632, 4792, 456, 360, 0, 32, 64, 1...原创 2021-02-27 10:02:26 · 2162 阅读 · 1 评论 -
mysql安装connection_control限制登录次数插件
Connection-Control插件用来控制客户端在登录操作连续失败一定次数后的响应的延迟。可防止客户端暴力破解。一、查询插件是否安装如果有connection_control则已安装,没有则继续下一步。二、安装插件在mysql5.7后mysql/data/lib/plugin目录默认增加了connection_control.so插件,安装即可:install plugin connection_control soname "connection_control..原创 2021-02-26 09:26:10 · 17798 阅读 · 4 评论 -
mysql设置用户密码过期时间
设置全局默认密码过期时间修改my.cnf配置文件:[mysqld]default_password_lifetime=90 #密码90天过期或是[mysqld]default_password_lifetime=0 #密码永不过期或运行时修改:SET GLOBAL default_password_lifetime = 90;设置某用户的密码过期时间#密码90天过期:ALTER USER ‘testuser’@‘localhost' PASSWORD EXPI.原创 2021-02-25 18:32:37 · 7834 阅读 · 0 评论 -
mysql安装validate_password密码校验插件
一、查询插件1、登录mysql,查询已安装的插件:show plugins;2、查询mysql插件目录位置:show variables like "%plugin_dir%";可以看到mysql自带validate_password插件只是没有安装二、安装插件:第一种方式(推荐):命令执行:install plugin validate_password soname 'validate_password.so';运行时注册插件。无需重启mysql第二.原创 2021-02-25 18:15:56 · 12975 阅读 · 1 评论 -
mysql开启ssl
mysql的安装参考:https://blog.csdn.net/sumengnan/article/details/108736935如何打开mysql ssl?1、先检查mysql是否已经开启了sslyes是已经打开了,如果是DISABLE则表示没有。2、停止mysqlservice mysqld stop或ps + kill方式3、执行mysql_ssl_rsa_setup安装在mysql bin目录下有mysql_ssl_rsa_setup文件,执行它开始安装s.原创 2021-02-25 16:05:47 · 12841 阅读 · 0 评论 -
mysql innodb临时表btmp1文件太大
某日生产环境(数据库实例)告警,磁盘使用率过高!检查发现是由于mysql的data目录的ibtmp1文件太大,达到了30GB一、ibtmp1文件是干嘛的?mysql官方文档:https://dev.mysql.com/doc/refman/5.7/en/innodb-temporary-tablespace.html就是用来存放临时表查询时的数据。二、ibtmp1增长的原因是什么?主要与SQL有关,尤其是大量的分组聚合,排序,join查询SQL.通常如下情况会造成iptmp.原创 2021-01-25 20:11:31 · 649 阅读 · 0 评论 -
mysql查询字段是否包含汉字
使用 SELECT column FROM table WHERE length(column)!=char_length(column)当字符集为UTF8时:使用length:一个汉字长度为3 使用char_length:一个汉字长度为1所以在没有汉字时使用length和char_length结果一样。有汉字时最好使用char_length获取字符长度更准确。测试...原创 2021-01-25 12:34:03 · 1791 阅读 · 0 评论 -
mysql各种锁
包括全局锁、表锁(表锁、元数据锁、自增锁)、行锁(行锁、间隙锁、临键锁、共享锁、排他锁、意向锁、插入意向锁)一、全局锁(FUWRL)语句为:Flush tables with read lock 。可以对整个数据库实例加锁,让整个库处于只读状态。使用场景是全库逻辑备份时。还有一种全局锁方法是set global readonly=true(不建议用),原因:readonly值用来判断主从库时无效。 如果出问题。FUWRL方法当客户端断开就自动释放了全局锁,而readonly不会。...原创 2021-01-17 18:47:55 · 850 阅读 · 0 评论 -
mysql事务隔离级别和spring Transaction事务传播
事务的ACID原则是什么?原子性(atomicity):最小且不可分割的。要么都执行,要么都不执行。 一致性(consistency):事务的执行使得数据库从一种正确状态转换成另一种正确状态 隔离型(isolation):各事务同步执行时,所获取的数据,不受其他事务的影响。 持久性(durability):事务提交之后,结果永远保存在数据库中。并发下事务会产生什么问题?脏读:事务A读取了事务B未提交的数据。 不可重复读:在同一个事务里面读取了两次某个数据,但是读出来的数据不一致。 幻读:原创 2021-01-14 21:26:51 · 161 阅读 · 0 评论 -
Starting MySQL. ERROR! The server quit without updating PID file (/mnt/mysql/data/localhost.pid).
mysql启动服务时报错Starting MySQL. ERROR! The server quit without updating PID file (/mnt/mysql/data/localhost.pid).看不到报错原因,很慌张,找不到mysql错误日志。别慌!1、首先我们要知道service启动的mysql,都会在/etc/init.d/下有个mysql文件:内容部分如下:可以看出start启动服务时,实际脚本调用的是mysqld_safe启动2、找到bin/m原创 2021-01-12 14:23:04 · 20052 阅读 · 1 评论 -
阿里云mysql数据备份恢复数据到本地mysql(备份+binlog)
参考:https://help.aliyun.com/knowledge_detail/41817.html?spm=a2c4g.11186623.4.3.49bf4292RNNrSC起因:生产环境由于定时任务没有关闭。本不该执行的定时任务被执行。导致重要业务数据丢失!一、检查备份情况由于事发时间为1月5日1点30分(定时任务执行时间)。查看阿里云备份,最近的一次备份是1月2日7点43分的(1月5日的备份不能用):所以要找1月2日7点43分至1月5日1点30分的binlog日志原创 2021-01-05 18:12:03 · 2148 阅读 · 0 评论 -
mysql备份与恢复
备份分为增量备份和全量备份一般我们设置每天一次增量备份和7天一次全量备份。如果是误删恢复的话,则需要找出binlog点,根据之前的备份使用“全备+binlog”恢复的方法恢复数据。一、增量备份1、登录mysql查看binlog状态show variables like ‘%log_bin%’;2、如果没打开,首先要开启binlog,在my.cnf中配置后重启mysql[mysqld]log-bin=mysql-binserver-id = 1(单个节点id)expi...原创 2020-11-05 16:55:01 · 137 阅读 · 0 评论 -
mysql命令查看修改表结构
一、查看表结构 SHOW CREATE TABLE 表名; -- 查看表基本结构 DESCRIBE 表名; (同desc 表名) -- 查看表详细定义 二、修改表1. 修改表名ALTER TABLE 旧表名 RENAME 新表名;alter table table_a rename table_b;2. 修改表字段数据类型ALTER TABLE 表名 MODIFY 字段名 数据类型;alter table table_a mo...原创 2020-10-12 16:57:35 · 703 阅读 · 0 评论 -
redhat linux安装mysql5.6版(非常简单)
1、去mysql官网下载rpm包地址:https://downloads.mysql.com/archives/community/注意、注意、注意坑:只下载linux-generic版的。就算你的服务器是红帽也不要下载红帽的。因为根本就起不来服务,我的就是红帽4.8版的,折腾了一天,最后用了linux-generic版的才可以启动了。2、解包tar -xvfMySQL-5.6.12-2.linux_glibc2.5.x86_64.rpm-bundle.tar...原创 2020-12-18 14:35:59 · 2556 阅读 · 2 评论 -
Windows mysql8zip版(没有my.ini)安装步骤
1、添加目录到path路径2、执行mysqld --initialize(初始化data)3、注册成服务mysqld install mysql其他服务命令: 启动服务用:net start mysql 停止服务用:net stop mysql 删除服务用:sc delete mysql4、去mysql安装的datadir目录下找到***.err文件。里面第二行有root临时密......原创 2020-02-16 10:54:11 · 4012 阅读 · 0 评论 -
mysql id自增恢复从1开始
altertableuserauto_increment=1;(把user表的自增id重置为1)原创 2020-08-20 14:43:10 · 1691 阅读 · 0 评论 -
Can not read response from server. Expected to read 4 bytes, read 0 bytes be
springboot项目启动时连接mysql时提示,Can not read response from server. Expected to read 4 bytes, read 0 bytes be……解决办法:1、检查数据库连接池的参数(尽量开发环境连接数不要设置太大)spring.datasource.max-active=100spring.datasource.max-idle=20spring.datasource.min-idle=8spring.datasource.原创 2020-06-05 10:14:36 · 61531 阅读 · 1 评论 -
mysql命令导出导入数据
第一种方法:命令导入sql文件:mysql -uroot -p123456 数据库名 > c:/qwe.sql(文件名)当导入sql文件时,服务器提示:Lost connection to MySQL server during query或server has gone away说明导入文件太大,或是导入超时,需要设置允许sql文件的大小在my.ini文件的mysq......原创 2020-02-16 11:04:23 · 5345 阅读 · 0 评论 -
记一次mysql优化过程
有两个表 ,api_base(接口基础表)和api_agent_log(接口日志表)api_base里保存了接口名称,有几条数据api_agent_log里关联了api_base的id,还有接口调用时间和用时时间等(接口每调用一次,在log表里插入一条数据)有230万条数据目前任务需要查询:2020-02-12各接口调用次数和平均执行时间一、刚开始是以下sql,但查询时间太长需要优...原创 2020-02-21 12:15:39 · 284 阅读 · 0 评论 -
mysql date_format无法格式化小时分钟返回null
我想格式mysql格式化“08:54”,使用date_format("08:45",'%H:%i') ,但是返回null。解决办法:关于时分秒要使用time_format("08:45",'%H:%i') 。原创 2020-02-21 11:54:50 · 1861 阅读 · 0 评论