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,有点小,根据自己的业务适当的调整大小)
   |