[sql]mysql参数(配置)手册

my-innodb-heavy-4G.cnf配置文件注解

[client]                   #客户端
port  = 3306               #mysql客户端连接时的默认端口号
socket  = /application/mysql-5.5.32/tmp/mysql.sock
[mysqld]
port  = 3306               #mysql服务器监听的默认端口
socket  = /application/mysql-5.5.32/tmp/mysql.sock 
back_log = 50              #是指保持在操作系统监听队列的连接数量,即在MySQL连接管理器线程处理他们之前的连接数量
max_connections = 100      #MySQL允许的并发会话的最大数量
max_connect_errors = 10    #每个主机允许的最大错误数量
table_open_cache = 2048    #所有线程打开表的数字,文件描述符的大小
max_allowed_packet = 16M   #服务器一次能处理的最大的查询包的值,也是服务器程序能够处理的最大查询
binlog_cache_size = 1M     #在一个事务中,二进制日志能够处理SQL语句的缓存的最大数字,如果你经常使用复杂语句的事务,你可以增大这个值获得更好的性能,事务中所有的语句都会被缓存到binlog中并且一次性的提交后立刻写入二进制日志中。如果处理的事务大于这个值,磁盘上的临时文件被代替使用,这个缓冲会在在事务中第一次有更改状态时,被分配的每个链接上。
max_heap_table_size = 64M  #独立的内存表所允许的最大容量
read_buffer_size = 2M      #MySql读入缓冲区大小。
read_rnd_buffer_size = 16M #是MySql的随机读缓冲区大小。
sort_buffer_size = 8M      # 排序缓冲被用来处理类似ORDER BY以及GROUP BY队列所引起的排序
join_buffer_size = 8M      #此缓冲被使用来优化全联合(full JOINs 不带索引的联合).
thread_cache_size = 8      #我们在cache中保留多少线程用于重用
thread_concurrency = 8     #此允许应用程序给予线程系统一个提示在同一时间给予渴望被运行的线程的数量.
query_cache_size = 64M     #查询缓冲的大小。查询缓冲常被用来缓冲 SELECT 的结果并且在下一次同样查询的时候不再执行直接返回结果.
query_cache_limit = 2M     #只有小于此设定值的结果才会被缓冲
ft_min_word_len = 4        # 被全文检索索引的最小的字长.
default-storage-engine = MYISAM        #当创建新表时作为默认使用的表类型
thread_stack = 192K                    #线程使用的堆大小. 此容量的内存在每次连接时被预留
transaction_isolation = REPEATABLE-READ
tmp_table_size = 64M                   #内部(内存中)临时表的最大大小
log-bin=mysql-bin                      #打开二进制日志功能.
binlog_format=mixed                    #设定记录二进制日志的格式,有三种格式,基于语句 statement、 基于行 row、 混合方式 mixed
slow_query_log                         #记录慢查询,
long_query_time = 2                    #所有的超过这个参数时间的请求将被作为慢查询
server-id = 1                          #唯一的服务标识号,它的取值在1到 2^32-1之间,这个值在主服务器和从服务器是被要求设置的。他的默认参数是1,如果是主机不需要设置,但是如果忽略此选项,MySQL不会作为master生效. 
key_buffer_size = 32M                  #关键词缓冲的大小, 一般用来缓冲MyISAM表的索引块.
bulk_insert_buffer_size = 64M          #MyISAM 使用特殊的类似树的cache来使得突发插入,(这些插入是,INSERT … SELECT, INSERT … VALUES (…), (…), …, 以及 LOAD DATA INFILE) 更快. 此变量限制每个进程中缓冲树的字节数. 
myisam_sort_buffer_size = 128M         #当需要对于执行REPAIR, OPTIMIZE, ALTER 语句重建索引时,MySQL会分配这个缓存,以及LOAD DATA INFILE会加载到一个新表,它会根据最大的配置认真的分配的每个线程。 
myisam_max_sort_file_size = 10G        #当重新建索引(REPAIR,ALTER,TABLE,或者LOAD,DATA,TNFILE)时,MySQL被允许使用临时文件的最大值。
myisam_repair_threads = 1              #如果一个表拥有超过一个索引, MyISAM 可以通过并行排序使用超过一个线程去修复他们.
myisam_recover                         #自动检查和修复没有适当关闭的 MyISAM 表.
innodb_additional_mem_pool_size = 16M  #附加的内存池被InnoDB用来保存 metadata 信息
innodb_buffer_pool_size = 2G           #InnoDB使用一个缓冲池来保存索引和原始数据, 
innodb_data_file_path = ibdata1:10M:autoextend  #InnoDB 将数据保存在一个或者多个数据文件中成为表空间.
innodb_write_io_threads = 8        
innodb_read_io_threads = 8             #用来同步IO操作的IO线程的数量.
innodb_thread_concurrency = 16         #使用InnoDB引擎,内核被允许的线程数,这个最佳值取决于应用程序,硬件还有操作系统的调度程序。太高的值肯定会导致线程抖动。
innodb_flush_log_at_trx_commit = 1     #如果设置为1 ,InnoDB会在每次提交后刷新(fsync)事务日志到磁盘上,
innodb_log_buffer_size = 8M            #用来缓冲日志数据的缓冲区的大小.
innodb_log_file_size = 256M            #在日志组中每个日志文件的大小,
innodb_log_files_in_group = 3          #在日志组中文件的总量,通常2-3就足够了
innodb_max_dirty_pages_pct = 90        #在InnoDB缓冲池中最大允许的脏页面的比例.
innodb_lock_wait_timeout = 120         #在被回滚前,一个InnoDB的事务应该等待一个锁被批准多久.
[mysqldump]
quick
max_allowed_packet = 16M  
[mysql]
no-auto-rehash
[myisamchk]
key_buffer_size = 512M
sort_buffer_size = 512M
read_buffer = 8M
write_buffer = 8M
[mysqlhotcopy]
interactive-timeout
[mysqld_safe]
open-files-limit = 8192               #每个程序允许打开文件的数量

