
1、云数据库MySQL主流版是一款开箱即用、性能卓越、安全可靠的在线数据库服务,实例秒级开通、性能百万QPS、安全企业级标准。
2、支持MySQL数据库主流版本引擎,提供异地高可用、d性伸缩、智能运维等云原生高级特性,满足全行业数据库需求。
MySQL作为一种非常流行的关系型数据库,在信息系统开发中扮演着非常重要的角色,经常被用于后端数据存储,而MySQL本身又不提供非常便捷的客户端软件,因此出现了许许多多的第三方管理软件,下面我简单介绍几个,感兴趣的朋友可以自己下载尝试一下:
SQLyog这是一个非常轻巧灵活的MySQL客户端软件,界面整洁、干净友好,大部分开发人员都应该听说或使用过,可以直接查看数据库目录结构,建库建表灵活,支持SQL脚本导入导出、数据备份恢复等常见功能,语法高亮、自动补全等也都非常不错,对于日常MySQL管理来说,是一个非常不错的工具:
Navicat
这也是一个非常不错的MySQL客户端管理软件,界面简洁、功能强大,基本使用方式和SQLyog差不多,可以直接手动建库建表、设计视图(包括字段类型、主外键关系、触发器等),支持数据库建模、SQL脚本导入导出、数据恢复和备份等常见功能,对于MySQL管理来说,也是一个非常不错的工具:
Workbench
这是MySQL官方自带的一个客户端软件,可以直接到官网下载安装,免费、跨平台,专门为MySQL量身定制,兼容性良好,支持数据库建模(ER模型、前向和反向工程)、数据迁移(低版本到高版本)、恢复与备份等常见功能,对于MySQL日常管理来说,也是一个非常不错的工具:
phpMyAdmin
这是一个专门为php开发人员设计的MySQL管理工具,基于Web浏览器运行,界面干净、整洁友好,可以很方便的查阅管理日常数据库,建库建表也非常容易,如果你是一个专业的php开发人员,那么phpMyAdmin就是一个非常不错的管理工具,缺点就是在数据的备份和恢复上不是很方便:
DataGrip
这是一个比较全能的数据库客户端软件,支持目前几乎所有的主流数据库,包括MySQL,Oracle,SQL Server等,界面友好、干净整洁,日常查询、建库建表、建模设计、备份恢复、数据迁移等,这个软件都能很好支持,语法高亮、自动补全等功能也都非常不错,对于数据库管理来说,也是一个非常不错的工具:
当然,还有许多其他MySQL客户端管理软件,像HeidiSQL,DBeaver等也都非常不错,这里就不一一介绍了,基本功能和前面的这5个软件差不多,只要你熟悉一下使用方式,很快就能掌握的。至于哪个好,哪个更优秀,这个也没有什么明确标准,只要适合自己就行,如果你非常熟悉MySQL的话,也可以使用命令行工具,效果是一样的,网上也有相关资料,感兴趣的话,可以搜一下,希望以上分享的内容能对你有所帮助吧,也欢迎大家评论、留言进行补充。
MySQL的管理维护工具非常多,除了系统自带的命令行管理工具之外,还有许多其他的图形化管理工具,这里我介绍几个经常使用的MySQL图形化管理工具,供大家参考。
1、phpMyAdmin
phpMyAdmin是最常用的MySQL维护工具,是一个用PHP开发的基于Web方式架构在网站主机上的Mysql管理工具,支持中文,管理数据库非常方便。不足之处在于对大数据库的备份和恢复不方便。
2、MySQLDumper
MySQLDumper使用PHP开发的MySQL数据库备份恢复程序,解决了使用PHP进行大数据库备份和恢复的问题,数百兆的数据库都可以方便的备份恢复,不用担心网速太慢导致中间中断的问题,非常方便易用。
这个软件是德国人开发的,还没有中文语言包。
3、Navicat
Navicat是一个桌面版MySQL数据库管理和开发工具。和微软SQLServer的管理器很像,易学易用。
Navicat使用图形化的用户界面,可以让用户使用和管理更为轻松。支持中文,有免费版本提供。
4、MySQL GUI Tools
MySQL GUI Tools是MySQL官方提供的图形化管理工具,功能很强大,值得推荐,可惜的是没有中文界面。
5、MySQL ODBC Connector
MySQL官方提供的ODBC接口程序,系统安装了这个程序之后,就可以通过ODBC来访问MySQL,这样就可以实现SQLServer、Access和MySQL之间的数据转换,还可以支持ASP访问MySQL数据库。
6、MySQL Workbench
MySQL Workbench是一个统一的可视化开发和管理平台,该平台提供了许多高级工具,可支持数据库建模和设计、查询开发和测试、服务器配置和监视、用户和安全管理、备份和恢复自动化、审计数据检查以及向导驱动的数据库迁移。
MySQL Workbench是MySQL AB发布的可视化的数据库设计软件,它的前身是 FabForce 公司的 DDesigner 4。
MySQL Workbench 为数据库管理员、程序开发者和系统规划师提供可视化设计、模型建立、以及数据库管理功能。
它包含了用于创建复杂的数据建模ER模型,正向和逆向数据库工程,也可以用于执行通常需要花费大量时间和需要的难以变更和管理的文档任务。MySQL工作台可在Windows,Linux和Mac上使用。
7、SQLyog
SQLyog 是一个易于使用的、快速而简洁的图形化管理MYSQL数据库的工具,它能够在任何地点有效地管理你的数据库。
SQLyog是业界著名的Webyog公司出品的一款简洁高效、功能强大的图形化MySQL数据库管理工具。使用SQLyog可以快速直观地让您从世界的任何角落通过网络来维护远端的MySQL数据库。
1. proxy sharding,目前由cobar,mycat,drds,atlas修改,这几个产品的起源一般是mysqlproxy 或 ameoba,特点是mysql协议基本兼容,业务不需要做太多修改,缺点是分库分表的算法很烂,业务要自己做大堆配置
2. jdbc中间件sharding,这个和协议差不多,就是把服务实现为了一个中间件,好处是协议损失时间可以补回来,坏处是只有java可以使用,开源的有当当的jdbc sharding
3.mysql的ndbcluster和fabric,这是mysql 引擎层面做的sharding,直接用mysql的协议层和计划生成,这个做的好处是原生的协议层都是百分百支持,事务用mysql xa支持也算马马虎虎,坏处是单机引擎,不能支持大数据的sql
这3种,被统称为“share-nothing”的数据库sharing模式,share-nothing很容易理解,就是每个被sharding的数据库之间没有共享任何数据。这种模式的缺点,主要就是:
1. sharding的时候必须带sharding key,或者不带sharding key就全表扫描
2. 必须预设sharding key,但是sharding key设计是很考验架构师对体系了解的,比如这里的sharding key 会和事务息息相关
3. 对事务的支持仅限于单库,跨库事务要走二阶段,不支持read repeated和串行事务
4. 扩容意味着sharding key计算方式改变,需要停写
5. 调度角度来看,proxy部分cpu是很浪费的,流量大的时候容易变成瓶颈,流量小的时候cpu都浪费了
当然share nothing的模式也是有谷歌参与一腿的,那就是youtube的vitess,他用设计和取舍很好规避了上述的很多问题:
1. proxy 转换两次协议的浪费,vitess直接用grpc来做sql转发,这样不用自己转mysql协议
2. 扩容难题,vitess用的是范围sharding,也就是拟定每个分库key值上下限,扩容只涉及三个库,扩容一般是split模式,不需要伤经动骨
3. 语句支持,这个基本上能上层做的优化大家都有做,不赘述
4. 运维和调度模式简单,部署模式用了 kubernetes的模型,proxy被暴露为service,后面多个服务都变成pod,把部署扔给了一个好的调度模型,而且里面mysql单例是启动在docker上,再把存储挂载在普通硬盘上,实现了存储和进程基本分离
5. 事务不赘述,基本上其他几个能不能做是意愿问题,不是设计问题
6. 自建二级索引,方便查找,方便不用先定sharding key
所以没有把vitess归类在上面任意一个层里,它比较独立,看起来vitess是不是完美了?并不是,毕竟share nothing模式的思路一开始就是有问题的,等我接下来细细分析为何vitess这个设计这么牛逼的项目 在谷歌基本上属于边缘甚至被淘汰项目
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)