我是靠谱客的博主 危机钻石,最近开发中收集的这篇文章主要介绍centos-linux下mysql的常用配置my.cnf,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

创建mysql相关的目录

#mkdir -p /data/mysql/{data,log,innodb}
#chown -R mysql.mysql /data/mysql/

my.cnf v1.0

http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html

[client]
default-character-set = utf8mb4

[mysql]
default-character-set = utf8mb4

[mysqld]

设置utf8mb4字符集###

character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect=‘SET NAMES utf8mb4’

通用

#skip-grant-tables 跳过授权密码登录
port=3306

使用mysql系统账号操作进程

user = mysql

路径设置-开始-baseDir###

basedir = /usr/local/mysql
datadir = /data/mysql/data
socket = /data/mysql/mysql.sock
pid-file = /data/mysql/mysqld.pid

mysql错误日志

log_error = /data/mysql/log/error.log

mysql所有操作日志

general_log_file = /data/mysql/log/general.log

慢查询日志

slow_query_log_file =/data/mysql/log/slowquery.log

开启binlog日志

log-bin = /data/mysql/log/mysql-bin

innodb日志文件存放位置

innodb_log_group_home_dir = /data/mysql/innodb
###innodb共享表空间文件
innodb_data_home_dir = /data/mysql/innodb

路径设置-结束-baseDir###

开启binlog日志

server-id = 1
#log_bin_basename
#log_bin_index

mysql所有操作日志 生产服务器不开启

general_log = OFF
#general_log_file

慢查询日志

slow_query_log = ON
#slow_query_log_file

超过0.5秒记录

long_query_time = 0.2

InnoDB打开idb文件数量

innodb_open_files = 512
innodb_buffer_pool_size = 4G
innodb_buffer_pool_instances = 1

mysql允许的并发操作数量

max_connections = 512

mysql连接池线程数量

thread_cache_size = 256

在缓冲区中表的数量 一般4g内存2048

table_open_cache = 512
key_buffer_size = 1G

关闭一个交互的连接之前所要等待的秒数

interactive_timeout = 200

关闭一个非交互的连接之前所要等待的秒数

wait_timeout = 200

0不自动提交 1自动提交事务

autocommit = 1

mysql可以timestamp字段可以使用null

explicit_defaults_for_timestamp = ON

跳过反向域名解析(mysql不可使用域名登录)

skip_name_resolve = ON

MySQL暂时停止回答新请求之前的短时间内多少个请求可以被存在堆栈中

back_log = 256

错误连接次数

max_connect_errors = 30

每次最大提交数据包大小

max_allowed_packet = 8M

二进制缓冲区日志大小

binlog_cache_size = 1M

MEMORY引擎单表大小

max_heap_table_size = 1024M

每个临时表大小

tmp_table_size = 2M

每客户端索引和表查询数据缓冲区大小

read_rnd_buffer_size = 2M

全表扫描数据缓冲区大小

read_buffer_size = 2M

批量写入缓冲区大小

bulk_insert_buffer_size = 16M

每客户端排序数据缓冲区大小

sort_buffer_size = 256K

每客户端join数据缓冲区大小

join_buffer_size = 512K

关闭查询缓存(QC)

query_cache_size = 0
query_cache_type = 0

mysql事务隔离级别

transaction_isolation = READ-COMMITTED

sql语句执行时间大于long_query_time至少被检查到的次数。

min_examined_row_limit = 100

mysql未使用索引或索引扫描是否被记录到慢查询日志中

log_queries_not_using_indexes = 1

用来表示每分钟允许记录到slow log的且未使用索引的SQL语句次数

log_throttle_queries_not_using_indexes = 10

记录管理语句

log_slow_admin_statements = 1

记录复制语句

log_slow_slave_statements = 1

记录警告日志

log_warnings = 1

配置表名不区分大小写 1:不区分

lower_case_table_names = 1

最后

以上就是危机钻石为你收集整理的centos-linux下mysql的常用配置my.cnf的全部内容,希望文章能够帮你解决centos-linux下mysql的常用配置my.cnf所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(47)

评论列表共有 0 条评论

立即
投稿
返回
顶部