mysql
文章平均质量分 54
w妙音
这个作者很懒,什么都没留下…
展开
-
快速生成千万条mysql数据
目的学习、测试mysql海量数据的场景,需要先生成数据。思路mysql官方文档说得很清楚。”load data infile”导入数据比insert要快20倍。所以我们先生成一千万条数据的文件。 然后将数据导入表中。生成数据假如有个用户表(id, username,password, age, sex),id是自动增长,我们现在需要生成username等信息 生成一千万条数...原创 2018-09-06 05:30:30 · 4100 阅读 · 1 评论 -
sysbench测试mysql性能瓶颈
前言任何系统,业务越来越繁忙,最终都会遇到性能瓶颈。能够提前知道系统大概的瓶颈,是很重要的。下面介绍一个测试工具sysbench安装yum install sysbench#下面测试中版本是1.0.9githubhttps://github.com/akopytov/sysbench测试mysqlsysbench --test=/usr/share/s...原创 2018-09-06 05:50:22 · 844 阅读 · 0 评论 -
flask自动重连数据库
情况描述flask部署到服务器后,日志中经常出现错误sqlalchemy.exc.OperationalError: (pymysql.err.OperationalError) (2006, "MySQL server has gone away (ConnectionResetError(104, 'Connection reset by peer'))")看下mysql日志,大...原创 2018-09-12 07:32:12 · 2877 阅读 · 1 评论 -
myisam锁表机制
锁表机制锁机制a.加锁读(共享锁):不会阻塞读请求(select, insert),阻塞写(update, delete)请求 b.加锁写(独占锁):阻塞其它读写(select, delete, insert, update)请求锁耗时多长? 取决于sql耗时。控制好sql耗时,锁表的问题并不大。测试数据生成1000万条测试数 表user(id, userna...原创 2018-09-15 06:31:55 · 812 阅读 · 1 评论 -
思考大表统计的优化策略
前言以InnoDB表的count()统计为例子方法一、直接count,全表扫描分析#一千万条数据count()耗费几十秒,基本不用干活select count(*) from user##方法二、分段count,全表扫描转变为范围扫描加上where条件,将全部查询,拆分成多个小范围查询。#全表扫描select count(*) from user;#改为范围扫描sel...原创 2018-11-23 23:39:51 · 459 阅读 · 0 评论 -
mysql存储引擎毫无疑问选择Innodb
网上观点网上大部分人在考虑如何选择MyISAM与InnoDB的依据是innodb 支持事务、行级锁. 适合写多读少myisam 表锁,适合读多写少实际测试下查询速度1千万(InnoDB)select * 21秒select id=xxx 0.026秒count(id) 15.71秒(第一次16.71,第二次0秒,插入一条后16.476秒)...原创 2018-11-23 23:44:41 · 263 阅读 · 0 评论 -
连接mysql8.0提示认证协议失败
描述用docker容器安装软件非常方便,省了太多麻烦。通过docker运行mysql8.0,再用navicat客户端连接出现client does not support authentication protocol requested by server。像似认真失败,检查mysql.user表,已经配置了用户,为什么还出现认真失败?这是因为mysql8.0改了密码加密方法。客户端与服...原创 2018-11-25 10:21:06 · 1013 阅读 · 0 评论 -
mysql配置主从复制基于GTIDs
用最简单的例子,教你配置基于GTIDs全局事物id的主从配置。mysql从5.7之后,增加了基于全局事务的主从复制,能够省去,log-bin主从复制找坐标的工作。环境说明mysql 8.0.12过程说明下面是两台新装的mysql启用全局事务id主从复制的过程启用log-bin,mysql默认是启动的不需要配置master上创建复制用的帐号master/slave启用gti...原创 2018-11-25 13:55:02 · 344 阅读 · 0 评论 -
没有契合的数据库迁移工具,用pymysql实现一个
版本迭代少不了数据迁移,python有自己的数据库迁移工具migrate。如果有的是其它开发语言,或者没有契合的迁移工具。怎么自己做一个?环境说明项目开发语言:java数据库: mysql迁移脚本: pythonpython工具包: pymysql实现思路目标是将老版本的数据转为新版本的数据。1. show tables 查询所有的表 ---得到所有表名2. 注意tranc...原创 2019-01-01 11:16:52 · 333 阅读 · 0 评论