首页 数据库 mysql教程 mysql性能最大化

mysql性能最大化

Jun 07, 2016 pm 04:19 PM
mysql 性能 最大化

[client] #passwd = your_passwd port = 3306 socket = /data/mysql/mysql.sock [mysqld] #global settings port = 3306 socket = /data/mysql/mysql.sock basedir=/usr/local/mysql tmpdir=/data/mysql datadir=/data/mysql pid-file=/data/mysql/rongzhong

   [client]

  #passwd = your_passwd

  port = 3306

  socket = /data/mysql/mysql.sock

  [mysqld]

  #global settings

  port = 3306

  socket = /data/mysql/mysql.sock

  basedir=/usr/local/mysql

  tmpdir=/data/mysql

  datadir=/data/mysql

  pid-file=/data/mysql/rongzhong.pid

  #跳过外部锁定 只对MyISAM

  skip-external-locking

  #禁用tcp socket连接,,只能使用unix/linux socket连接

  skip_networking

  #禁用DNS解析,提高连接速度

  skip_name_resolve

  #跳过授权表,忘记root密码时使用

  #skip-grant-tables

  #默认存储引擎

  #default-storage-engine=MyISAM/INNODB

  #默认字符集

  character_set_server=utf8

  #最大连接数

  max_connections=20480

  #最大单用户连接数

  max_user_connections=1024

  #服务器关闭一个交互连接前等待的秒数,默认28800

  interactive_timeout=7200

  #线程缓存数,直接利用空闲连接来创建新连接,1G —> 8 2G —> 16 3G —> 32 >3G —> 64

  #短连接较多的情况下可以适当增加该值

  thread_cache_size=64

  #单个线程(连接)进行数据排序(eg: order/group by)时的buffer,连接创建时一次性分配,默认2M,当 Sort_merge_passes较大时可增加该值

  sort_buffer_size=2M

  #对没有索引的表进行join操作时的buffer,默认256K,连接创建时一次性分配

  join_buffer_size=262144

  #指定连接侦听队列的大小,该值超过OS的tcp_max_syn_backlog/somaxconn时无效,推荐设置为小于512的整数

  back_log=512

  #table_open_cache中岁多能打开的表数

  table_open_cache = 256

  #一次消息传输量的最大值,是net_buffer_length的最大值

  max_allowed_packet=8M

  #bin-log

  #打开二进制日志

  log-bin=mysql-bin

  log-bin-index=mysql-bin.index

  #日志格式,可选row/statement/mixed,默认statement,推荐mixed

  binlog_format=mixed

  #一个binlog的最大值

  max_binlog_size=1G

  #对单个连接的binlog缓存大小,默认1M

  binlog_cache_size=2M

  #binlog cache的总大小

  max_binlog_cache_size=2G

  #sync_binlog may be 0 or 1

  #binlog是否进行磁盘同步,为0时交给OS,为1:事物结束立即同步,IO损耗大

  sync_binlog=0

  #slow-log

  #开启slow log

  slow-query-log=1

  #指定慢查询的时长

  long-query-time=2

  #路径

  slow-query-log-file=/data/mysql/slowlog/slow.log

  #未使用索引的查询也记录到slow log中

  log_queries_not_using_indexes=1

  #query cache

  #启用query cache

  query_cache_type=1

  #存放单条query cache的最大值,默认1M

  query_cache_limit=1M

  #存放单条query cache的最小值,默认4K

  query_cache_min_res_unit=4096

  #query的最大值

  query_cache_size=256M

  #MyISAM

  #索引缓存大小,公式:Key_Size = key_number * (key_length+4)/0.67

  key_buffer_size=128M

  #单个线程进行顺序读取时的缓存,默认128K

  read_buffer_size=2M

  #单个线程进行随机读取时的缓存,默认256K

  read_rnd_buffer_size = 4M

  #重建索引时允许的最大缓存大小,默认8M

  myisam_sort_buffer_size = 64M

  #指定索引缓存中block大小,默认1K

  key_cache_block_size=1024

  #禁止索引的单条刷新

  delay_key_write=1

  #innodb

  #启用独立的表空间

  #innodb_file_per_table=1

  #设置innodb内存缓冲区大小,在纯mysql环境下,推荐设置为服务器内存的60~80%

  innodb_buffer_pool_size =8G

  #设置OS能进入innodb内核的线程数,推荐2*(CPU核心数+磁盘数)

  innodb_thread_concurrency=16

  #设置innodb的io行为,可选值fsync/O_DSYNC/O_DIRECT 推荐O_DIRECT提高随机写效率

  innodb_flush_method=O_DIRECT

  #设置mysql主进程每秒钟向磁盘刷入的脏页数,默认值200

  #For systems with individual 5400 RPM or 7200 RPM drives, you might lower the value to the former default of 100

  innodb_io_capacity=100

  #设置写脏页的线程数

  innodb_write_io_threads = 8

  #设置从磁盘读文件块的线程数

  innodb_read_io_threads = 8

  #设置事物日志缓冲区大小

  #设置事物日志缓冲区大小

  innodb_log_buffer_size=8M

  #log thread向磁盘同步日志的方式,可选值为0/1/2

  #0: 每秒钟刷新 1:每次事物提交后都刷新 2:交给OS来同步

  innodb_flush_log_at_trx_commit =0

  #数据库字典信息和表结构空间

  innodb_additional_mem_pool_size =16M

  #启用Double write Buffer区域,保证数据完整性,但消耗IO

  innodb_doublewrite=1

  [mysqldump]

  # Do not buffer the whole result set in memory before writing it to file. Required for dumping very large tables

  quick

  max_allowed_packet = 16M

  [mysql]

  no-auto-rehash

  [myisamchk]

  key_buffer_size = 512M

  sort_buffer_size = 512M

  read_buffer = 8M

  write_buffer = 8M

  [mysqlhotcopy]

  interactive-timeout

  [mysqld_safe]

  # Increase the amount of open files allowed per process. Warning: Make

  # sure you have set the global system limit high enough! The high value

  # is required for a large number of opened tables

  open-files-limit = 8192

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
4 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

