行业资讯

最新动态、技术干货,汇聚前沿的云计算技术

MySQL数据库安装后需求进行哪些配置

唯一小编 发布时间:2020-12-11 返回

唯一网络成立于2006年,是国内知名的云服务综合解决方案提供商。专业提供云服务器服务器租用托管云专线云等保一键免费获取方案等一站式云服务综合解决方案提供商。

新用户注册就送千元大礼包销售咨询热线:0769-23015555。

这篇文章给大家介绍mysql数据库安装后需求进行哪些配置,内容十分具体,感兴趣的小同伴们可以参照借鉴,盼望对大家能有所协助。

MySQL数据库安装后需求进行哪些配置

基本设置

这里主要讲解3个十分重大的Mysql性能配置项,你应该往往会看到这些参数。如果你没有修改,非常也许会碰到问题。

这是任何应用InnoDB存储引擎的MYSQL在安装后第一个应该要查看的配置。Bufferpool是用来缓存数据和索引的,应该安排尽也许大的内存,以确保在进行大部分读取操作时是读内存而不是读磁盘。典型的设置值为5-6GB(8GBRAM),20-25G(32GBRAM),100-120GB(128GBRAM)。

这个选项是设置redo日志(重做日志)的大小。redo日志是用来确保写入的数据能够迅速地写入,而且持久化,还可以用于崩溃复原(crashrecovery)。MySQL5.1之前,这个选项非常难去进行修改,由于你既想要加大redo日志来提升性能,又想要减小redo日志来进行迅速的崩溃复原。幸运的是,自MySQL5.5之后,崩溃复原的性能有了非常大的提升,现在你可以拥有迅速写入性能的同时,还能满足迅速崩溃复原。始终到MySQL5.5,redo日志的总大小被局限在4GB(默认有2个日志文件)。这个在MySQL5.6中被增加了。

启动的时候设置innodb_log_file_size=512M(也就是1GB大小的redo日志),这样可以提供充分的写空间。如果你知道你的运用是频繁写入的,还可以再增大些。

如果你往往碰到”Toomanyconnections”的错误,是由于max_connections太小了。这个错误非常 多见到,由于运用程序没有正确地关闭与数据库的联结,你需求设置联结数为比默认151更大的值。max_connections设置过高(如1000或更高)的一个主要不足是当服务器运行1000个或者更多的事务时,会呼应缓慢乃至没有呼应。在运用程序端应用联结池或者在MySQL端应用线程池有助于解决这个难题。

从MySQL5.5开始,InnoDB成为了默认的存储引擎,而且它的应用频率比别的存储引擎的要多得多。这就是要仔细配置它的因素。

这个配置项会决定InnoDB是应用分享表空间(innodb_file_per_table=OFF)来存储数据和索引,还是为各个表应用一个单独的ibd文件(innodb_file_per_table=ON)。对各个表应用一个文件的方法,在drop,truncate,或者重建表的时候,会回收这个表空间。在一些高档特性,如压缩的时候也需求开启应用独立表空间。然而这个选项却不能带来性能的提高。

在MySQL5.6及之后的版本中,这个配置项是默认开启的,因此大部分情形下,你无需操作。对于早期的MySQL版本,需求在启动前把它设置成ON,由于它只对新创建的表有作用。

默认值为1,表示InnoDB全面支持ACID特性。比如在在一个主节点上,你主要关心数据安全性,这是最好的设置值。然而它会对速度缓慢的磁盘系统造成非常大的开销,由于每次将改造刷新到redo日志的时候,都需求额外的fsync操作。设置为2,稳妥性会差一点,由于已上交的事务只会1秒钟刷新一次到redo日志,但在某些情形下,对一个主节点而言,这仍然是可以接受的,并且对于复制干系的从库来说,这是一个非常好的值。设置为0,速度更快,可是在碰到崩溃的时候非常也许会失去一些数据,这只对从库是一个好的设置值。

这个设置项决定了数据和日志刷新到磁盘的方法。当服务器硬件有RAID控制器、断电保护、采取write-back缓存机制的时候,最常用的值是O_DIRECT;别的大部分场景应用默认值fdatasync。sysbench是一个协助你在这两个值之间做出选择好工具。

