数据库
文章平均质量分 87
yshir-phper
这个作者很懒,什么都没留下…
展开
-
MySQL数据库优化技巧
MySQL优化主要分为以下四大方面:设计:存储引擎,字段类型,范式与逆范式。功能:索引,缓存,分区分表。:主从复制,读写分离,复载均衡。合理SQL:测试,经验。一、存储引擎在创建表的时候我们使用sql语句,Create table tableName () engine=myisam|innodb;这里就指明了存储引擎是myisam还是innodb。存储引擎是一种用来存储MySQL中对象(记录和索引)的一种特定的结构(文件结构),处于MySQL服务器的最底层,直接存储数据。...转载 2022-08-31 11:52:15 · 563 阅读 · 0 评论 -
索引基础知识
索引介绍索引是一种数据结构,是在表上创建的。是对数据库表中的一列或者是多列的值进行排序的一种结果,使用索引可以提高查询速度,避免全表扫描。优势:提高查询效率,避免全表扫描缺点:过多的索引会导致CPU的使用率过高索引分类普通索引:没有任何限制条件,可以给任何类型的字段创建普通索引主键索引:使用primary key修饰的字段会自动创建索引唯一性索引:使用unique修饰的字段,值不能重复,主键索引隶属于唯一性索引单列索引:在一个字段上创建索引多列索引:在表中多个字段上创建索引。...转载 2022-08-31 11:00:54 · 204 阅读 · 0 评论 -
MySQL优化
MySQL优化方向:在设计上:字段类型,存储引擎,范式在功能上:索引,缓存,分库分表在架构上:集群,主从复制,负载均衡,读写分离SQL优化1.插入优化大量数据采用批量插入形式事务设置手动提交,MySQL默认是自动提交,意味着每写一个SQL事务就自动提交,可能会频繁的涉及事务开始和提交,所以建议手动提交2.order by优化。...转载 2022-08-31 10:50:14 · 99 阅读 · 0 评论 -
mysql 5.7 emoji_解决mysql 5.7保存emoji 失败问题
测试机mysql版本为5.7.21,默认引擎为InnoDB,默认字符集为utf8。字段插入Emoji表情具体报错内容如下:Error updating database. Cause: java.sql.SQLException: Incorrect string value: '\\xF0\\x9F\\x98\\x84' for column 'name' at row 1### The error may involve com.lf.lffileserviceupload.dao.Fi转载 2021-09-27 21:36:51 · 670 阅读 · 0 评论 -
CentOs7.9安装mysql8教程
参考了https://blog.csdn.net/one312/article/details/81051023这篇文章以及评论,解决了我误删系统自带Python和yum的问题。先查下自己的centos的版本:cat /etc/redhat-release转载 2021-09-10 11:12:52 · 4049 阅读 · 0 评论 -
mysql负载均衡集群
一、haproxy介绍与配置1、haproxy介绍 HAProxy 是一个使用C语言编写的自由及开放源代码软件,其提供高可用性、负载均衡,以及基于 TCP 和 HTTP 的应用程序代理。 HAProxy 特别适用于那些负载特大的 web 站点,这些站点通常又需要会话保持或七层处理。 HAProxy 运行在当前的硬件上,完全可以支持数以万计的并发连接。并且它的运行模式使得它可以很简单安全的整合进您当前的架构中, 同时可以保护你的 web 服务器不被暴露到网络上。 HAProxy .原创 2020-11-22 17:16:30 · 618 阅读 · 2 评论 -
搭建MySQL高可用负载均衡集群
简介使用MySQL时随着时间的增长,用户量以及数据量的逐渐增加,访问量更是剧增,最终将会使MySQL达到某个瓶颈,那么MySQL的性能将会大大降低。这一结果也不利于软件的推广。那么如何跨过这个瓶颈,提高MySQL的并发量呢?方法有很多,分布式数据库、读写分离、高可用负载均衡、增加缓存服务器等等。之前的文章里已经介绍了读写分离的方案了,接下来我将讲解MySQL高可用负载均衡这一方法。其中实现高可用负载均衡的方法有很多,例如LVS+keepalived组合实现、haproxy+keepalived组转载 2020-11-22 17:22:07 · 665 阅读 · 0 评论 -
MySQL——性能优化
性能优化的思路1、首先需要使用慢查询功能,去获取所有查询时间比较长的SQL语句。MySQL——慢查询2、其次使用explain命令去查看有问题的SQL的执行计划。MySQL——执行计划EXPLAIN3、最后可以使用show profile[s] 查看有问题的SQL的性能使用情况。MySQL高级:show profileSQL查询语法顺序和执行顺序MySQL查询语法顺序SELECT FROM LEFT JOIN ON WHERE GROUP BY HAVING ORDER B转载 2020-11-18 08:13:38 · 186 阅读 · 0 评论 -
docker-mysql8-主从
一、准备官方镜像官方docker 镜像 https://hub.docker.com/_/mysqldocker pull mysql:latest# 创建mysql网络docker network create mysql-net --subnet 172.1.2.0/24docker volume rm $(docker volume list |awk '{if(NR>0) print $2}')主从规划role ip port 复制账号 pas转载 2020-05-24 11:48:52 · 404 阅读 · 0 评论 -
mycat 9066管理端口 常用命令
1、连接mycat 9066管理端口 命令:mysql -uroot -proot -P9066 -h127.0.0.1 -u:用户名 -p:密码 -P:端口 -h:ip地址例:linux路径切换到mycat安装路径的bin目录中:输入命令显示如此则登录成功。2、显示后端物理库连接信息,包括当前连接数,端口等信息。 命令:Show@@backend3、显示当前前端客户端连接情况 命令:Show@@connection4、当前线程池的..转载 2020-05-21 10:08:16 · 232 阅读 · 0 评论 -
mycat在windows环境下安装和启动
一、下载从如下地址下载mycat的安装包:http://www.mycat.io/eg:Mycat-server-1.6.6.1-release-20181031195535-win.tar.gz二、解压解压下载的安装包三、安装安装mycat前需要先安装jdk和mysql。mycat1.6版本建议使用的jdk是1.7以上版本,mysql建议使用5.6版本。1、 JDK的下载(当前演示版本为jdk 1.8.0_171) 1.下载地址:http://www.ora..原创 2020-05-20 11:34:55 · 957 阅读 · 0 评论 -
mycat——数据库中间件
myCAT 是一个彻底开源的,面向企业应用开发的“大数据库集群” 支持事务、ACID、可以替代Mysql的加强版数据库 ? 一个可以视为“Mysql”集群的企业级数据库,用来替代昂贵的Oracle集群 ? 一个融合内存缓存技术、Nosql技术、HDFS大数据的新型SQL Server ? 结合传统数据库和新型分布式数据仓库的新一代企业级数据库产品 ? 一个新颖的数据库中间件产品。一.什么是MyCat?MyCat是目前最流行的基于Java语言编写的数据库中间件,是一个实现了MySql协议的服务器,其核原创 2020-05-20 11:15:53 · 541 阅读 · 0 评论 -
主从延迟问题
一、主从延迟问题1、原因与监控首先需要了解为什么会存在延迟的问题master 服务器和 slave 服务器连接时,创建 Binlog dump thread 以发送 bin log 数据:1. 一个 Binlog dump thread 对应一个 slave 服务器;2. Binlog dump thread 从 bin log 获取数据时会加锁,获取到数据后,立即释放锁。当 slave 服务器收到 START_SLAVE 命令时,会创建 I/O thread 和 SQL thr原创 2020-05-18 22:25:37 · 484 阅读 · 0 评论 -
数据库优化方案整理
一:优化说明A:有数据表明,用户可以承受的最大等待时间为8秒。数据库优化策略有很多,设计初期,建立好的数据结构对于后期性能优化至关重要。因为数据库结构是系统的基石,基础打不好,使用各种优化策略,也不能达到很完美的效果。B:数据库优化的几个方面可以看出来,数据结构、SQL、索引是成本最低,且效果最好的优化手段。C:性能优化是无止境的,当性能可以满足需求时即可,不要过度优化。二:优化方向1. SQL以及索引的优化首先要根据需求写出结构良好的SQL,然后根据SQL在表中建立有效的索引。转载 2020-05-16 22:25:59 · 134 阅读 · 0 评论 -
SQL查询优化
一、获取有性能问题SQL的三种方法通过用户反馈获取存在性能问题的SQL通过慢查询日志获取存在性能问题的SQL实时获取存在性能问题的SQL二、慢查询日志介绍1、使用慢查询日志获取有性能问题的SQL(1) 参数配置slow_query_log 启动停止记录慢查询日志. 启动:ON;. 如果在已经运行的Mysql中启动慢查询日志功能,可以直接使用set g...转载 2020-05-16 22:23:54 · 631 阅读 · 0 评论 -
mycat 在contos7系统中安装
一、centos7安装java环境1、查看yum源的java包yum -y list java*2、安装java1.8 jdk软件yum install -y java-1.8.0-openjdk.x86_643、查看版本,检测是否安装成功java -version如图中的会显示,表示已经安装java环境成功。echo $JAVA_HOME 查看当前配置文件中都没有关于JAVA_HOME的配置,查看环境变量也为空。查看当前JAVA_HOM...原创 2020-06-27 22:09:01 · 396 阅读 · 0 评论 -
mysql设计
一、MySQL 三大范式1、第一范式1NF是对属性的原子性,要求属性具有原子性,不可再分解;2、第二范式2NF是对记录的惟一性,要求记录有惟一标识,即实体的惟一性,即不存在部分依赖;3、第三范式3NF是对字段的冗余性,要求任何字段不能由其他字段派生出来,它要求字段没有冗余,即不存在传递依赖;二、索引数据结构目前大部分数据库系统及文件系统都采用B Tree或其变种B+Tree作为索引结构相关概念介绍B-树(B树):多路搜索树,每个结点存储M/2到M个关键字,非叶子结点存原创 2020-05-15 16:45:00 · 154 阅读 · 0 评论 -
MySQL主从数据不一致问题
一、主从复制MySQL数据库复制操作大致可以分成三个步骤:1. 主服务器将数据的改变记录到二进制日志(binary log)中。2. 从服务器将主服务器的binary log events 复制到它的中继日志(relay log)中。3. 从服务器重做中继日志中的事件,将数据的改变与从服务器保持同步。首先,主服务器会记录二进制日志,每个事务更新数据完成之前,主服务器将这些操作的信息记录在二进制日志里面在事件写入二进制日志完成后主服务器通知 存储引擎提交事务。准备: 了解binlog日原创 2020-05-18 23:07:07 · 1329 阅读 · 0 评论 -
LVS+Keepalived使用总结
一、lvs简介和推荐阅读的资料二、lvs和keepalived的安装三、LVS VS/DR模式搭建四、LVS VS/TUN模式搭建五、LVS VS/NAT模式搭建六、keepalived多种real server健康检测实例七、lvs持久性工作原理和配置八、lvs数据监控九、lvs+keepalived故障排除一、LVS简介和推荐阅读的资料 学习LVS+Keepalived必须阅读的三个文档。1、 《Keepalived权威指南》下载见http://...转载 2020-05-13 22:54:52 · 603 阅读 · 0 评论 -
percona-toolkit工具使用介绍
percona-toolkit工具使用介绍 1. pt-heartbeat 1.1 pt-heartbeat 原理 1.2 pt-heartbeat 主要参数介绍 1.3 pt-heartbeat 实战 2. pt-slave-restart 2.1 pt-slave-restart 原理 2.2 pt-slave-restart 主要参数介绍 2.3 pt-slave-restart 实战 3. pt-table-checksum 3.1 p转载 2020-05-13 22:53:40 · 258 阅读 · 0 评论 -
mysql8.0配置文件优化
innodb_buffer_pool# 注:缓冲池位于主内存中,InnoDB用它来缓存被访问过的表和索引文件,使常用数据可以直接在内存中被处理,从而提升处理速度;innodb_buffer_pool_instance# 注:MySQL5.6.6之后可以调整为多个。表示InnoDB缓冲区可以被划分为多个区域,也可以理解为把innodb_buffer_pool划分为多个实例,可以提高并发性,避免在高并发环境下,出现内存的争用问题;innodb_data_file_path# 注:该参数可以指定系统表.转载 2020-05-10 08:50:08 · 1082 阅读 · 0 评论 -
pt-table-checksum安装使用
pt –table -checksumpercona-toolkit系列工具中的一个用途:可以用来检测主、 从数据库中数据的一致性。原理:在主库上运行, 对同步的表进行checksum, 记录下来。 然后对比主从中各个表的checksum是否一致, 从而判断数据是否一致。pt-table-sync用途:用来修复多个实例之间数据的不一致,它可以让主从的数据修复到最...转载 2020-05-07 14:44:20 · 449 阅读 · 0 评论 -
基于docker容器的mysql主从复制
一. mysql主从复制参数 log-bin:搭建主从复制,必须开启二进制日志。server-id: MySQL在同一组主从结构中的唯-标识(主从服务器上该参数不能一致)。server-uuid:从MySQL 5.6 开始有了这个参数,在数据库启动过程中自动生成,每台机器的server-uuid是不一样的。uuid存放在数据目录的auto.cnf文件下。read-only:设置...原创 2020-05-07 14:14:32 · 671 阅读 · 0 评论 -
MySQL主从复制,启动slave时报错Slave failed to initialize relay log info structure from the repository
症状:MySQL主从复制,启动slave时,出现下面报错:mysql> start slave;ERROR 1872 (HY000): Slave failed to initialize relay log info structure from the repository解决办法:查看日志,可以看到报错,原来是找不到./server246-relay-bin.index...转载 2020-05-06 12:25:28 · 542 阅读 · 0 评论 -
mysql: Last_IO_Errno错误代码说明
1005:创建表失败1006:创建数据库失败1007:数据库已存在,创建数据库失败1008:数据库不存在,删除数据库失败1009:不能删除数据库文件导致删除数据库失败1010:不能删除数据目录导致删除数据库失败1011:删除数据库文件失败1012:不能读取系统表中的记录1020:记录已被其他用户修改1021:硬盘剩余空间不足,请加大硬盘可用空间1022:关键字重复,更改记录失...转载 2020-05-04 18:40:14 · 196 阅读 · 0 评论 -
slave status指标解读
一、status指标解读show slave status\G*************************** 1. row *************************** Slave_IO_State: Waiting for master to send event Master_Host: 192....转载 2020-05-04 18:24:59 · 847 阅读 · 0 评论 -
MySQL性能优化(八):数据库性能诊断工具
一、mysqltuner.pl工具的下载及部署解决环境依赖,因为工具是perl脚本开发的,需要perl脚本环境# yum install -y perl*下载脚本在http://mysqltuner.com/下载major-MySQLTuner-perl-1.6.0-142-g42593c6.zip将下载的mysqltuner.pl文件上传到需要测试的mysql服务器中...原创 2020-04-30 23:09:06 · 1357 阅读 · 0 评论 -
Docker部署MySQL主从配置
MySQL之间数据复制的基础是二进制日志文件(binary log file)。一台MySQL数据库一旦启用二进制日志后,其作为master,它的数据库中所有操作都会以“事件”的方式记录在二进制日志中,其他数据库作为slave通过一个I/O线程与主服务器保持通信,并监控master的二进制日志文件的变化,如果发现master二进制日志文件发生变化,则会把变化复制到自己的中继...原创 2020-04-30 22:28:39 · 724 阅读 · 0 评论 -
MySQL优化题
mysql添加索引命令原创 2020-04-30 17:21:33 · 527 阅读 · 0 评论 -
explain分析数据库详解
原创 2020-04-16 10:40:49 · 273 阅读 · 0 评论 -
MySQL性能优化(七):其它优化
一:数据库配置优化mysql是一个高度定制化的数据库系统,提供了很多配置参数,一般都需要根据应用程序的特性和硬件情况对mysql做配置优化,windows配置文件为my.ini,linux为my.cnf常用的优化配置变量如下:# 端口port=3306# 关闭查询缓存query_cache_type=0query_cache_size=0# 内存是影响数据库性能的重要...转载 2020-04-02 16:11:23 · 145 阅读 · 0 评论 -
MySQL性能优化(六):分区
一: 分区简介分区是根据一定的规则,数据库把一个表分解成多个更小的、更容易管理的部分。就访问数据库应用而言,逻辑上就只有一个表或者一个索引,但实际上这个表可能有N个物理分区对象组成,每个分区都是一个独立的对象,可以独立处理,可以作为表的一部分进行处理。分区对应用来说是完全透明的,不影响应用的业务逻辑。分区有利于管理非常大的表,它采用分而治之的逻辑,分区引入了分区键的概念,分区键用于根据某...转载 2020-04-02 16:07:33 · 264 阅读 · 0 评论 -
MySQL性能优化(五):分表
一:为什么要分表?如果一个表的每条记录的内容很大,那么就需要更多的IO操作,如果字段值比较大,而使用频率相对比较低,可以将大字段移到另一张表中,当查询不查大字段的时候,这样就减少了I/O操作 如果一个表的数据量很少,那么查询就很快;如果表的数据量非常非常大,那么查询就变的比较慢;也就是表的数据量影响这查询的性能。 表中的数据本来就有独立性,例如分别记录各个地区的数据或者不同时期的数据...转载 2020-04-02 15:55:21 · 300 阅读 · 0 评论 -
MySQL性能优化(四):SQL优化
一:基础数据准备DROP TABLE IF EXISTS `tbl_user`;CREATE TABLE `tbl_user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(255) DEFAULT NULL, `email` varchar(20) DEFAULT NULL, `age` tinyin...转载 2020-04-02 15:50:54 · 839 阅读 · 0 评论 -
MySQL性能优化(三):索引
一 索引原理如果一本新华字典假如没有目录,想要查找某个字,就不得不从第一页开始查找,一直找到最后一页(如果要找的字在最后一页),这个过程非常耗时,这种场景相当于数据库中的全表扫描的概念,也就是循环表中的每一条记录看看该记录是否满足条件,扫描次数为表的总记录数。新华字典中都会有目录都有查找方法(比如按拼音查找、按部首查找),假如按拼音查找,我们根据拼音就能瞬速定位到要找的汉字,而这个汉字后...转载 2020-04-02 15:17:09 · 162 阅读 · 1 评论 -
MySQL性能优化(二):优化数据库的设计
一:数据库的设计数据库命名:数据库名的命名一般和项目的名称保持一致,不要随意的起名字。 数据库编码: 尽量采用utf8mb4而不使用utf8。MySQL 的“utf8”实际上不是真正的UTF-8,真正的UTF-8是每个字符最多四个字节,而MySQL的“utf8”只支持每个字符最多三个字节。MySQL一直没有修复这个 bug,他们在 2010 年发布了一个叫作“utf8mb4”的字符集,绕过了...转载 2020-04-02 15:09:09 · 188 阅读 · 0 评论 -
mysql性能优化(一)优化方法
一:简介我们常见的数据库性能优化就是SQL语句优化,确实SQL优化是开发者接触到最多的也是最常有的优化手段。作为开发人员我们接触最多的是SQL语句的优化,SQL语句的优化除了调整SQL语句外更多的是通过添加索引来加速查询,表优化(合理设计字段、拆分字段到其它表、分表等)。SQL优化是我们学习的重点,我们将全面详细讲解以上SQL优化,但是SQL优化并不是数据库优化的全部,一般来说数据...转载 2020-04-02 14:51:37 · 267 阅读 · 1 评论 -
mysql5.7配置文件优化
[mysqld]pid-file = /var/run/mysqld/mysqld.pidsocket = /var/run/mysqld/mysqld.sockdatadir = /var/lib/mysql#log-error = /var/log/mysql/error.log# By default we only accept connections...转载 2020-04-02 13:52:30 · 368 阅读 · 0 评论 -
MySql5.7配置文件my.cnf设置
#MySql5.7配置文件my.cnf设置[client]port = 3306socket = /tmp/mysql.sock[mysqld]###############################基础设置######################################Mysql服务的唯一编号 每个mysql服务Id需唯一server-id = 1#服...转载 2020-04-02 13:49:50 · 214 阅读 · 0 评论 -
phpStudy 升级 MySQL5.7
步骤 1.备份原本MySQL 备份:原本phpStudy中的MySQL文件夹改名为MySQL#2.下载MySQL5.7 下载地址:https://dev.mysql.com/downloads/file/?id=4672693.准备工作 将压缩包中的文件夹改名为MySQL,移动到phpStudy\PHPTutorial 下 将其my-defa...原创 2020-03-29 19:45:43 · 587 阅读 · 0 评论