mysql my.cnf 配置建议

 

/usr/local/share/mysql下面有5个my-xxxx.cnf文件

my-small.cnf 最小配置安装,内存⇐64M,数据数量最少

my-large.cnf 内存=512M

my-medium.cnf 32M<内存<64M,或者内存有128M,但是数据库与web服务器公用内存

my-huge.cnf 1G<内存<2G,服务器主要运行mysql

my-innodb-heavy-4G.cnf 最大配置安装,内存至少4G

 

 

 _________________________

my-huge.cnf    巨大 是为企业中的数据库而设计的,专门数据库服务器
my-innodb-heavy-4G.cnf   4G
my-large.cnf    大 为专用于一个SQL数据库的计算机而设计的
my-medium.cnf    中 为中等规模的数据库而设计的。。
my-small.cnf    小 是为了小型数据库而设计的。不应该把这个模型用于含有一些常用项目的数据库

将其中合适你机器配置的文件拷贝到/etc/my.cnf

 

测试笔记本 x61T 建议选择 my-medium.cnf

__________________________

mysql的配置文件是/etc/my.cnf,通过修改它来配置mysql。
/etc/my.cnf来自以下文件:

如果你的内存≤64M,则复制/usr/local/share/mysql/my-small.cnf为/etc/my.cnf
# This is for a system with little memory (<= 64M) where MySQL is only used
# from time to time and it’s important that the mysqld daemon
# doesn’t use much resources.

如果内存是128M,则复制/usr/local/share/mysql/my-medium.cnf为/etc/my.cnf
# This is for a system with little memory (32M – 64M) where MySQL plays
# an important part, or systems up to 128M where MySQL is used together with
# other programs (such as a web server)

如果内存是512M,则复制/usr/local/share/mysql/my-large.cnf为/etc/my.cnf
# This is for a large system with memory = 512M where the system runs mainly
# MySQL.

如果内存是1-2G,则复制/usr/local/share/mysql/my-huge.cnf为/etc/my.cnf
# This is for a large system with memory of 1G-2G where the system runs mainly
# MySQL.

如果内存是4G,则复制/usr/local/share/mysql/my-innodb-heavy-4G.cnf为/etc/my.cnf
# This is a MySQL example config file for systems with 4GB of memory
# running mostly MySQL using InnoDB only tables and performing complex
# queries with few connections.

不过MySQL参数那么多,很多时候我们还是要知道他们具体的含义才能根据实际问题做出具体的调整。
———————————–
我们可以通过SHOW VARIABLES;来查看系统参数,通过SHOW STATUS;来判断系统状态。
———————————–
先来看看table_cache参数对性能的影响。摘录my-innodb-heavy-4G.cnf中对它的描述:
# The number of open tables for all threads. Increasing this value
# increases the number of file descriptors that mysqld requires.
# Therefore you have to make sure to set the amount of open files
# allowed to at least 4096 in the variable “open-files-limit” in
# section [mysqld_safe]
table_cache = 2048
比如:当系统比较繁忙的时候,我们show variables;查到table_cache的值,再show status;发现open_tables的值和table_cache差不多,而且opened_tables还一直再增加,就说明我们的 table_cache设置的太小了。

VN:F [1.9.0_1079]
  • 设置建议:
对于单台运行的WEB服务器,建议加上:
skip-locking
skip-name-resolve
skip-networking

在PHP链接数据库时使用"LOCALHOST".这样
MySQL 客户端库将覆盖之并尝试连接到本地套接字.(
我们可以从PHP.INI中
代码:
; Default socket name for local MySQL connects. If empty, uses the built-in ; MySQL defaults. mysql.default_socket = /tmp/mysql.sock
看出 默认情况下 UNIX 将访问/tmp/mysql.sock)
  • 以下是部分选项解释:
my.cnf默认是不存在的.你可以在/usr/local/share/mysql/下看到:
  1. my-huge.cnf
  2. my-innodb-heavy-4G.cnf
  3. my-large.cnf
  4. my-medium.cnf
  5. my-small.cnf
等文件.将其中合适你机器配置的文件拷贝到/etc/my.cnf或mysql data目录/my.cnf(/var/db/mysql)下或~/.my.cnf.文件内都有详细的说明


[mysqld]
port = 3306
serverid = 1
socket = /tmp/mysql.sock
skip-locking

# 避免MySQL的外部锁定,减少出错几率增强稳定性。

skip-name-resolve
禁止MySQL对外部连接进行DNS解析,使用这一选项可以消除MySQL进行DNS解析的时间。但需要注意,如果开启该选项,则所有远程主机连接授权都要使用IP地址方式,否则MySQL将无法正常处理连接请求!

back_log = 384
指定MySQL可能的连接数量。当MySQL主线程在很短的时间内接收到非常多的连接请求,该参数生效,主线程花费很短的时间检查连接并且启动一个新线程。
back_log 参数的值指出在MySQL暂时停止响应新请求之前的短时间内多少个请求可以被存在堆栈中。 如果系统在一个短时间内有很多连接,则需要增大该参数的值,该参数值指定到来的TCP/IP连接的侦听队列的大小。不同的操作系统在这个队列大小上有它自 己的限制。
试图设定back_log高于你的操作系统的限制将是无效的。默认值为50。对于Linux系统推荐设置为小于512的整数。