这个设置项用来设置缓存还没有上交的事务的缓冲区的大小。默认值(1MB)普通是够用的,但一旦事务之中带有大blob/text字段,这个缓冲区会被非常快填满,并导致额外的I/O负载。看看innodb_log_waits这个状态变量的值,如果不是0的话,需求增加innodb_log_buffer_size。

大家都知道查询缓存是一个瓶颈,即使在并发量不高的时候也会出现。最好的设置就是在第一天应用时就禁用查询缓存(query_cache_size=0),该选项在MySQL5.6后是默认禁用的,我们可以经过别的方式来提升查询速度:设计好的索引,增长读写脱离,或者应用额外的缓存(memcacheorRedisforinstance)。如果您的MySQL已经启用了查询缓存而且从没有发觉过问题,那么查询缓存也许是对你有益的,这个时候如果你想禁用它的时候应该小心操作。

如果要让一个节点做为复制干系中的主节点,启用二进制日志(binarylog)是不得不的。同时需求设置整体惟一的server_id。如果是单实例数据库,如果你要将数据复原到之前时光点(应用最新的备份restore,然后应用binlog进行recover),那么就需求二进制日志。二进制日志一旦创建,会被永久保存,所以如果不想耗尽磁盘空间,应该应用PURGEBINARYLOGS清理旧的二进制日志文件,或者设置expire_logs_days选项指定多少天之后,自动清理过期的二进制日志。

二进制文件记载是需求耗费资源的,因此在主从复制情境中,如果备库不必Binlog,就可以禁用掉。

当一个用户端联结上来的时候,服务端会执行主机名说明操作,当dns非常慢时,成立的联结也会非常慢。因此建议在启动的时候设置skip-name-resolve来禁用DNS查找。惟一的限制是GRANT语句仅且仅能应用IP地址,所以,在已有系统中添加这个选项时需求特别小心。

关于MySQL数据库安装后需求进行哪些配置就共享到这里了,盼望以上内容可以对大家有肯定的协助,可以学到更多知识。如果觉得文章不错,可以把它共享出去让更多的人看到。

  • 热门标签

  • 相关产品 >

    福建云服务器

    适合个人入门

    福建云服务器

    适合中小企业

    广东云服务器

    适合个人入门

    北京云服务器

    适合个人入门

MySQL数据库安装后需求进行哪些配置

唯一小编 发布时间:2020-12-11 返回

这篇文章给大家介绍mysql数据库安装后需求进行哪些配置,内容十分具体,感兴趣的小同伴们可以参照借鉴,盼望对大家能有所协助。

MySQL数据库安装后需求进行哪些配置

基本设置

这里主要讲解3个十分重大的Mysql性能配置项,你应该往往会看到这些参数。如果你没有修改,非常也许会碰到问题。

这是任何应用InnoDB存储引擎的MYSQL在安装后第一个应该要查看的配置。Bufferpool是用来缓存数据和索引的,应该安排尽也许大的内存,以确保在进行大部分读取操作时是读内存而不是读磁盘。典型的设置值为5-6GB(8GBRAM),20-25G(32GBRAM),100-120GB(128GBRAM)。

这个选项是设置redo日志(重做日志)的大小。redo日志是用来确保写入的数据能够迅速地写入,而且持久化,还可以用于崩溃复原(crashrecovery)。MySQL5.1之前,这个选项非常难去进行修改,由于你既想要加大redo日志来提升性能,又想要减小redo日志来进行迅速的崩溃复原。幸运的是,自MySQL5.5之后,崩溃复原的性能有了非常大的提升,现在你可以拥有迅速写入性能的同时,还能满足迅速崩溃复原。始终到MySQL5.5,redo日志的总大小被局限在4GB(默认有2个日志文件)。这个在MySQL5.6中被增加了。

启动的时候设置innodb_log_file_size=512M(也就是1GB大小的redo日志),这样可以提供充分的写空间。如果你知道你的运用是频繁写入的,还可以再增大些。

如果你往往碰到”Toomanyconnections”的错误,是由于max_connections太小了。这个错误非常 多见到,由于运用程序没有正确地关闭与数据库的联结,你需求设置联结数为比默认151更大的值。max_connections设置过高(如1000或更高)的一个主要不足是当服务器运行1000个或者更多的事务时,会呼应缓慢乃至没有呼应。在运用程序端应用联结池或者在MySQL端应用线程池有助于解决这个难题。

