mysql config_MySQL Config

编码

Linux 上修改 /etc/my.cnf。windows 上 my.ini,一般会在安装目录的根目录。

Linux 用 rpm 包安装的 MySQL 没有 /etc/my.cnf 文件,默认用 /usr/share/mysql/my-medium.cnf,复制 /usr/share/mysql 目录下的 .cnf 文件到 /etc 目录,并改名为 my.cnf 即可。

[client]

default-character-set=utf8

[mysqld]

character_set_server=utf8

character_set_client=utf8

collation-server=utf8_general_ci

[mysql]

default-character-set=utf8

查看编码,修改编码(已创建的表或库)

SHOW VARIABLES LIKE '%char%';--修改已创建数据库的字符集

alter database mydb character set 'utf8';--修改已创建数据表的字符集

alter table mytbl convert to character set 'utf8';--已经乱码数据,无论是修改 mysql 配置文件或是修改库、表字符集,都无法改变已经变成乱码的数据。--只能删除数据重新插入或更新数据才可以完全解决

大小写不敏感

Windows 系统默认大小写不敏感,但 Linux 系统是大小写敏感的

--查看

show variables like '%lower_case_table_names%'

--0 大小写敏感--1 大小写不敏感。创建的表,数据库都是以小写形式存放在磁盘上,对于 sql 语句都是转换为小写对表和 DB 进行查找--2 创建的表和 DB 依据语句上格式存放,凡是查找都是转换为小写进行

修改 my.cnf,然后重启服务器

[mysqld]

lower_case_table_names = 1

注:如果要设置属性为大小写不敏感,要在重启数据库实例之前就需要将原来的数据库和表转换为小写,否则将找不到数据库名。

时区

SQL 方式

--查看时间

SELECTNOW();--查看时区

SHOW VARIABLES LIKE '%time_zone%';--临时修改,重启 MySQL 服务后失效

SET GLOBAL time_zone='+8:00';

flushprivileges;

修改 my.cnf 方式,需重启 MySQL 服务

[mysqld]

default-time_zone = '+8:00

开启查询日志

在 my.ini 配置文件的 [mysqld] 下增加:

slow_query_log=TRUE

slow_query_log_file=/tmp/slow_query_log.txt

long_query_time=3

重启 mysql 服务,查询是否生效

show variables like '%quer%';

主从

# 保证主从一致性,建议两个都设置为 1sync_binlog

innodb_fush_log_at_trx_commit

缓存

# 建议 4M 或 8M,可以应付 sort/join/readsort/join/read/read rnd buffer

# 建议 16M 或 32M,经常产生临时表可以加大一点 128M

tmp/heap table

# 1G-2G

innodb_buffer_pool_size

其它配置

# 0.01(10毫秒)-0.1(100毫秒) 范围,记录超过时间的 SQL。设置 0,记录所有的 SQL

long_query_time

# 记录没有使用索引的 SQL,on/60,每分钟记录多少条

log_queries_not_using_indexes

log_throttle_queries_not_using_indexes

# 交互模式的超时时间,建议 300-600 秒

interactive_timeout

wait_timeout

# 表锁的超时时间,默认一年,建议 30-60 分钟

lock_wait_timeout

# 设定时区

time_zone

# 是否开启线程池

thread_handling

# 默认 75%,建议 50%

innodb_max_dirty_pages_pct

# 默认 0,不用改动

innodb_thread_concurrency

# 行锁等待时间,默认 50 秒,建议设置 5-20 秒

innodb_lock_wait_timeout

# 默认 0,不用改动

innodb_max_purge_lag

# 建议 2G/3 组

innodb_log_file_size

innodb_log_files_in_group

# innodb 最大 io

innodb_io_capacity

innodb_io_capacity_max

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值