mysql数据库

MySQL深入学习(2)——InnoDB存储引擎

拈花ヽ惹草 提交于 2020-01-25 18:03:43
1. InnoDB存储引擎体系架构 innoDB的存储引擎主要体系结构如上图所示 首先是工作线程:默认7个后台线程,分别是4个io thread(insert buffer、log、read、write),1个master thread(优先级最高),1个锁(lock)监控线程,1个错误监控线程。可以通过show engine innodb status来查看。新版本已对默认的read thread和write thread分别增大到4个,可通过show variables like 'innodb_io_thread%'查看。 每个线程操作的同一个块大内存池:该内存池中会被分为多个区域,分别是缓冲池(buffer pool)、重做日志缓冲池(redo log buffer)以及额外的内存池(additional memory pool)。内存池所负责也就是维护线程需要访问的数据结构、缓存磁盘文件的数据,方便快速读取,同时在对磁盘文件的数据修改之前在这里缓存,以及重做日志缓存等。具体配置可由 show variables like 'innodb_buffer_pool_size' 、 show variables like 'innodb_log_buffer_size' 、 show variables like 'innodb_additional_mem_pool_size

MySQL8.0设置远程访问权限

走远了吗. 提交于 2020-01-25 15:10:41
上一篇文章讲解了重置 MySQL 的密码,有同学反馈无法程连接到数据库,这是因为 MySQL 安装完成后只支持 localhost 访问,我们必须设置一下才可以远程访问,另外还有一些 MySQL 8.0 连接时的一些问题,本文也会一并进行讲解如何解决。 1.登录MySQL mysql -u root -p 输入您的密码 2.选择 mysql 数据库 use mysql; 因为 mysql 数据库中存储了用户信息的 user 表。 3.在 mysql 数据库的 user 表中查看当前 root 用户的相关信息 select host, user, authentication_string, plugin from user; 执行完上面的命令后会显示一个表格 查看表格中 root 用户的 host,默认应该显示的 localhost,只支持本地访问,不允许远程访问。 4.授权 root 用户的所有权限并设置远程访问 GRANT ALL ON *.* TO 'root'@'%'; GRANT ALL ON 表示所有权限,% 表示通配所有 host,可以访问远程。 5.刷新权限 所有操作后,应执行 flush privileges; 6.查看 root 用户的 host 再次执行步骤 2,你会发现 root 用户的 host 已经变成 %,说明我们的修改已经成功,可以远程访问了。 7

Mysql 索引概念,分类,使用技巧,优化分析总结介绍

拜拜、爱过 提交于 2020-01-25 14:05:19
文章目录 概念 有什么用? 分类 物理存储顺序 逻辑存储 数据类型 b+ tree 索引列 存储引擎支持 Innodb Myisam 使用技巧 建索引 用索引 优化分析 常见面试题 参考文章 概念 mysql index官方文档 索引是数据库管理系统中一种数据结构,用以协助快速查询数据库表中数据,典型的索引结构如B+ tree。 有什么用? MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度。 打个比方,如果合理的设计且使用索引的MySQL是一辆兰博基尼的话,那么没有设计和使用索引的MySQL就是一个人力三轮车。 拿汉语字典的目录页(索引)打比方,我们可以按拼音、笔画、偏旁部首等排序的目录(索引)快速查找到需要的字。 分类 物理存储顺序 MySQL的 Innodb 存储引擎的索引分为聚集索引和非聚集索引(二级索引)。 聚集索引是Innodb引擎才有的概念。 为什么说是按照物理存储顺序分类呢?因为聚集索引的逻辑顺序就是数据记录的物理顺序,而非聚集索引却不是如此。 举个例子,聚集索引就像是汉语字典中的拼音索引,字典中的字就是按照这个顺序存的。非聚集索引就像是部首索引,相同偏旁的字在索引页上是相邻的,但是真实的位置却不一定是相邻的。类似的例子还有电话簿,大家自行想象一下。 聚集索引怎么选定呢? 第一个唯一且不能为NULL的列就会被选为聚集索引

Zabbix运维监控平台快速搭建实录

