mysql - 提高 MySQL 性能 - InnoDB

标签 mysql linux centos innodb my.cnf

我正在使用 Linux CentOSMySQL,到目前为止,这是 my.cnf 的内容:

sql_mode="NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER"
max_connections = 750
max_connect_errors = 750
connect_timeout = 28800
max_allowed_packet = 500M
character_set_server = utf8
query_cache_size = 500M

我试图用这些参数提高 MySQL 的性能,我读到其中一些参数已被弃用,因此,我选择 InnoDB 作为引擎并尝试按如下方式设置它:

default_storage_engine = INNODB
innodb_buffer_pool_size=9G
innodb_buffer_pool_instances=64

所以my.cnf的最终设置是:

sql_mode="NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER"
max_connections = 750
max_connect_errors = 750
connect_timeout = 28800
character_set_server = utf8
default_storage_engine = INNODB
innodb_buffer_pool_size=6G
innodb_buffer_pool_instances=64

但最后,服务器在没有使用所有可用内存(3GB/8GB 而不是 6GB/8GB 我期望如何使用 innodb_buffer_pool_size)的情况下过载,我必须重新启动MySQL 服务恢复和规范化服务状态。

如何才能真正提高 MySQL 的性能?或者你能给我哪些建议?

提前,谢谢。

最佳答案

尝试设置 innodb_flush_log_at_trx_commit=2。可以在此处找到更多信息 https://dev.mysql.com/doc/refman/5.7/en/innodb-parameters.html#sysvar_innodb_flush_log_at_trx_commit

关于mysql - 提高 MySQL 性能 - InnoDB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48554863/

相关文章:

php - mysql语法错误插入十进制,时间戳与PHP

python - 我可以在 django 中使用 python 操作系统/系统模块吗

linux - 无法使用 sudo -u username mkdir/var/log/test 创建目录

php - 从选择选项填充字段

php - 如何在查询插入中循环变量值

mysql - 如何选择两个日期之差大于某个值的所有记录

json - 在 Linux 上将 chromeOptions args 传递给 .json 文件中的 selenium 节点

c++ - CentOS 6.6 上的 libcurl-devel 缺少函数定义

apache - 是否可以在 apache 服务器上使用带反向代理的负载平衡器?

mongodb - 无法在带有 centos 的 docker 容器中运行 mongodb