如何优化 PHP 中的 MySQL 查询性能? 如何优化 PHP 中的 MySQL 查询性能? Jun 03, 2024 pm 08:11 PM

可以通过以下方式优化MySQL查询性能:建立索引,将查找时间从线性复杂度降至对数复杂度。使用PreparedStatements,防止SQL注入并提高查询性能。限制查询结果,减少服务器处理的数据量。优化连接查询,包括使用适当的连接类型、创建索引和考虑使用子查询。分析查询,识别瓶颈;使用缓存,减少数据库负载;优化PHP代码,尽量减少开销。

如何在 PHP 中使用 MySQL 备份和还原? 如何在 PHP 中使用 MySQL 备份和还原? Jun 03, 2024 pm 12:19 PM

在PHP中备份和还原MySQL数据库可通过以下步骤实现:备份数据库:使用mysqldump命令转储数据库为SQL文件。还原数据库:使用mysql命令从SQL文件还原数据库。

如何使用 PHP 插入数据到 MySQL 表中? 如何使用 PHP 插入数据到 MySQL 表中? Jun 02, 2024 pm 02:26 PM

如何将数据插入MySQL表中?连接到数据库:使用mysqli建立与数据库的连接。准备SQL查询:编写一个INSERT语句以指定要插入的列和值。执行查询:使用query()方法执行插入查询,如果成功,将输出一条确认消息。

如何在 PHP 中使用 MySQL 存储过程? 如何在 PHP 中使用 MySQL 存储过程? Jun 02, 2024 pm 02:13 PM

要在PHP中使用MySQL存储过程:使用PDO或MySQLi扩展连接到MySQL数据库。准备调用存储过程的语句。执行存储过程。处理结果集(如果存储过程返回结果)。关闭数据库连接。

如何修复 MySQL 8.4 上的 mysql_native_password 未加载错误 如何修复 MySQL 8.4 上的 mysql_native_password 未加载错误 Dec 09, 2024 am 11:42 AM

MySQL 8.4(截至 2024 年的最新 LTS 版本)中引入的主要变化之一是默认情况下不再启用“MySQL 本机密码”插件。此外,MySQL 9.0完全删除了这个插件。 此更改会影响 PHP 和其他应用程序

不同Java框架的性能对比 不同Java框架的性能对比 Jun 05, 2024 pm 07:14 PM

不同Java框架的性能对比:RESTAPI请求处理:Vert.x最佳,请求速率达SpringBoot2倍,Dropwizard3倍。数据库查询:SpringBoot的HibernateORM优于Vert.x及Dropwizard的ORM。缓存操作:Vert.x的Hazelcast客户机优于SpringBoot及Dropwizard的缓存机制。合适框架:根据应用需求选择,Vert.x适用于高性能Web服务,SpringBoot适用于数据密集型应用,Dropwizard适用于微服务架构。

如何使用 PHP 创建 MySQL 表? 如何使用 PHP 创建 MySQL 表? Jun 04, 2024 pm 01:57 PM

使用PHP创建MySQL表需要以下步骤:连接到数据库。创建数据库(如果不存在)。选择数据库。创建表。执行查询。关闭连接。

C++中如何优化多线程程序的性能? C++中如何优化多线程程序的性能? Jun 05, 2024 pm 02:04 PM

优化C++多线程性能的有效技术包括:限制线程数量,避免争用资源。使用轻量级互斥锁,减少争用。优化锁的范围,最小化等待时间。采用无锁数据结构,提高并发性。避免忙等,通过事件通知线程资源可用性。

See all articles