key_buffer_size = 256M
# key_buffer_size指定用于索引的缓冲区大小,增加它可得到更好的索引处理性能。
对于内存在4GB左右的服务器该参数可设置为256M或384M。
注意:该参数值设置的过大反而会是服务器整体效率降低!

max_allowed_packet = 4M
thread_stack = 256K
table_cache = 128K
sort_buffer_size = 6M

查询排序时所能使用的缓冲区大小。注意:该参数对应的分配内存是每连接独占!如果有100个连接,那么实际分配的总共排序缓冲区大小为100 × 6 = 600MB。所以,对于内存在4GB左右的服务器推荐设置为6-8M。

read_buffer_size = 4M
读查询操作所能使用的缓冲区大小。和sort_buffer_size一样,该参数对应的分配内存也是每连接独享!

join_buffer_size = 8M
联合查询操作所能使用的缓冲区大小,和sort_buffer_size一样,该参数对应的分配内存也是每连接独享!

myisam_sort_buffer_size = 64M
table_cache = 512
thread_cache_size = 64
query_cache_size = 64M

指定MySQL查询缓冲区的大小。可以通过在MySQL控制台执行以下命令观察:
代码:
# > SHOW VARIABLES LIKE '%query_cache%'; # > SHOW STATUS LIKE 'Qcache%';
如果Qcache_lowmem_prunes的值非常大,则表明经常出现缓冲不够的情况;
如果Qcache_hits的值非常大,则表明查询缓冲使用非常频繁,如果该值较小反而会影响效率,那么可以考虑不用查询缓冲;Qcache_free_blocks,如果该值非常大,则表明缓冲区中碎片很多。

tmp_table_size = 256M
max_connections = 768

指定MySQL允许的最大连接进程数。如果在访问论坛时经常出现Too Many Connections的错误提 示,则需要增大该参数值。

max_connect_errors = 10000000
wait_timeout = 10

指定一个请求的最大连接时间,对于4GB左右内存的服务器可以设置为5-10。

thread_concurrency = 8
该参数取值为服务器逻辑CPU数量×2,在本例中,服务器有2颗物理CPU,而每颗物理CPU又支持H.T超线程,所以实际取值为4 × 2 = 8

skip-networking
开启该选项可以彻底关闭MySQL的TCP/IP连接方式,如果WEB服务器是以远程连接的方式访问MySQL数据库服务器则不要开启该选项!否则将无法正常连接!

转载于:https://www.cnblogs.com/wenus/archive/2012/06/22/2558855.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/463639.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

不得不说,这是我面过的最优秀的Linux运维!

Linux可以说是运维之“本”。无论中小企业还是大厂&#xff0c;现在的企业有95%甚至更多是使用Linux服务器。而对于Linux运维来说&#xff0c;Linux基础越扎实、会的工具越多&#xff0c;能解决的问题就越多&#xff0c;技术也能走的更远。Linux&#xff0c;甚至可以说是进入IT…

boost学习之boost::lock_guardT与boost::unique_lockT的区别

