随笔分类 - mysql
摘要:对于正在运行的mysql,性能如何,参数设置的是否合理,账号设置的是否存在安全隐患,你是否了然于胸呢? 俗话说工欲善其事,必先利其器,定期对你的MYSQL数据库进行一个体检,是保证数据库安全运行的重要手段,因为,好的工具是使你的工作效率倍增! 今天和大家分享几个mysql 优化的工具,你可以使用它们
阅读全文
摘要:MyCLI 是一个易于使用的命令行客户端,可用于受欢迎的数据库管理系统 MySQL、MariaDB 和 Percona,支持自动补全和语法高亮。它是使用 prompt_toolkit 库写的,需要 Python 2.7、3.3、3.4、3.5 和 3.6 的支持。MyCLI 还支持通过 SSL 安全
阅读全文
摘要:1. 索引是什么? 索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的引用指针。索引是一种数据结构。数据库索引,是数据库管理系统中一个排序的数据结构,以协助快速查询、更新数据库表中数据。索引的实现通常使用B树及其变种B+树。更通俗的说,索引就相当
阅读全文
摘要:背景 上个月跟朋友一起做了个微信小程序,趁着5.20节日的热度,两个礼拜内迅速积累了一百多万用户,我们在小程序页面增加了收集formid的埋点,用于给微信用户发送模板消息通知。 这个小程序一开始的后端逻辑是用douchat框架写的,使用框架自带的dc_mp_fans表存储微信端授权登录的用户信息,使
阅读全文
摘要:需求,应用场景 table1是统计信息表,里面存储了商店id,一个商店一条数据,table2是订单表,里面存储了多个订单,每条订单有一个字段是table1的商店id,table3是商品表,存储了多个商品,table2里面的每条数据在table3里面有1-N条商品数据,table1.shop_id=t
阅读全文
摘要:MySQL索引 MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTree索引,因为这是平常使用MySQL时主要打交道的索引。 MySQL官方对索引的定义为:索引(Index
阅读全文
摘要:python分析Mysql慢查询。通过Python调用开源分析工具pt-query-digest生成json结果,Python脚本解析json生成html报告。 #!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2018/10/12 下午
阅读全文
摘要:数据库复制的主要性能问题就是数据延时 为了优化复制性能,Mysql 5.6 引入了 “多线程复制” 这个新功能 但 5.6 中的每个线程只能处理一个数据库,所以如果只有一个数据库,或者绝大多数写操作都是集中在某一个数据库的,那么这个“多线程复制”就不能充分发挥作用了 Mysql 5.7 对 “多线程
阅读全文
摘要:有两种方式 1.在主库上指定主库二进制日志记录的库或忽略的库: 2.在从库上指定复制哪些库或者不负责哪些库
阅读全文
摘要:有时候我们需要查看当前的mysql数据库中, 有哪些客户端保持了连接, 每个客户端分别保持了多少连接,下面的语句能够直观的反馈结果: 会列出每个ip当前的状态,以及当前的连接数 。这个在处理类似碰到数据库 Too Many Connections 等的错误的时候比较有用。
阅读全文
摘要:MySQL是经常要使用的一种关系型数据库,数据库作为存储重要数据的地方,相应的,对数据库的授权管理,也必须很小心,下面,我将MySQL的权限作了整理,方便需要的时候查看。 MySQL权限级别 服务器 》 数据库 》 表 》 列 另外还有存储过程、视图和索引 MySQL权限列表: 权 限作用范围作 用
阅读全文
摘要:数据库 | MySQL:5.7.20 多实例——MGR部署实战 MGR介绍 基于传统异步复制和半同步复制的缺陷——数据的一致性问题无法保证,MySQL官方在5.7.17版本正式推出组复制(MySQL Group Replication,简称MGR)。 由若干个节点共同组成一个复制组,一个事务的提交,
阅读全文
摘要:最近项目中的数据库查询经常挂起,应用程序启动后也报操作超时。测试人员就说数据库又挂了(貌似他们眼中的连接失败,查询无果都是挂了),通过 show processlist 一看,满屏都是 Waiting for table metadata lock 状态的连接。第一反应就是kill掉这些连接,奈何连
阅读全文
摘要:MySQL在线DDL gh-ost 使用说明 背景: 作为一个DBA,大表的DDL的变更大部分都是使用Percona的pt-online-schema-change,本文说明下另一种工具gh-ost的使用:不依赖于触发器,是因为他是通过模拟从库,在row binlog中获取增量变更,再异步应用到gh
阅读全文
摘要:#!/bin/bash port=`/usr/sbin/ss -ntlp | grep 3306 | awk '{print $4}' | awk -F":" '{print $2}'` array=($(/usr/local/mysql/bin/mysql -uroot -pUefrwf -e "show slave status\G"|egrep "Running|Seconds_Be...
阅读全文
摘要:错误一 错误原因:从库用来连接主库的用户权限或者密码不对 解决方法:首先在主库上检查用来主从复制的用户权限,如果没有问题在检查从库使用的密码是否正确。 错误二 错误原因:这个可能是从库的master.info文件有损坏。 解决方法:reset slave 错误三 错误原因:可能是从库的约束比主库更多
阅读全文
摘要:1. 前言 以前给 Mysql 数据库做主从,都是在主服务器停服的情况下做的。但是最近有一个项目,已经上线几天了,数据库也单服务器跑了几天,才确定要给 Mysql 服务器做一个主从架构,简单的一主一从架构。 项目最好能在不停服的情况下完成 Mysql 主从搭建。后来翻了一些资料,真的找到了可以在线新
阅读全文
摘要:情景 MySQL数据库主从复制在默认情况下从库的relay logs会在SQL线程执行完毕后被自动删除。但是:在relay_log_purge = 0和MHA集群下,不会被自动删除,需要手动删除。如何安全的删除relay logs就比较关键了! 主要有两种方式: 方式一: 通过MHA中自带的工具 p
阅读全文
摘要:1, 加锁,然后全备份数据,可以用mysqldump,也可以使用其他的工具: [root@localhost data]# mysqldump --all-databases > /root/all_databases.sql 2,修改my.cnf文件为你想要的大小 innodb_data_home
阅读全文
摘要:1、mysqlfrm安装 由于mysqlfrm是mysql-utilities工具一部分,那么我们安装mysql-utilities即可,下载好对应的源码包,进行编译安装 shell> wget https://cdn.mysql.com/archives/mysql-utilities/mysql
阅读全文