Mysql之参数优化了解

一、优化的配置文件

[client]
port=3306
socket=/tmp/MySQL.sock

[mysqld]

# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
innodb_buffer_pool_size = 3G

# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin

# These are commonly set, remove the # and set as required.
user = mysql
basedir = /app/mysql
datadir = /app/mysql/data
port=3307
server-id = 1
socket=/tmp/mysql.sock

#允许创建函数
log_bin_trust_function_creators = 1

character-set-server = utf8
#log-error = /var/log/mysql/error.log
#pid-file = /var/log/mysql/mysql.pid
general_log = 1
skip-name-resolve
#skip-networking
back_log = 300

max_connections = 1000
max_connect_errors = 6000
open_files_limit = 65535
table_open_cache = 4096 
max_allowed_packet = 100M
binlog_cache_size = 10M
max_heap_table_size = 32M
tmp_table_size = 64M

read_buffer_size = 8M
read_rnd_buffer_size = 8M
sort_buffer_size = 8M
join_buffer_size = 128M
key_buffer_size = 8M

thread_cache_size = 64

query_cache_type = 1
query_cache_size = 128M
query_cache_limit = 2M

ft_min_word_len = 4

log_bin = mysql-bin
binlog_format = mixed
expire_logs_days = 30

performance_schema = 0
explicit_defaults_for_timestamp

lower_case_table_names = 1

myisam_sort_buffer_size = 8M
myisam_repair_threads = 1

interactive_timeout = 28800
wait_timeout = 28800

# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M

# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

# Recommended in standard MySQL setup
sql_mode=NO_ENGINE_SUBSTITUTION,NO_AUTO_CREATE_USER,STRICT_TRANS_TABLES

[mysqldump]
quick
max_allowed_packet = 16M

二、参数解释查看

max_connections = 1000             #客户端连接数
max_connect_errors = 6000        #错误连接数
-----
mysql> show variables like '%conn%';
+-----------------------------------------------+-----------------+
| Variable_name                                 | Value           |
+-----------------------------------------------+-----------------+
| character_set_connection                      | utf8            |
| collation_connection                          | utf8_general_ci |
| connect_timeout                               | 10              |
| disconnect_on_expired_password                | ON              |
| init_connect                                  |                 |
| max_connect_errors                            | 6000            |
| max_connections                               | 1000            |
| max_user_connections                          | 0               |
| performance_schema_session_connect_attrs_size | 0               |
+-----------------------------------------------+-----------------+
9 rows in set (0.01 sec)
-----
查看系统当前连接数
mysql> show status like 'Threads%';
+-------------------+-------+
| Variable_name     | Value |
+-------------------+-------+
| Threads_cached    | 9     |
| Threads_connected | 3     |    #连接数
| Threads_created   | 12    |
| Threads_running   | 2     |
+-------------------+-------+
4 rows in set (0.01 sec)
----------------------------------------------------------------------------------------------------
table_open_cache=4096     
#通常此值需要大于Opened_tables值
查看当前Opened_tables值
mysql> show status like '%Opened%';
+--------------------------+-------+
| Variable_name            | Value |
+--------------------------+-------+
| Opened_files             | 2979  |
| Opened_table_definitions | 1     |
| Opened_tables            | 1     |         #对比
+--------------------------+-------+
3 rows in set (0.00 sec)
----------------------------------------------------------------------------------------------------
max_heap_table_size = 32M
tmp_table_size = 64M
#参考文档:https://www.jb51.net/article/85341.htm
mysql> show status like '%created_tmp%';      #查看当前情况
+-------------------------+-------+
| Variable_name           | Value |
+-------------------------+-------+
| Created_tmp_disk_tables | 2921  |
| Created_tmp_files       | 11    |
| Created_tmp_tables      | 8476  |
+-------------------------+-------+
3 rows in set (0.00 sec)
----------------------------------------------------------------------------------------------------
read_buffer_size = 8M
read_rnd_buffer_size = 8M
sort_buffer_size = 8M
join_buffer_size = 128M
key_buffer_size = 8M
参考文档:https://www.jb51.net/article/84170.htm

----------------------------------------------------------------------------------------------------
innodb_buffer_pool_size = 3G                #最大建议值为内存的75%

---------------------------------------------------------------------------------------------------
thread_cache_size = 64
系统参数:
mysql> show global status like 'Threads_%';
+-------------------+-------+
| Variable_name     | Value |
+-------------------+-------+
| Threads_cached    | 9     |         #这就是thread_cache_size
| Threads_connected | 3     |
| Threads_created   | 12    |
| Threads_running   | 2     |
+-------------------+-------+
4 rows in set (0.00 sec)
参考文档:https://www.jianshu.com/p/47adb747652d

---------------------------------------------------------------------------------------------------
query_cache_type = 1
query_cache_size = 128M
query_cache_limit = 2M

mysql> SHOW VARIABLES LIKE 'have_query_cache'; 
+------------------+-------+
| Variable_name    | Value |
+------------------+-------+
| have_query_cache | YES   |
+------------------+-------+
1 row in set (0.00 sec)

mysql> SHOW STATUS LIKE 'Qcache%'; 
+-------------------------+-----------+
| Variable_name           | Value     |
+-------------------------+-----------+
| Qcache_free_blocks      | 1         |
| Qcache_free_memory      | 134200384 |
| Qcache_hits             | 0         |
| Qcache_inserts          | 0         |
| Qcache_lowmem_prunes    | 0         |
| Qcache_not_cached       | 6         |
| Qcache_queries_in_cache | 0         |
| Qcache_total_blocks     | 1         |
+-------------------------+-----------+
8 rows in set (0.00 sec)

参考文档:https://blog.csdn.net/u014044812/article/details/78924315

本文标题:Mysql之参数优化了解
文章地址:http://scyanting.com/article/jgiddo.html