mysql-优化班学习-4-20170518-my.cnf的配置解释-2

mysql-优化班学习-4-20170518

[mysql]
prompt="\\u@HOSTNAME \\R:\\m:\\s [\\d]> "
no-auto-rehash[mysql]
prompt="\\u@HOSTNAME \\R:\\m:\\s [\\d]> "
no-auto-rehash
【群主】叶金荣(4700963)  20:39:35

[mysql]
prompt="\\u@HOSTNAME \\R:\\m:\\s [\\d]> "
no-auto-rehash
【群主】叶金荣(4700963)  20:39:45
prompt 提示符
【群主】叶金荣(4700963)  20:40:00
yejr@imysql.com [sys]>
 

 

 [mysqld]
user    = mysql
port    = PORT
basedir = BASEDIR
datadir = DATADIR
socket  = SOCKET
pid-file = HOSTNAME.pid
character-set-server = utf8mb4   //现在5.7建议使用这个配置
skip_name_resolve = 1               //不会读/etc/hosts文件,加快客户端连接的速度
open_files_limit    = 65535         //允许打开的文件数
back_log = 1024                        //server端可以暂缓的连接数配置数,对性能影响不大
max_connections = MAX_CONN   //主要看设备的能力,比如设备可以承载1000个连接,建议设置80% 即800
max_connect_errors = 1000000  //全局生效的,某个唯一的客户端连接超过这个数量的时候会把它屏蔽掉
 
sort_buffer_size = SORT_BUF_SIZE  //用于排序操作,没有索引的话,
join_buffer_size = JOIN_BUF_SIZE   //bk使用
thread_cache_size = THREAD_CACHE  //连接缓存,每个客户端连接进来后,当前没有空闲的thread cache的话需要新创建个线程,如果有富余的话,直接从这个里面取

read_rnd_buffer_size = READ_RND_BUFFER // 用来提高随机读  MRR
 
query_cache_size = 0
query_cache_type = 0 
 
interactive_timeout = 600   
wait_timeout = 600 
 
tmp_table_size = TMP_TABLE_SIZE   一般设置200Mb以内即可
max_heap_table_size = TMP_TABLE_SIZE  一般设置200Mb以内即可
 
long_query_time = 0.1   100毫秒开始记录慢日志
 

sync_binlog = 1   记住即可
innodb_flush_log_at_trx_commit = 1  记住即可

expire_logs_days = 7  自动清除7天前的binlog

 

master_info_repository = TABLE
relay_log_info_repository = TABLE

 

gtid_mode = on

默认一定要打开gtid

binlog_format = row  默认要设置为行模式
 
relay_log_recovery = 1   slave 如果carsh的话 再启动后 会从主拉取relaylog
relay-log-purge = 1   自动删除过期的relaylog

 

lock_wait_timeout = 3600  默认是1年 这里设置为3600秒 一个小时

innodb_thread_concurrency = 0 不控制并发线程数

 
# 根据您的服务器IOPS能力适当调整
# 一般配普通SSD盘的话,可以调整到 10000 - 20000
# 配置高端PCIe SSD卡的话,则可以调整的更高,比如 50000 - 80000
innodb_io_capacity = 4000
innodb_io_capacity_max = 8000

innodb_open_files = 65535 

在老叶茶馆搜索open_files_limits

performance_schema = 1   //建议默认打开,如果有问题再关闭

 

innodb_lru_scan_depth = 4000 建议配置为4000,扫描lru列表的深度
 
innodb_buffer_pool 设置为物理内存的70%即可

 
Aborted_connects,试图连接到 MySQL 服务器而失败的连接数。 

Aborted_clients,由于客户端没有正确关闭连接导致客户端终止而中断的连接数。 

Created_tmp_disk_tables,服务器执行语句时在硬盘上自动创建的临时表的数量。是指在排序时,内存不够 用(tmp_table_size 小于需要排序的结果集),所以需要创建基于磁盘的临时表进 行排序。

Created_tmp_tables,服务器执行语句时自动创建的内存中的临时表的数量。如果 Created_tmp_disk_tables 较大,你可能要增加 tmp_table_size 值使临时表基于内 存而不基于硬盘。 

建议:Created_tmp_disk_tables/(Created_tmp_disk_tables+Created_tmp_tables)* 100% > 10%的话,就需要注意适当 高 tmp_table_size 的大小 但是不能设置太大,因为它是每个 session 都会分配的,可能会导致 OOM

 

Handler_read_rnd
根据固定位置读一行的请求数。如果你正执行大量查询并需要对结果进行排序该 值较高,说明可能使用了大量需要 MySQL 扫 整个表的查询或没有正确使用索 引。
例如:select * from t limit 1000,1;
或者:select * from t order by non_key_col limit 100,1;

 

Handler_read_rnd_next

在数据文件中读下一行的请求数。如果你正进行大量的表扫 ,该值会较高。通 常说明你的表索引不正确或写入的查询没有利用索引。
例如:select * from t order by non_key_col limit 100; 

 

 Handler_read_first
【群主】叶金荣(4700963)  21:45:24
Handler_read_key
【群主】叶金荣(4700963)  21:45:28
Handler_read_last
【群主】叶金荣(4700963)  21:45:32
Handler_read_next
【群主】叶金荣(4700963)  21:45:35
Handler_read_prev
 
等待事件:
Innodb_buffer_pool_wait_free 

一般情况,通过后台向 Innodb buffer pool 写。但是,如果需要读或创建页,并且 没有干净的页可用,则它还需要先等待页面清空。该计数器对等待实例进行记数。 如果已经适当设置 Innodb buffer pool 大小,该值应小。

 
Innodb_log_waits
我们必须等待的时间,因为日志缓冲区太小,我们在继续前必须先等待对它清空。 
 
Innodb_row_lock_current_waits
当前等待的待锁定的行数。 
 
| Table_open_cache_hits                         | 15                                               |
| Table_open_cache_misses                       | 115 

Select_full_join
没有使用索引的联接的数量。如果该值不为 0,你应仔细检查表的索引。 

 

mysqladmin ext  |grep -i 'open.*table' 
 
open-tables,表示当前正在打开的table数量

opened-tables,表示历史上总共打开过的table数量

 

 

 

mysql> show processlist;
+----------+------+-----------------+--------------------------+---------+------+-------+------------------+
| Id | User | Host | db | Command | Time | State | Info |
+----------+------+-----------------+--------------------------+---------+------+-------+------------------+
| 40873514 | root | localhost | NULL | Query | 0 | init | show processlist |
+----------+------+-----------------+--------------------------+---------+------+-------+------------------+
614 rows in set (0.01 sec)

mysql> pager cat - | grep -v Sleep
PAGER set to 'cat - | grep -v Sleep'
mysql> pager cat - | grep -v Sleep | sort -rn -k 12 | head -n 20
PAGER set to 'cat - | grep -v Sleep | sort -rn -k 12 | head -n 20'
mysql> show processlist;
| Id | User | Host | db | Command | Time | State | Info |
| 40873514 | root | localhost | NULL | Query | 0 | init | show processlist |
+----------+------+-----------------+--------------------------+---------+------+-------+------------------+
+----------+------+-----------------+--------------------------+---------+------+-------+------------------+
+----------+------+-----------------+--------------------------+---------+------+-------+------------------+
614 rows in set (0.00 sec)

 

转载于:https://www.cnblogs.com/wanggl/p/6875477.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值