请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册
搜索

mariadb配置文件优化参数mysql优化

[复制链接]
2220 abc 发表于 2021-3-7 15:26:17
  1. mariadb数据库优化需要根据自己业务需求以及根据硬件配置来进行参数优化,下面是一些关于mariadb数据库参数优化的配置文件。

  2. 1 如下为128G内存32线程处理器的mariadb配置参数优化:
  3. [client]
  4. #password= your_password
  5. port= 3306         
  6. socket= /tmp/mysql.sock
  7. !includedir /opt/local/mysql/wsrep
  8. # The MySQL server
  9. [mysqld]
  10. port= 3306
  11. socket= /tmp/mysql.sock
  12. basedir = /opt/local/mysql
  13. datadir=/opt/local/mysql/data                   #数据库存放目录
  14. relay-log=/opt/local/mysql/relaylog/s74-relay-bin                        
  15. pid-file = /opt/local/mysql/mysql.pid
  16. log-error = /opt/local/mysql/logs/mysqld.log
  17. open_files_limit = 65535                        #
  18. #skip-locking
  19. skip-external-locking                           #跳过外部锁定
  20. back_log=3000                                   #暂存的连接数量  
  21. skip-name-resolve                               #关闭mysql的dns反查功能
  22. memlock                                         #将mysqld 进程锁定在内存中
  23. lower_case_table_names = 1
  24. #query_response_time_stats=1
  25. #core-file
  26. #core-file-size = unlimited
  27. query_cache_type=1                              #查询缓存  (0 = off、1 = on、2 = demand)
  28. performance_schema=0                            #收集数据库服务器性能参数
  29. net_read_timeout=3600                           #连接繁忙阶段(query)起作用
  30. net_write_timeout=3600                          #连接繁忙阶段(query)起作用
  31. key_buffer_size = 32M                           #设置索引块缓存大小
  32. max_allowed_packet = 128M                       #通信缓冲大小
  33. table_open_cache = 1024                         #table高速缓存的数量
  34. sort_buffer_size = 12M                          #每个connection(session)第一次需要使用这个buffer的时候,一次性分配设置的内存
  35. read_buffer_size = 8M                           #顺序读取数据缓冲区使用内存
  36. #sort_buffer_size = 32M
  37. #read_buffer_size = 32M
  38. read_rnd_buffer_size = 32M                      #随机读取数据缓冲区使用内存
  39. myisam_sort_buffer_size = 32M                   #MyISAM表发生变化时重新排序所需的缓冲
  40. thread_cache_size = 120                         #重新利用保存在缓存中线程的数量
  41. query_cache_size = 64M
  42. join_buffer_size = 8M                           #Join操作使用内存
  43. bulk_insert_buffer_size = 32M                   #批量插入数据缓存大小
  44. delay_key_write=ON                              #在表关闭之前,将对表的update操作指跟新数据到磁盘,而不更新索引到磁盘,把对索引的更改记录在内存。这样MyISAM表可以使索引更新更快。在关闭表的时候一起更新索引到磁盘
  45. delayed_insert_limit=4000
  46. delayed_insert_timeout=600
  47. delayed_queue_size=4000
  48. # Try number of CPU's*2 for thread_concurrency
  49. # The variable only affects Solaris!
  50. thread_concurrency = 64                         #CPU核数 * 2
  51. max_connections=1500                            #最大连接(用户)数。每个连接MySQL的用户均算作一个连接
  52. max_connect_errors=30                           #最大失败连接限制
  53. interactive_timeout=600                         #服务器关闭交互式连接前等待活动的秒数
  54. wait_timeout=3600                               #服务器关闭非交互连接之前等待活动的秒数
  55. slow_query_log                                  #慢查询记录日志
  56. long_query_time = 0.1                           #慢查询记录时间  0.1秒
  57. slow_query_log_file=/opt/local/mysql/logs/slow_query.log            #慢查询日志路径
  58. #log_slow_verbosity=full
  59. log_slow_verbosity=query_plan                   #
  60. # Replication Master Server (default)
  61. # binary logging is required for replication
  62. log-bin=/opt/local/mysql/binlog/mysql-bin                               #binlog 名称
  63. log-slave-updates                               #从master取得并执行的二进制日志写入自己的二进制日志文件中
  64. replicate-ignore-db=mysql                       #不同步的表
  65. # binary logging format - mixed recommended
  66. binlog_format=row                               #binlog 格式 分别为 row=行格式 丶 mixed=混合格式 丶 STATEMENT=SQL语句复制模式
  67. event_scheduler=1                               #计划任务 事件调度器
  68. # required unique id between 1 and 2^32 - 1
  69. # defaults to 1 if master-host is not set
  70. # but will not function as a master if omitted
  71. server-id= 1                                 #
  72. # Point the following paths to different dedicated disks
  73. #tmpdir= /tmp/
  74. #log-update = /path-to-dedicated-directory/hostname
  75. # Uncomment the following if you are using InnoDB tables
  76. #innodb_data_home_dir = /data/mysql-5.1.48/mysql-data/
  77. #innodb_data_file_path = ibdata1:2000M;ibdata2:10M:autoextend
  78. #innodb_log_group_home_dir = /data/mysql-5.1.48/mysql-data/
  79. # You can set .._buffer_pool_size up to 50 - 80 %
  80. # of RAM but beware of setting memory usage too high
  81. innodb_file_format=barracuda
  82. innodb_file_format_max=barracuda
  83. innodb_file_per_table=1
  84. innodb_fast_shutdown=0
  85. innodb_buffer_pool_size = 90000M
  86. innodb_buffer_pool_instances = 4
  87. #innodb_additional_mem_pool_size = 20M
  88. #innodb_use_sys_malloc = 20M
  89. # Set .._log_file_size to 25 % of buffer pool size
  90. innodb_log_file_size = 512M
  91. #innodb_log_buffer_size = 8M
  92. innodb_log_files_in_group = 3
  93. innodb_flush_log_at_trx_commit = 2
  94. innodb_lock_wait_timeout = 3
  95. innodb_rollback_on_timeout = on
  96. innodb_flush_method=O_DIRECT
  97. transaction-isolation=READ-COMMITTED
  98. innodb_thread_concurrency=0
  99. innodb_io_capacity=800
  100. innodb_purge_threads=1
  101. innodb_open_files=65535
  102. #innodb_stats_update_need_lock=0
  103. #innodb_flush_neighbor_pages=0
  104. #innodb_aio_pending_ios_per_thread=256
  105. #for binlog_format=row
  106. innodb_autoinc_lock_mode=2
  107. #innodb_fast_checksum = 1
  108. innodb_read_io_threads = 8
  109. innodb_write_io_threads = 12
  110. innodb_stats_on_metadata = 0
  111. #使用线程池处理连接
  112. thread_handling=pool-of-threads
  113. thread_pool_oversubscribe=30
  114. thread_pool_size=64
  115. thread_pool_idle_timeout=7200
  116. thread_pool_max_threads=2000
  117. #查询优化器开关
  118. #optimizer_switch='index_condition_pushdown=on'
  119. #optimizer_switch='mrr=on'
  120. #optimizer_switch='mrr_sort_keys=on'
  121. #optimizer_switch='mrr_cost_based=off'
  122. #mrr_buffer_size=32M
  123. #optimizer_switch='join_cache_incremental=on'
  124. #optimizer_switch='join_cache_hashed=on'
  125. #optimizer_switch='join_cache_bka=on'
  126. #join_cache_level=4
  127. #join_buffer_size=32M
  128. #join_buffer_space_limit=32M
  129. [mysqldump]
  130. quick
  131. max_allowed_packet = 16M
  132. [mysql]
  133. no-auto-rehash
  134. # Remove the next comment character if you are not familiar with SQL
  135. #safe-updates
  136. [myisamchk]
  137. key_buffer_size = 256M
  138. sort_buffer_size = 256M
  139. read_buffer = 2M
  140. write_buffer = 2M
  141. [isamchk]
  142. key_buffer_size = 256M
  143. sort_buffer_size = 256M
  144. read_buffer = 2M
  145. write_buffer = 2M
  146. [mysqlhotcopy]
  147. interactive-timeout
  148. 2 如下为256G内存64线程处理器的mariadb配置参数优化:
  149. [client]
  150. #password= your_password
  151. port= 3306         
  152. socket= /tmp/mysql.sock
  153. !includedir /opt/local/mysql/wsrep
  154. # The MySQL server
  155. [mysqld]
  156. port= 3306
  157. socket= /tmp/mysql.sock
  158. basedir = /opt/local/mysql
  159. datadir=/opt/local/mysql/data                   #数据库存放目录
  160. relay-log=/opt/local/mysql/relaylog/s74-relay-bin                        
  161. pid-file = /opt/local/mysql/mysql.pid
  162. log-error = /opt/local/mysql/logs/mysqld.log
  163. open_files_limit = 65535                        #
  164. #skip-locking
  165. skip-external-locking                           #跳过外部锁定
  166. back_log=3000                                   #暂存的连接数量  
  167. skip-name-resolve                               #关闭mysql的dns反查功能
  168. memlock                                         #将mysqld 进程锁定在内存中
  169. lower_case_table_names = 1
  170. #query_response_time_stats=1
  171. #core-file
  172. #core-file-size = unlimited
  173. query_cache_type=1                              #查询缓存  (0 = off、1 = on、2 = demand)
  174. performance_schema=0                            #收集数据库服务器性能参数
  175. net_read_timeout=3600                           #连接繁忙阶段(query)起作用
  176. net_write_timeout=3600                          #连接繁忙阶段(query)起作用
  177. key_buffer_size = 32M                           #设置索引块缓存大小
  178. max_allowed_packet = 128M                       #通信缓冲大小
  179. table_open_cache = 1024                         #table高速缓存的数量
  180. sort_buffer_size = 12M                          #每个connection(session)第一次需要使用这个buffer的时候,一次性分配设置的内存
  181. read_buffer_size = 8M                           #顺序读取数据缓冲区使用内存
  182. #sort_buffer_size = 32M
  183. #read_buffer_size = 32M
  184. read_rnd_buffer_size = 32M                      #随机读取数据缓冲区使用内存
  185. myisam_sort_buffer_size = 32M                   #MyISAM表发生变化时重新排序所需的缓冲
  186. thread_cache_size = 120                         #重新利用保存在缓存中线程的数量
  187. query_cache_size = 64M
  188. join_buffer_size = 8M                           #Join操作使用内存
  189. bulk_insert_buffer_size = 32M                   #批量插入数据缓存大小
  190. delay_key_write=ON                              #在表关闭之前,将对表的update操作指跟新数据到磁盘,而不更新索引到磁盘,把对索引的更改记录在内存。这样MyISAM表可以使索引更新更快。在关闭表的时候一起更新索引到磁盘
  191. delayed_insert_limit=4000
  192. delayed_insert_timeout=600
  193. delayed_queue_size=4000
  194. # Try number of CPU's*2 for thread_concurrency
  195. # The variable only affects Solaris!
  196. thread_concurrency = 96                          #CPU核数 * 2
  197. max_connections=1500                            #最大连接(用户)数。每个连接MySQL的用户均算作一个连接
  198. max_connect_errors=30                           #最大失败连接限制
  199. interactive_timeout=600                         #服务器关闭交互式连接前等待活动的秒数
  200. wait_timeout=3600                               #服务器关闭非交互连接之前等待活动的秒数
  201. slow_query_log                                  #慢查询记录日志
  202. long_query_time = 0.1                           #慢查询记录时间  0.1秒
  203. slow_query_log_file=/opt/local/mysql/logs/slow_query.log            #慢查询日志路径
  204. #log_slow_verbosity=full
  205. log_slow_verbosity=query_plan                   #
  206. # Replication Master Server (default)
  207. # binary logging is required for replication
  208. log-bin=/opt/local/mysql/binlog/mysql-bin                               #binlog 名称
  209. log-slave-updates                               #从master取得并执行的二进制日志写入自己的二进制日志文件中
  210. replicate-ignore-db=mysql                       #不同步的表
  211. # binary logging format - mixed recommended
  212. binlog_format=row                               #binlog 格式 分别为 row=行格式 丶 mixed=混合格式 丶 STATEMENT=SQL语句复制模式
  213. event_scheduler=1                               #计划任务 事件调度器
  214. # required unique id between 1 and 2^32 - 1
  215. # defaults to 1 if master-host is not set
  216. # but will not function as a master if omitted
  217. server-id= 1                                 #
  218. # Point the following paths to different dedicated disks
  219. #tmpdir= /tmp/
  220. #log-update = /path-to-dedicated-directory/hostname
  221. # Uncomment the following if you are using InnoDB tables
  222. #innodb_data_home_dir = /data/mysql-5.1.48/mysql-data/
  223. #innodb_data_file_path = ibdata1:2000M;ibdata2:10M:autoextend
  224. #innodb_log_group_home_dir = /data/mysql-5.1.48/mysql-data/
  225. # You can set .._buffer_pool_size up to 50 - 80 %
  226. # of RAM but beware of setting memory usage too high
  227. innodb_file_format=barracuda
  228. innodb_file_format_max=barracuda
  229. innodb_file_per_table=1
  230. innodb_fast_shutdown=0
  231. innodb_buffer_pool_size = 180000M
  232. innodb_buffer_pool_instances = 4
  233. #innodb_additional_mem_pool_size = 20M
  234. #innodb_use_sys_malloc = 20M
  235. # Set .._log_file_size to 25 % of buffer pool size
  236. innodb_log_file_size = 512M
  237. #innodb_log_buffer_size = 8M
  238. innodb_log_files_in_group = 3
  239. innodb_flush_log_at_trx_commit = 2
  240. innodb_lock_wait_timeout = 3
  241. innodb_rollback_on_timeout = on
  242. innodb_flush_method=O_DIRECT
  243. transaction-isolation=READ-COMMITTED
  244. innodb_thread_concurrency=0
  245. innodb_io_capacity=800
  246. innodb_purge_threads=1
  247. innodb_open_files=65535
  248. #innodb_stats_update_need_lock=0
  249. #innodb_flush_neighbor_pages=0
  250. #innodb_aio_pending_ios_per_thread=256
  251. #for binlog_format=row
  252. innodb_autoinc_lock_mode=2
  253. #innodb_fast_checksum = 1
  254. innodb_read_io_threads = 8
  255. innodb_write_io_threads = 12
  256. innodb_stats_on_metadata = 0
  257. #使用线程池处理连接
  258. thread_handling=pool-of-threads
  259. thread_pool_oversubscribe=30
  260. thread_pool_size=64
  261. thread_pool_idle_timeout=7200
  262. thread_pool_max_threads=2000
  263. #查询优化器开关
  264. #optimizer_switch='index_condition_pushdown=on'
  265. #optimizer_switch='mrr=on'
  266. #optimizer_switch='mrr_sort_keys=on'
  267. #optimizer_switch='mrr_cost_based=off'
  268. #mrr_buffer_size=32M
  269. #optimizer_switch='join_cache_incremental=on'
  270. #optimizer_switch='join_cache_hashed=on'
  271. #optimizer_switch='join_cache_bka=on'
  272. #join_cache_level=4
  273. #join_buffer_size=32M
  274. #join_buffer_space_limit=32M
  275. [mysqldump]
  276. quick
  277. max_allowed_packet = 16M
  278. [mysql]
  279. no-auto-rehash
  280. # Remove the next comment character if you are not familiar with SQL
  281. #safe-updates
  282. [myisamchk]
  283. key_buffer_size = 256M
  284. sort_buffer_size = 256M
  285. read_buffer = 2M
  286. write_buffer = 2M
  287. [isamchk]
  288. key_buffer_size = 256M
  289. sort_buffer_size = 256M
  290. read_buffer = 2M
  291. write_buffer = 2M
  292. [mysqlhotcopy]
  293. interactive-timeout


  294. 作者:若有所思11
  295. 链接:https://www.jianshu.com/p/ac05107db343
  296. 來源:简书
  297. 简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
  298. “我们知道,世界上存在着已知的已知事物,也就是说有些事情我们知道自己知道,而我们也知道世上存在着被人所知的不明事物,这就是说有些事情我们知道自己不知道。同时,世上还存在着我们不知道的不明事物,也就是说我们不知道自己不知道。”
复制代码


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表