常见mysql错误提示码详细解析

代码 解释
1005 创建表失败
1006 创建数据库失败
1007 数据库已存在,创建数据库失败
1008 数据库不存在,删除数据库失败
1009 不能删除数据库文件导致删除数据库失败
1010 不能删除数据目录导致删除数据库失败
1011 删除数据库文件失败
1012 不能读取系统表中的记录
1020 记录已被其他用户修改
1021 硬盘剩余空间不足,请加大硬盘可用空间
1022 关键字重复,更改记录失败
1023 关闭时发生错误
1024 读文件错误
1025 更改名字时发生错误
1026 写文件错误
1032 记录不存在
1036 数据表是只读的,不能对它进行修改
1037 系统内存不足,请重启数据库或重启服务器
1038 用于排序的内存不足,请增大排序缓冲区
1040 已到达数据库的最大连接数,请加大数据库可用连接数
1041 系统内存不足
1042 无效的主机名
1043 无效连接
1044 当前用户没有访问数据库的权限
1045 不能连接数据库,用户名或密码错误
1048 字段不能为空
1049 数据库不存在
1050 数据表已存在
1051 数据表不存在
1054 字段不存在
1065 无效的SQL语句,SQL语句为空
1081 不能建立Socket连接
1114 数据表已满,不能容纳任何记录
1116 打开的数据表太多
1129 数据库出现异常,请重启数据库
1130 连接数据库失败,没有连接数据库的权限
1133 数据库用户不存在
1141 当前用户无权访问数据库
1142 当前用户无权访问数据表
1143 当前用户无权访问数据表中的字段
1146 数据表不存在
1147 未定义用户对数据表的访问权限
1149 SQL语句语法错误
1158 网络错误,出现读错误,请检查网络连接状况
1159 网络错误,读超时,请检查网络连接状况
1160 网络错误,出现写错误,请检查网络连接状况
1161 网络错误,写超时,请检查网络连接状况
1062 字段值重复,入库失败
1169 字段值重复,更新记录失败
1177 打开数据表失败
1180 提交事务失败
1181 回滚事务失败
1203 当前用户和数据库建立的连接已到达数据库的最大连接数,请增大可用的数据库连接数或重启数据库
1205 加锁超时
1211 当前用户没有创建用户的权限
1216 外键约束检查失败,更新子表记录失败
1217 外键约束检查失败,删除或修改主表记录失败
1226 当前用户使用的资源已超过所允许的资源,请重启数据库或重启服务器
1227 权限不足,您无权进行此操作
1235 MySQL版本过低,不具有本功能
posted @ 2018-03-09 16:30  _毛台  阅读(386)  评论(0编辑  收藏  举报