1.å¦ä½å®è£
navicate for mysql
2.TokuDB性能测试报告
3.mysql的码安文件结构和默认数据库
å¦ä½å®è£ navicate for mysql
软件çæ¬åå®è£ ç¯å¢ï¼
1.navicat_mysql_en.tar.gz
2.MySQL-5.6.-1.el6.x_.rpm-bundle.tar
3.Centos6.7
äºãå®è£ æ¥éª¤
1.å ³éé²ç«å¢
第ä¸æ¥å ³ælinuxçé²ç«å¢ï¼ç±äºèªå·±ä¹å没æå ³éé²ç«å¢å¯¼è´navicatå¯å¨ä¸äºï¼å¨è¿ä¸ªå°æ¹å¡äºå¾ä¹ ã
1ï¼å ³éSELINUX
æå¼/etc/selinux/config
å¨æ件ä¸å å ¥SELINUX=disabled
2ï¼å ³éé²ç«å¢
service iptables stop(临æ¶å ³é)
chkconfig iptables off(æ°¸ä¹ å ³é)
2.å®è£ wine
ç±äºnavicatè¦åå©wineï¼æ以å¾é¦å å®è£ wineã
1ï¼å®è£ epelæºã
å®è£ epel
[root[@spark]Desktop]$ rpm -ivh epel-release-6-8.noarch.rpm
å®è£ wine
yum install wine
3.å®è£ navicat
1ï¼è§£å软件并移å¨å°èªå·±çç®å½
[root[@spark]Desktop]$ tar zxvf navicat_mysql_en.tar.gz
[root[@spark]Desktop]$ mv navicat_mysql_en /usr/local/
2ï¼è¿è¡navicat
è¿å ¥navicatç®å½
[root[@spark]navicat]# ./start_navicat è³æ¤ï¼navicatå®è£ å®æã
TokuDB性能测试报告
吴双桥,腾讯云数据库工程师
背景介绍:
近年来,码安TokuDB作为MySQL的码安大数据存储引擎,因其分形树索引数据结构(Fractal Trees)的码安核心架构,以及缓存无关性、码安高压缩比、码安导出dll文件源码支持ACID和MVCC、码安在线修改表结构、码安提升复制性能等特点,码安在某些特定应用领域,码安如日志存储与分析,码安展现出独特优势。码安尤其在数据插入量远大于读取量的码安场景中,TokuDB的码安taobao源码性能表现尤为突出。
测试环境搭建:
本次测试使用高配机器,码安内存大于G,CPU为Intel(R) Xeon(R) CPU E5系列,数据盘采用SSD硬盘。MySQL TokuDB版本为5.6.-.1,通过Percona网站上的插件安装方法进行安装。确认TokuDB引擎已就绪并被设为默认存储引擎。
测试工具与变量:
选择sysbench作为测试工具,因其功能强大、使用简便且流行。测试中涉及的变量包括存储引擎类型、同步刷新日志策略、压缩算法、中英源码压测线程数量和表数量。TokuDB中相关指标如tokudb_commit_sync、tokudb_fsync_log_period等也进行了考虑。
测试方法:
采用控制变量法,以存储引擎类型和同步刷新日志策略为分类依据,对压测线程数量和表数量进行交叉测试。具体分为4大类,每个大类下分别测试不同表数量和线程数,每次压测写入2,,条数据,并统计性能指标。
测试结果分析:
1. InnoDB与同步刷新日志:
调整innodb_flush_log_at_trx_commit和sync_binlog参数,同步刷新日志到硬盘,并针对每个事务同步一次binlog,扫雷 源码测试结果通过图表展示,显示出不同的插入TPS(每秒事务数)和线程数对应的具体表现。
2. InnoDB与异步刷新日志:
将sync_binlog设置为0,日志文件每秒刷写到硬盘,不主动同步binlog,依赖操作系统flush文件内容,测试结果同样通过图表呈现,与同步刷新日志策略形成对比。
3. TokuDB与同步刷新日志:
调整tokudb_commit_sync和tokudb_fsync_log_period参数,每次事务提交时将log buffer写入日志文件并刷写到硬盘,测试结果以图表形式展现,与InnoDB同步刷新日志策略进行比较。
4. TokuDB与异步刷新日志:
在TokuDB下测试不同同步策略的tommath 源码性能表现,通过图表展示线程数与插入TPS和表数的关系,与之前的策略对比分析。
5. 压缩算法选择:
通过实际运行数据,对比TokuDB不同压缩算法(snappy、quicklz、zlib、lzma)的存储大小和导入时间,结果以表格形式呈现,分析不同算法的优劣。
讨论与
本次测试结果显示TokuDB在插入性能和压缩比方面均表现出显著优势,尤其在日志存储与分析场景中。InnoDB性能的优异与参数的灵活配置有关,而TokuDB在成熟度方面仍有提升空间。测试中发现,zlib算法在实际生产环境中推荐使用,考虑到CPU使用率因素。TokuDB作为MySQL的大数据存储引擎,虽然目前尚不成熟,但在特定应用场景下展现出强大的性能和特性,应作为首选。
mysql的文件结构和默认数据库
安装完数据库之后,执行 show databases; 可见有四个默认的数据库。
mysql是系统自带的核心数据库,存储了用户账户和权限、一些存储过程、事件定义信息、运行时产生的信息、帮助信息和时区信息等。
information_schema维护其他数据库的信息(表、视图、触发器等等),这些数据均是描述性信息(元数据)。在这个库中以"innodb_sys"开头表示描述的是内部系统表。
performance_schema保存了mysql运行过程中的状态信息,可以用来分析各项性能指标。
sys主要是通过视图的形式吧information_schema和information_schema中的数据用视图的形式存储。
说明:两个版本的数据库均是采用的innodb引擎
默认安装位置时,通过 cd /var/lib/mysql 进入mysql的目录并查看里面的内容。
在两个版本环境下分别创建数据库test1并添加一张表db_test1,具体操作如下图。
再次查看两个目录中的文件,可以发现均多了test1文件夹。
分别进入两个环境下的test1文件夹,查看其中的内容。
首先观察5.7.版本中的共有三个文件
db.opt存储了字符集信息和排序信息,且无论在数据库下创建多少张表,改文件有且只有一份。
表名.frm文件用于存储数据的表结构。
表名.ibd中存储了数据和索引。
需要注意到的是,只有在mysql5.6.6及之后的版本中,才会给每个数据库创建独立表空间(.ibd文件),在这之前均存储在系统表空间。
在8.0.版本中,数据表对应目录中只有一个文件生成,我们可以通过以下命令来解析这个文件。
在当前数据库目录下执行 ibd2sdi --dump-file=test1.txt tb_test1.ibd 即可。
这个语句只能在mysql8使用
test1.txt表示输出后的文件名,可自行修改。
tb_test1.ibd是我们要解析的文件名。
使用vim打开解析后的文件。
可以发现里面存储了表结构信息。
使用myisam存储引擎
分别在两个数据库中创建表并使用myisam引擎。
像之前一样进入对应的目录。
在mysql5.7.中,依旧是.frm文件存储表结构。
而在8.0.中,以sdi文件存储表结构信息。
二者均是myd文件存储数据信息,myi存储索引信息。