1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
| MySQL获取配置信息路径 1、命令行参数 mysqld_safe --datadir=/data/sql_data 2、配置文件 查看配置文件的命令: [root@localhost ~]# mysqld --help --verbose | egrep -A 1 'Default options' 配置文件的有效路径 /etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf ~/.my.cnf
MySQL配置参数的作用域 1、全局参数 set global 参数名=参数值; set @@global.参数名:=参数值; 2、会话参数 set [session] 参数名=参数值; set @@session.参数名:=参数值;
内存配置相关参数 1、确定可以使用的内存的上限 2、确定MySQL的每个连接使用的内存 sort_buffer_size join_buffer_size read_buffer_size read_rnd_buffer_size 3、确定需要为操作系统保留多少内存 4、如何为缓存池分配内存 Innodb_buffer_pool_size 注:设置缓存池的大小的考量标准为:总内存-(每个编程所以需要的内存*连接数)-系统保留内存 key_buffer_size select sum(index_length) from information_schema.tables where engines='myisam' I/O相关配置参数 Innodo I/O相关配置 Innodb_log_file_size 单个事务日志的大小 Innodb_log_files_in_group 控制文件日子的个数 事务日志总大小 = Innodb_log_files_in_group * Innodb_log_file_size Innodb_log_buffer_size = (32M or 128M) Innodb_flush_log_at_trx_commint 0:每秒进行一次log写入cache,并flush log到磁盘 1[默认]:在每次事务提交执行log写入cache,并flush log到磁盘 2[建议]:每次事务提交,执行log数据写入到cache中,每秒执行一次flush log到磁盘 Innodb_flush_method=O_DIRECT Innodb_file_per_table = 1 Innodb_doublewrite = 1
MyISAM I/O相关配置 delay_key_write OFF:每次写操作后刷新键缓冲中的脏块到磁盘 ON:只对在键表时指定了delay_key_write选项的表使用延迟刷新 ALL:对所有的MyISAM表都使用延迟建写入 安全相关配置参数 expire_logs_days 指定自动清理binlog的天数 max_allowed_packet 控制MySQL可以连接的包大小,建议设置为32M,如果使用了主从复制,参数应该设置成一致的 skip_name_resolve 禁用DNS查找 sysdate_is_now 确保sysdate()返回确保性日期 read_only 禁止非super权限的用户写操作 注:建议在主从复制中的从库开启此功能。以确保不能修改从库中的操作,只能从主库同步过来 skip_slave_start 禁用Salve自动恢复(从库中的设置使用) sql_mode 设置MySQL所使用的SQL模式 (谨慎操作,可能会造成MySQL无法执行) ① strict_trans_tables 给定的数据如果不能插入到数据库中,对事务引擎会终端操作,对非事务引擎是没有影响的 ② no_engine_subitiution 在create table中指定engines的时候,如果引擎不可用,不会使用默认引擎建立表 ③ no_zero_date 不能再表中插入0年0月0日的日期 ④ no_zero_in_date 不接受一部分的为0的日期 ⑤ noly_full_group_by 其他常用的配置参数 sync_binlog 控制MySQL如何向磁盘刷新binlog tmp_table_size 和 max_heap_table_size 控制内存临时表大小(不宜设置的太大,以避免内存的溢出) max_connections 控制允许的最大连接数(默认为100,有点小,根据自己的业务适当的调整大小)
|