1核1G内存云服务器的mysql5.7内存占用过大参数优化
如果使用的是宝塔管理面板的化,是不允许1G内存的服务器安装mysql5.7的。经过一番查找终于实现在1G内存的服务器上安装好mysql5.7,但是运行一段时间后发现服务器经常内存、CPU占用特别高导致服务器宕机(也不知道是不是有人在ddos攻击我的服务器,反正有很多尝试访问不存在的url请求,估计是在探测扫描可能存在的后面地址)。就1核CPU+1G内存来说但凡是个有心人要搞你,基本上网站很难防的住,但是有时候如果数据库查询过慢又没有进行一些其他缓存加速类的优化,在同时访问人数较多的情况下网站响应会很慢!昨天趁着有空在网上找了些1G内存mysql参数调优的文章,最终修改了mysql的一些参数,感觉内存及cpu占用还是有所下降。
免责说明:本文的mysql参数调整后已测试在我的云服务器环境运行正常,不代表完全适用于所有网友的服务器配置,仅作参考,如果服务器运维及配置不熟悉的朋友请勿操作!
将上面的参数调整下其实就差不多了,还有一些增加的小配置就不再单独赘述,下面贴上配置文件(禁止直接将本文配置文件直接复制,因mysql安装环境的不同直接复制可能会导致不可逆的后果!):
我记得好像增加、修改了这两个配置参数 interactive_timeout=120 和 wait_timeout =120
[client] #password = your_password port = 3306 socket = /tmp/mysql.sock [mysqld] binlog_cache_size = 32K thread_stack = 256K join_buffer_size = 256K query_cache_type = 1 max_heap_table_size = 64M port = 3306 socket = /tmp/mysql.sock datadir = /www/server/data default_storage_engine = InnoDB performance_schema_max_table_instances = 400 table_definition_cache = 400 skip-external-locking key_buffer_size = 16M max_allowed_packet = 100G table_open_cache = 256 sort_buffer_size = 1024K net_buffer_length = 4K read_buffer_size = 1024K read_rnd_buffer_size = 256K myisam_sort_buffer_size = 4M thread_cache_size = 32 query_cache_size = 32M interactive_timeout=120 tmp_table_size = 64M sql-mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES explicit_defaults_for_timestamp = true #skip-name-resolve max_connections = 120 max_connect_errors = 100 open_files_limit = 65535 wait_timeout =120 log-bin=mysql-bin binlog_format=mixed server-id = 1 expire_logs_days = 10 slow_query_log=1 slow-query-log-file=/www/server/data/mysql-slow.log long_query_time=3 #log_queries_not_using_indexes=on early-plugin-load = "" innodb_data_home_dir = /www/server/data innodb_data_file_path = ibdata1:10M:autoextend innodb_log_group_home_dir = /www/server/data innodb_buffer_pool_size = 64M innodb_log_file_size = 5M innodb_log_buffer_size = 8M innodb_flush_log_at_trx_commit = 1 innodb_lock_wait_timeout = 50 innodb_max_dirty_pages_pct = 90 innodb_read_io_threads = 1 innodb_write_io_threads = 1 [mysqldump] quick max_allowed_packet = 500M [mysql] no-auto-rehash [myisamchk] key_buffer_size = 20M sort_buffer_size = 20M read_buffer = 2M write_buffer = 2M [mysqlhotcopy] interactive-timeout
调整完重启mysql服务后,mysql的内存占用基本稳定在12%以下,CPU占用也很小。在使用top查看内存占用时发现有个java进程占用比较高,因为我服务器上没有跑java程序就直接kill掉了。
温馨提示:如果本文还没解决你的问题,可以尝试百度搜索“1g内存 mysql5.7优化”
基于互联网精神,在注明出处的前提下本站文章可自由转载!
本文链接:https://ranjuan.cn/1g-memory-mysql57-optimization/
微信赞赏支付宝赞赏
发表评论