从MySQL5.5开始,InnoDB成为了默认的存储引擎,而且它的应用频率比别的存储引擎的要多得多。这就是要仔细配置它的因素。

这个配置项会决定InnoDB是应用分享表空间(innodb_file_per_table=OFF)来存储数据和索引,还是为各个表应用一个单独的ibd文件(innodb_file_per_table=ON)。对各个表应用一个文件的方法,在drop,truncate,或者重建表的时候,会回收这个表空间。在一些高档特性,如压缩的时候也需求开启应用独立表空间。然而这个选项却不能带来性能的提高。

在MySQL5.6及之后的版本中,这个配置项是默认开启的,因此大部分情形下,你无需操作。对于早期的MySQL版本,需求在启动前把它设置成ON,由于它只对新创建的表有作用。

默认值为1,表示InnoDB全面支持ACID特性。比如在在一个主节点上,你主要关心数据安全性,这是最好的设置值。然而它会对速度缓慢的磁盘系统造成非常大的开销,由于每次将改造刷新到redo日志的时候,都需求额外的fsync操作。设置为2,稳妥性会差一点,由于已上交的事务只会1秒钟刷新一次到redo日志,但在某些情形下,对一个主节点而言,这仍然是可以接受的,并且对于复制干系的从库来说,这是一个非常好的值。设置为0,速度更快,可是在碰到崩溃的时候非常也许会失去一些数据,这只对从库是一个好的设置值。

这个设置项决定了数据和日志刷新到磁盘的方法。当服务器硬件有RAID控制器、断电保护、采取write-back缓存机制的时候,最常用的值是O_DIRECT;别的大部分场景应用默认值fdatasync。sysbench是一个协助你在这两个值之间做出选择好工具。

这个设置项用来设置缓存还没有上交的事务的缓冲区的大小。默认值(1MB)普通是够用的,但一旦事务之中带有大blob/text字段,这个缓冲区会被非常快填满,并导致额外的I/O负载。看看innodb_log_waits这个状态变量的值,如果不是0的话,需求增加innodb_log_buffer_size。

大家都知道查询缓存是一个瓶颈,即使在并发量不高的时候也会出现。最好的设置就是在第一天应用时就禁用查询缓存(query_cache_size=0),该选项在MySQL5.6后是默认禁用的,我们可以经过别的方式来提升查询速度:设计好的索引,增长读写脱离,或者应用额外的缓存(memcacheorRedisforinstance)。如果您的MySQL已经启用了查询缓存而且从没有发觉过问题,那么查询缓存也许是对你有益的,这个时候如果你想禁用它的时候应该小心操作。

如果要让一个节点做为复制干系中的主节点,启用二进制日志(binarylog)是不得不的。同时需求设置整体惟一的server_id。如果是单实例数据库,如果你要将数据复原到之前时光点(应用最新的备份restore,然后应用binlog进行recover),那么就需求二进制日志。二进制日志一旦创建,会被永久保存,所以如果不想耗尽磁盘空间,应该应用PURGEBINARYLOGS清理旧的二进制日志文件,或者设置expire_logs_days选项指定多少天之后,自动清理过期的二进制日志。

二进制文件记载是需求耗费资源的,因此在主从复制情境中,如果备库不必Binlog,就可以禁用掉。

当一个用户端联结上来的时候,服务端会执行主机名说明操作,当dns非常慢时,成立的联结也会非常慢。因此建议在启动的时候设置skip-name-resolve来禁用DNS查找。惟一的限制是GRANT语句仅且仅能应用IP地址,所以,在已有系统中添加这个选项时需求特别小心。

关于MySQL数据库安装后需求进行哪些配置就共享到这里了,盼望以上内容可以对大家有肯定的协助,可以学到更多知识。如果觉得文章不错,可以把它共享出去让更多的人看到。

©2016-2021 www.wcloud.cn All rights reserved.
唯一网络-数据中心、云网服务及数字化解决方案提供商©版权所有

免费预约

客户免费预约阿里云/唯云架构师上门服务。免费服务内容:云数据中心、网络安全、云专线、云等保、公有云、混合云和其它云协助迁移。

请保持电话畅通,我们将在工作时间与您电话联系。

立即预约