允我心安 提交于 2020-01-25 13:34:39
一、Zabbix运行架构 Zabbix是一个企业级的分布式开源监控解决方案。它能够监控各种服务器的健康型、网络的稳定性以及各种应用系统的可靠性。当监控出现异常时,Zabbix通过灵活i的告警策咯,可以为任何事件配置基于邮件、短信、微信等告警机制。而这所有的一切,都可以通过Zabbix提供的Web界面进行配置和操作,基于Web的前端页面还提供了出色的报告和数据可视化功能。这些功能和特性使运维人员可以非常轻松的搭建一套功能强大的运维监控管理平台。 Zabbix的运行架构图如下: 从图中可以看出Zabbix主要有几个组件,分别是: 1)zabbix应用组件 1)Zabbix Server Zabbix Server是Zabbix的核心组件,是所有配置信息、统计信息和操作数据的核心存储器。它主要负责接收客户端发送的报告信息,同时,所有配置、统计数据及配置操作数据均由其组织进行; 2)Zabbix Database Storage 主要用于存储数据,所有配置信息和Zabbix收集到的数据都被存储在数据库中。常用的数据库有Oracle、Mysql等; 3)Zabbix Web界面 这是Zabbix提供的GUI接口,通常与Zabbix Server运行在同一台物理服务器上; 4)Zabbix Proxy代理服务器 这是一个可选组件,常用于分布监控环境中,代理Server可以代替Zabbix

mysql查询缓存

我与影子孤独终老i 提交于 2020-01-25 13:23:59
mysql查询缓存 1.具体使用 2.查询缓存空间使用情况 3.不使用缓存 4.生成多个缓存 5.禁用缓存 1.具体使用 什么是查询缓存? mysql服务器提供的,用于缓存select语句结果的一种内部内存缓存系统。 如果开启了查询缓存,将所有的查询结果,都缓存起来,使用同样的select语句,再次查询时,直接返回缓存的结果即可 查看缓存设置情况,并给缓存空间设置大小: mysql>show variables like 'query_cache%'; //查询缓存情况 在Mysql目录下找到my.ini进行设置查询缓存 设置缓存容量大小, 并打开查询缓存. 目前不设置, 缓存也是打开的 设置完毕保存,并重启mysql. 再进行查看的话, 可以发现缓存容量变化了. 现在来进行实践下: 可以发现在查询同一个语句的时候, 第一次明显比第二次慢. 因为第一次是从数据库读取的, 而第二次是直接从缓存内读取的. 这次我们先对此语句做一次修改,然后再做一次查询. 可以发现在做修改后, 查询同一条数据, 第一次又变慢了. 因为在数据表数据有发生变化, 或者数据结构有发生变化,则会清空全部的缓存数据, 缓存就会失效了. 2.查询缓存空间使用情况 mysql>show status like 'Qcache%'; 3.不使用缓存 当查询语句使用了不规则的表达式. 例如时间、随机数等; (1

mysql 中 DATE_ADD(date,INTERVAL expr type)

て烟熏妆下的殇ゞ 提交于 2020-01-25 11:48:58
在Hiredmyway中: SELECT if(LENGTH(company_name) > 30, concat(SUBSTRING(company_name, 1, 27), '...'), company_name) AS org_name, count(id) AS num, org_id AS value ,latest_modify_date FROM v_job_search WHERE deleted = 0 AND status = (SELECT code_desc FROM enums WHERE kind = 'JS' AND code = '1' AND deleted = 0) and real_modify_date < date_add(now(),interval -30 minute) # 要同步数据。因为是视图笔数据库慢30分钟。所以要减去30分钟 GROUP BY org_id ORDER BY real_modify_date desc limit 0,20; #取前20值 转自: http://14344twt.blog.163.com/blog/static/475309592010101285018562/ mysql 中 DATE_ADD(date,INTERVAL expr type) 和DATE_SUB(date

mysql双主双从配置

