mysql 指定域_mysql常用配置说明

查看配置# 要查看默认值和自定义配置的值

mysqld --verbose --help

# 查看 mysql 正在使用的参数值

mysqladmin variables

# 只查看默认值

mysqld --no-defaults --verbose --help

常用配置说明

客户端配置[client]

# 客户端的默认连接端口

port=3306

# 本地通信使用的套接字

socket=/run/mysqld/mysqld.sock

# 客户端默认编码

default-character-set=utf8mb4

服务端配置[mysqld]

# 监听端口

port=3306

# 本地通信使用的套接字

socket=/run/mysqld/mysqld.sock

# pid 文件

pid-file=/run/mysqld/mysqld.pid

# 记录启动、关闭、警告、错误等日志

log_error=/var/log/mysql/error.log

# 启动用户

user=mysql

# 数据库程序安装目录

basedir=/usr

# 数据库文件存放目录

datadir=/data

# 临时目录

tmpdir=/tmp

# 跳过 MyISAM 数据表外部锁定

# MyISAM 数据表在多进程共用同一个数据库目录时访问需要锁定

skip-external-locking

# 禁用域名解析

skip-name-resolve

# 禁用端口访问

#skip-networking

# 绑定 ip 地址

bind-address=0.0.0.0

# MyISAM 存储引擎的线程共享索引缓冲区大小

key_buffer_size=64M

# 并发连接时缓存打开表的最大总数

# 每当 MySQL 访问一个表时,如果表缓冲区中还有空间,该表就被打开并放入其中,以此加速访问表

# 通过 SHOW GLOBAL STATUS LIKE 'Open%tables' 检查峰值时间的状态值 Open_tables 和 Opened_tables 来判断是否需要增加 table_open_cache 的值

# 推荐设置值

# Open_tables / Opened_tables >= 0.85

# Open_tables / table_open_cache <= 0.95

table_open_cache=512

# 设置 order by 和 group by 排序操作缓冲区大小

sort_buffer_size=1M

# 服务端最大允许接收的数据包大小

max_allowed_packet=1M

# 数据包缓冲区初始化大小,会根据需要最大增长至 max_allowed_packet

net_buffer_length=8K

# 对 MyISAM 数据表进行顺序扫描时每个线程的缓冲区大小

read_buffer_size=1M

# 对任何数据表随机扫描时每个线程的缓冲区大小

read_rnd_buffer_size=512K

# 在 REPAIR TABLE 期间对 MyISAM 索引进行排序或使用 CREATE INDEX 或 ALTER TABLE 创建索引时分配的缓冲区大小

myisam_sort_buffer_size=16M

# 线程池大小

thread_cache_size=16

# 对于读多写少的环境设置 1 启用查询缓存会对性能有所提升

# 0 默认值,禁用查询缓存

# 1 缓存所有以 SELECT 开头的可缓存查询结果,SELECT SQL_NO_CACHE 除外

# 2 仅缓存以 SELECT SQL_CACHE 开头的可缓存查询结果

query_cache_type=1

# 启用查询缓存时,会缓存 SELECT 语句和对应的结果集,设置查询缓存的大小

query_cache_size=16M

# 内部内存临时表的最大大小,超出限制时会自动将其转换为磁盘上的临时表

tmp_table_size=32M

# 默认为 false 情况下

# 如果 TIMESTAMP 列未指定 NULL 属性,该列会自动添加 NOT NULL 属性,如果向列中插入 NULL 会自动设置为 CURRENT_TIMESTAMP 值

# 如果表中第一个 TIMESTAMP 列未指定 NULL 属性或默认值,也没有指定 ON UPDATE 语句,该列会自动添加 DEFAULT CURRENT_TIMESTAMP 和 ON UPDATE CURRENT_TIMESTAMP 属性

# 非第一个 TIMESTAMP 列,如果没有指定未指定 NULL 属性和默认值,该列会自动添加 DEFAULT '0000-00-00 00:00:00'属性

explicit_defaults_for_timestamp=true

# 最大并发连接数

max_connections=500

# 允许客户端错误连接最大次数,超过将被拉黑

max_connect_errors=100

# 最大打开文件数

open_files_limit=65535

# 服务器 ID,互相通信的服务器 ID 不允许重复

server-id=1

# 二进制日志,相对于 datadir 路径

log-bin=/var/log/mysql/mysql-bin

#relay_log=/var/log/mysql/mysql-relay-bin

# 二进制日志格式

binlog_format=mixed

# 二进制日志保留天数

expire_logs_days=14

# 设置自增的增量

auto_increment_increment=1

# 设置自增起始值

auto_increment_offset=1

# 默认新数据表的存储引擎

default_storage_engine=InnoDB

# 每个数据库的每个表都会生成一个数据空间(.ibd 文件)

innodb_file_per_table=1

# 如果不指定,则所有 InnoDB TableSpace 文件只能存放在 datadir 中

# 如果指定为空,则可为 InnoDB TableSpace 文件指定不同路径

# 如果指定路径,则所有 InnoDB TableSpace 文件只能存放在指定路径中

#innodb_data_home_dir=

# 设置存储 InnoDB 数据表的表空间存放位置、最大长度等属性

# 每个表空间文件规则用 ; 间隔

# 最后一个表空间可以使用 autoextend 和 max:n 属性

innodb_data_file_path=ibdata1:10M:autoextend

# InnoDB 缓存池大小

innodb_buffer_pool_size=128M

# 指定 InnoDB 事务日志(如 ib_logfile0、ib_logfile1)存放路径

innodb_log_group_home_dir=/var/log/mysql

# 每个 InnoDB 事务日志大小

innodb_log_file_size=64M

# InnoDB 事务日志缓冲区大小

innodb_log_buffer_size=8M

# InnoDB 事务日志同步磁盘时机

# 0 每次 COMMIT 将事务日志写进了日志缓冲区,然后每隔一秒将缓冲区的事务日志同步到磁盘,性能最好,但 mysqld 进程崩溃会导致上一秒钟所有事务数据的丢失

# 1 每次 COMMIT 将事务日志同步到磁盘,mysqld 崩溃不会丢失数据,但频繁的 IO 操作导致效率低下

# 2 每次 COMMIT 将事务日志写进了日志缓冲区并同时写入系统缓冲区,然后每隔一秒将缓冲区的事务日志同步到磁盘, mysqld 崩溃时不会丢失日志,折衷的举措

innodb_flush_log_at_trx_commit=1

# 如果某个事务在等待 n 秒后仍未获得所需要的资源,就执行 ROLLBACK 回滚该事务

innodb_lock_wait_timeout=50

# 默认的编码

character-set-server=utf8mb4

# 默认的排序规则

collation-server=utf8mb4_general_ci

其他配置# mysqldump 工具的配置

[mysqldump]

quick

max_allowed_packet=16M

# mysql 工具的配置

[mysql]

# 自动补全表名、字段名

auto-rehash

prompt="\\u@\\h:\\d \\p>"

default-character-set=utf8mb4

# myisamchk 工具的配置

[myisamchk]

key_buffer_size=64M

sort_buffer_size=1M

read_buffer=2M

write_buffer=2M

# mysqlhotcopy 工具的配置

[mysqlhotcopy]

interactive-timeout

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值