前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MySQL配置参数

MySQL配置参数

作者头像
陳斯托洛夫斯記
发布2022-10-27 14:47:29
2.2K0
发布2022-10-27 14:47:29
举报
文章被收录于专栏:XBD
一部分参数配置
代码语言:javascript
复制
vim /etc/my.cnf

[client]
port=3306
socket=/var/lib/mysql/mysql.sock
default-character-set=utf8mb4

[mysql]
default-character-set=utf8mb4
prompt="\u@mysqldb \R:\m:\s [\d]>"
no-auto-rehash

[mysqld]
use=mysql
port=3306
socket=/var/lib/mysql/mysql.sock
pid-file=/var/lib/mysql/mysql.pid
datadir=/var/lib/mysql
character-set-server=utf8mb4			# 服务端编码
collation-server=utf8mb4_general_ci
init_connect='SET NAMES utf8mb4'
lower_case_table_names=1			# sql大小写敏感,1为不敏感
open_files_limit=65535
max_connections=2000
max_connect_errors=100000			# 对于同一主机,如果有超出该参数值个数的中断错误连接,则该主机将被禁止连接,如需对该主机解禁,执行flush host
back_log=1024					# 如果mysql的连接数达到max_connections时,新来的请求将会被存在堆栈中,以等待某一连接释放资源,该堆栈的数量即back_log,如果等待连接的数量超过back_log,将不被授予连接资源
default_storage_engine=InnoDB			# 设置默认存储引擎
skip-name-resolve
table_open_cache=1024
read_buffer_size=16M				# 读入缓冲区大小
read_rnd_buffer_size=8M				# 随机读缓冲区大小
sort_buffer_size=8M				# 顺序读缓冲区大小
sql_mode = NO_ENGINE_SUBSTITUTION,NO_AUTO_CREATE_USER	# 定义了mysql应该支持的sql语法,NO_AUTO_CREATE_USER表示禁止grant创建密码为空的用户

# master-slave Setting
skip-slave-start				# 复制环境的数据库建议设置该参数,防止复制随着数据库启动而自动启动
slave_net_timeout=30				# mysql主从,当master和slave之间的网络中断,slave会等待30秒,才认为网络出现故障,然后才会重新连接并追赶这段时间主库的数据

# InnoDB Setting
innodb_page_size=8k				# 这个参数一开始初始化就要加入到配置文件中,如果创建了表,在修改,启动mysql会报错,最好为8k
innodb_buffer_pool_size=2G			# 数据缓冲区buffer pool大小,建议使用物理内存的75%
innodb_file_per_table=1				# 独立表空间

# Log Setting
general_log=1					# 开启通用日志
general_log_file=/var/log/mysql/general.log 	# 通用日志保存路径
slow_query_log=1 				# 开启慢查询
long_query_time=5				# 慢查询阀值
slow_query_log_file=/var/log/mysql/slow.log 	# 慢查询日志保存路径
log_output=FILE
log_error=/var/log/mysql/error.log
log_queries_not_using_indexes=1			# 表示记录下没有使用索引的查询
log_slow_admin_statements=1			# 记录管理语句
expire_logs_days=15				# 二进制日志自动删除的天数,默认为0,表示不自动删除
max_binlog_size=1G

sql模式

mysql数据库中的sql_mode模式
代码语言:javascript
复制
ONLY_FULL_GROUP_BY			# 对于GROUP BY聚合操作,如果在SELECT中的列,没有在GROUP BY中出现,那么将认为这个SQL是不合法的,因为列不在GROUP BY从句中
	STRICT_TRANS_TABLES		# 在该模式下,如果一个值不能插入到一个事务表中,则中断当前的操作,对非事务表不做任何限制
	NO_ZERO_IN_DATE			# 在严格模式,不接受月或日部分为0的日期
	NO_ZERO_DATE			# 在严格模式,不要将0000-00-00做为合法日期
	ERROR_FOR_DIVISION_BY_ZERO
	NO_AUTO_CREATE_USER		# 防止grant自动创建新用户,除非还指定了密码
	NO_ENGINE_SUBSTITUTION		# 如果需要的存储引擎被禁用或未编译,那么就抛出错误,不设置此值时,用默认的存储引擎替代
查看sql_mode
代码语言:javascript
复制
mysql> select @@sql_mode;		# 查看当前数据库使用的sql_mode
mysql> select @@session.sql_mode;	# 查看当前连接会话的sql_mode模式
mysql> show variables like 'sql_mode';	# 从环境变量查看sql_mode模式
mysql> select @@global.sql_mode;	# 查看全局sql_mode设置
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一部分参数配置
  • sql模式
    • mysql数据库中的sql_mode模式
      • 查看sql_mode
      相关产品与服务
      云数据库 MySQL
      腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档