孤街醉人 提交于 2020-01-25 10:20:48
服务器: 主机1:192.168.5.169 从机1:192.168.5.182 主机2:192.168.5.171 从机2: 主机1和主机2互备 在192.168.5.169服务器D:\MySQL\MySQL Server 5.5\my.ini配置文件中添加: server_id=10 log-bin="D:/MySQL/MySQL Server 5.5/data/mysql-bin" log-error="D:/MySQL/MySQL Server 5.5/data/mysql-error" binlog-do-db=test log_slave_updates=1 在192.168.5.171服务器D:\MySQL\MySQL Server 5.5\my.ini配置文件中添加: server_id=20 log-bin="D:/MySQL/MySQL Server 5.5/data/mysql-bin" log-error="D:/MySQL/MySQL Server 5.5/data/mysql-error" binlog-do-db=test log_slave_updates=1 添加之后执行命令,重启数据库使修改生效 主机1授权主机2为从机,主机2授权主机1位从机 在192.168.5.169服务器中执行 GRANT FILE ON *.* TO 'root'@

命令行连接mysql时出现Authentication plugin 'caching_sha2_password' cannot be loaded: 找不到指定的模块

蹲街弑〆低调 提交于 2020-01-25 08:10:57
命令行连接mysql时出现Authentication plugin 'caching_sha2_password' cannot be loaded: 找不到指定的模块。 通过如下命令进入数据库 mysql -uroot -p 2.之后执行如下命令 ALTER USER 'root'@'localhost' IDENTIFIED BY 'abc@123' PASSWORD EXPIRE NEVER; ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'abc@123'; FLUSH PRIVILEGES; ALTER USER 'root'@'localhost' IDENTIFIED BY 'abc@123'; FLUSH PRIVILEGES; 将abc@123换成自己的密码 之后关闭命令行,再次连接mysql即可 作者:邵俊颖 链接:https://www.jianshu.com/p/24f002d16c76 来源:简书 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 来源: CSDN 作者: 小姐不得无礼 链接: https://blog.csdn.net/rqf520/article/details/104040494

MySQL性能优化 -- 服务器配置优化

落花浮王杯 提交于 2020-01-25 05:34:26
常用查看性能参数的方法 show variables:查看服务器一些静态的参数,如缓冲区大小,字符集,数据文件名称等信息。 show rariables:查看的是MySQL启动之前已经配置号的一些系统静态参数。 show status:查看服务器运行中的状态信息,如当前连接数,锁等状态信息。 1、key_buffer_size的设置: 该参数用来设置索引块缓存的大小,只使用于MyISAM存储引擎,对MyISAM表性能影响最大的一个参数。 MySQL5.1以后提供多个key_buffer,可以将指定的表索引缓存到指定的key_buffer中,这样可以更好的降低线程之间的竞争。 常用操作: 查询缓存大小:show variables like ‘key_buffer_size’; 设置多个key_buffer:set global hot_cache2.key_buffer_size=128*1024; 将相关表的索引放到指定的索引缓存中:cache index t,t2 in hot_cache2; 将表t的索引加载到默认的缓存中:load index into cache t; 删除索引缓存:set global hot_cache2.key_buffer_size=0; 值得注意的是,不能删除默认的索引缓存区! cache index可以将多个表的索引加载到指定的索引缓冲区中

Grafana+Zabbix+Prometheus 监控系统

我只是一个虾纸丫 提交于 2020-01-25 05:24:47
环境说明 软件 版本 操作系统 IP地址 Grafana 5.4.3-1 Centos7.5 192.168.18.231 Prometheus 2.6.1 Centos7.5 192.168.18.232 Zabbix 4.0.4 Centos7.5 192.168.18.233 一、部署Grafana Grafana是一个开源的指标量监测和可视化工具,官方网站为: https://grafana.com/ 。Grafana的安装非常简单,官方就有软件仓库可以直接使用,也可以通过docker镜像等方式直接本地启动。还可以直接下载rpm包、二进制包进行安装。大家可以从 https://grafana.com/grafana/download 下载rpm安装包。 1.1 安装 cd /usr/local/src/ wget https://dl.grafana.com/oss/release/grafana-5.4.3-1.x86_64.rpm yum localinstall grafana-5.4.3-1.x86_64.rpm #默认情况下,grafana的配置存储于sqlite3中,如果你想使用其他存储后端,如mysql,postgresql等,请参考官方文档配置: http://docs.grafana.org/installation/configuration/ 1.2