(1)、boost::lock_guard没有unlock()功能 boost::mutex mutex; void foo( ) { boost::lock_guard<boost::mutex> lock(mutex); process(data); ///没有unlock()功能&#xff0c;程序结束自动析构 }; (2)、unique_lock允许设置超时&#xff0c;推迟锁定lock以及在对象…

用友财务软件主要数据表字段含义

用友财务软件主要数据表字段含义 /*rdrecords : 收发记录子表AutoID : auto ID 自动编号 automatism identification(identity)ID : ID 与收发记录主表关联项cInvCode : c…

重叠IO之完成例程

http://hi.baidu.com/%CC%EC%D1%C4_jmf/blog/item/7718ccd99b03cb2710df9bc2.html转载于:https://www.cnblogs.com/vcdebug2010/archive/2012/06/23/2559096.html

一个中科大「差生」的8年程序员工作总结

今年终于从大菊花厂离职了&#xff0c;离职前收入大概60w不到吧&#xff01;在某乎属于比较差的&#xff0c;今天终于有空写一下自己的职场故事&#xff0c;也算是给自己近8年的工作做个总结复盘。近8年有些事情做对了&#xff0c;也有更多事情做错了&#xff0c;在这里记录一下…

Java IO File

#file file的一些方法&#xff0c;因为windows和Linux开发环境的问题&#xff0c;在file中最好统一用 / 输出流操作 转载于:https://www.cnblogs.com/cykfory/p/10294981.html

gtest使用例子

最近使用gtest进行单元测试&#xff0c;采用打桩的形式。关于gtest的详细说明就不多说了&#xff0c;网上的资料一大堆。主要讲解使用时的参数如何配置以及遇到的问题。下面的例子模拟是加、减、乘、除四则运算&#xff0c;前提是不知道加、减、乘、除四则运算是如何实现的。 …

游戏开发中的数学和物理算法(7):角度 vs 弧度

我们通常使用的笛卡尔坐标系统&#xff0c;角点通常在(0,0),即原点。初始边在x轴正半轴&#xff0c;终边与初始边成夹角。初始边逆时针旋转为正值&#xff0c;顺时针旋转为逆值。数学表示&#xff1a;角度&#xff1a;degreeradian*180/π 弧度&#xff1a;radiandegree*π/18…

医学影像PACS系统解决方案与成功案例汇总

经历过2010年一年时间&#xff0c;HC3i论坛也与大家相伴快一年了&#xff0c;这一年中&#xff0c;网友分享专业医疗信息化资料超过15000个&#xff0c;HC3i感谢大家的支持与厚爱&#xff01;岁末年初之极&#xff0c;也整理盘点一下&#xff0c;方便大家回顾一年中精华资源&am…

npm 安装包报错 rollbackFailedOptional

npm config rm proxynpm config rm https-proxy 然后使用npm install -g cnpm --registryhttps://registry.npm.taobao.org安装淘宝的cnpm 然后就可以使用cnpm命令了转载于:https://www.cnblogs.com/xtjatswc/p/10295734.html

一个小老板的春天

大家周末好继续之前说的采访专栏&#xff0c;前两天和一个做生意的朋友聊天&#xff0c;总结了一些内容分享给大家&#xff0c;觉得不错的点赞收藏起来&#xff0c;可能后面你自己当老板了会用到。我这个老板的名字和公司名字我就不说出来了&#xff0c;他现在做的是细分领域&a…

boost学习之boost::shared_ptr

Boost智能指针——shared_ptr boost::scoped_ptr虽然简单易用&#xff0c;但它不能共享所有权的特性却大大限制了其使用范围&#xff0c;而boost::shared_ptr可以解决这一局限。顾名思义&#xff0c;boost::shared_ptr是可以共享所有权的智能指针&#xff0c;首先让我们通过一…

SharePoint GridView的使用2——DataSourceView的使用

首先创建一个abstract类&#xff0c;继承Microsoft.SharePoint.WebControls.DataTableDataSourceView。之后基于这个类可以创建多个显示不同数据的的DataSourceView&#xff0c;在上文的DataSource控件中有个ViewName属性&#xff0c;可以通过这个属性来区分不同的DataSourceVi…

瞧瞧UC浏览器对CSS样式的“关怀”

瞧瞧UC浏览器对CSS样式的“关怀” UC对CSS这样的“照顾”尤其8.0以下体现的是淋漓尽致&#xff01; 不"支持"font-family属性&#xff0c;也就是说&#xff0c;在UC浏览器你只能看到一种字体&#xff1b;不"支持"font-szie属性&#xff0c;也就是说&#…

我在ARM板上写的第一个驱动程序

有时大家喜欢拿电灯来当作笑谈&#xff0c;实际上点灯包含多内容很多&#xff0c;如下这篇文章就是关于嵌入式Linux点灯多技术栈&#xff0c;推荐给大家。摘要&#xff1a;搞嵌入式有两个方向&#xff0c;一个是嵌入式软件开发(MCU方向)&#xff0c;另一个是嵌入式软件开发(Lin…

从github上克隆hibernate项目

开发的项目用到了hibernate进行对象的持久化&#xff0c;最近项目上不忙&#xff0c;打算通过官方文档和源码来进行深度学习。第一步将hibernate部署到本地就折腾了好久&#xff0c;打算记录一下。 关于github的注册说一句&#xff0c;推荐使用outlook邮箱进行注册&#xff0c;…

string、char *、char []之间的相互转换

最近工作中遇到了string、char *、char []之间的相互转换&#xff0c;今天终于抽出时间将他们之间的转换记录下来&#xff0c;使用的是CodeBlocks软件&#xff0c;编译器为GNU GCC compiler&#xff0c;下面看代码&#xff1a; #include <iostream> #include <stdio.…

C语言中匿名的最高境界

C语言中有没有见过(int [2]){19,20}或者int (*pt2)[4]的使用方法&#xff0c;字面上可能不好理解&#xff0c;这是C99之后才新增的知识点&#xff0c;名为复合型表述Compound Literals&#xff0c;一旦熟悉使用&#xff0c;便会体会到它简洁而强大的表达。什么是”复合型表述“…

类与对象(C++)

2.1 类与对象2.1.1 结构体2.1.2 类 2.1 类与对象 2.1.1 结构体 C中的结构体不仅可以包含不同类型的数据&#xff0c;而且还可以包含操作这些数据的函数。 #include <iostream> using namespace std;struct Complex{double i;double r;void init(double rr, double ii)…

Mysql数据库的分离和附加转

一.MYSQL的命令行模式的设置&#xff1a;桌面->我的电脑->属性->环境变量->新建->PATH“&#xff1b;path/mysql/bin;”其中path为MYSQL的安装路径。二.简单的介绍一下命令行进入MYSQL的方法&#xff1a;1.C:/>mysql -h hostname -u username -p 按ENTER键&a…