本文转自:http://www.cnblogs.com/littlehb/archive/2013/04/06/3001975.html

测试配置脚本时使用如下命令:

rm -rf /var/log/MysqLd.log

/usr/local/MysqL/bin/MysqLd_safe --log-error=/var/log/MysqLd.log

vi /var/log/MysqLd.log

然后查看 /var/log/MysqLd.log就能看出来为什么MysqL没有正常启动了。

vi /etc/my.cnf

在[MysqLd]配置节下添加:

[MysqLd]

#myslqd服务运行时的端口号
port=3306

#socket文件是在Linux环境下特有的,用户的客户端软件连接可以不通过TCP/IP网络而直接使用unix socket连接到MysqL。
socket=/tmp/MysqL.sock

#避免MysqL的外部锁定,减少出错几率,增强稳定性。
skip-external-locking

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

#back_log参数的值指出在MysqL暂时停止响应新请求之前,短时间内的多少个请求可以被存在对堆栈中,如果系统短时间内有很多连接,则需>要增大该参数的值,该参数值指定到来的TCP/IP连接的监听队列的大小。不同的操作系统在这个队列的大小有自己的限制,如果试图将back_log设定得高于操作系统的限制将是无效的,其默认值为50,对于LINUX系统而言,推荐设置为小于512的整数。
back_log=384

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

#设定在网络传输中一次消息传输量的最大值,系统默认值为1MB,最大值是1GB,必须设定为1024的倍数,单位为字节。
max_allowed_packet=4M

#设置MysqL每个线程的堆栈大小,默认值足够大,可满足普通操作。可设置范围为128KB至4GB,默认192K。
thread_stack=256k


#设定查询排序时所能使用的缓冲区大小,系统默认大小为2MB,从5.1.23版本开始,在除了WINDOWS 之外的64位平台上可以4GB的限制。该参数
对应的分配内在是每个连接独占的,如果有100个连接,那么实际分配的总排序缓冲区大小为100*6=600MB,那么对于内存4GB左右的服务器来>说,推荐将其设置为6MB-8MB。
sort_buffer_size=6M

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


#设置Thread Cache池中可以缓存的连接池线程最大数量,可设置为0-16384,默认为0。1GB内存我们配置为8,2GB内存我们配置为16,4GB或4GB以上内在我们配置为64。
thread_cache_size=64
#指定MySQL查询缓冲区的大小,可以通过在MysqL控制台观察,如果Qcache_lowmem_prunes的值非常大,则表明经常出现缓冲不够的情况,如果
Qcache_hits的值非常大,则表明查询缓冲使用的非常频繁
query_cache_size=64M

#设置内在临时表最大值,如果超过该值,则会将临时表写入磁盘,其范围为1KB至4GB。
tmp_table_size=256M

#指定MysqL允许的最大连接进程数,如果在访问程序时经常出现TOO MANY CONNECTIONS的错误提示,则需要增大该参数值。
max_connections=5000


#指定一个请求的最大连接时间,对于4GB左右内在的服务器来说,可以将其设置为5-10
wait_timeout=120

#该参数取值为服务器逻辑cpu数量*2,比如,服务器有两个物理cpu,每个物理cpu支持HT超线程,所以实际取值4*2=8,这也是目前双四核主流
服务器的配置。
thread_concurrency=8

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


innodb_flush_log_at_trx_commit
#抱怨Innodb比MyISAM慢 100倍?那么你大概是忘了调整这个值。默认值1的意思是每一次事务提交或事务外的指令都需要把日志写入(flush)
硬盘,这是很费时的。特别是使用电池供电缓存(Battery backed up cache)时。设成2对于很多运用,特别是从MyISAM表转过来的是可以的>,它的意思是不写入硬盘而是写入系统缓存。日志仍然会每秒flush到硬 盘,所以你一般不会丢失超过1-2秒的更新。设成0会更快一点,但安>全方面比较差,即使MysqL挂了也可能会丢失事务的数据。而值2只会在整个操作系统 挂了时才可能丢数据。
innodb_flush_log_at_trx_commit=2

#这是 InnoDB 存储引擎的事务日志所使用的缓冲区。类似于 binlog Buffer,InnoDB 在写事务日志的时候,为了提高性能,也是先将信息写>入 Innofb Log Buffer 中,当满足 innodb_flush_log_trx_commit 参数所设置的相应条件(或者日志缓冲区写满)之后,才会将日志写到文>件(或者同步到磁盘)中。可以通过 innodb_log_buffer_size 参数设置其可以使用的最大内存空间。
innodb_log_buffer_size=2M

#这个数字要根据实际的情况来设定,但对于大多数的情况,是一个比较合适的设置
innodb_thread_concurrency=8

#tmp_table_size 的默认大小是 32M。如果一张临时表超出该大小,MysqL产生一个 The table tbl_name is full 形式的错误,如果你做很多
高级 GROUP BY 查询,增加 tmp_table_size 值。
tmp_table_size=64M

#随机读取数据缓冲区使用内存(read_rnd_buffer_size):和顺序读取相对应,当 MysqL 进行非顺序读取(随机读取)数据块的时候,会利用>这个缓冲区暂存读取的数据。如根据索引信息读取表数据,根据排序后的结果集与表进行Join等等。总的来说,就是当数据块的读取需要满足>一定的顺序的情况下,MysqL 就需要产生随机读取,进而使用到 read_rnd_buffer_size 参数所设置的内存缓冲区。
read_rnd_buffer_size=16M

#你最好在定义数据库命名规则的时候就全部采用小写字母加下划线的组合,而不使用任何的大写字母。
lower_case_table_names=1

#设置校验模式
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES


#默认配置没开查询缓存哦亲
explicit_defaults_for_timestamp

功能:

#关闭MysqL日志

执行:
/usr/local/MysqL/bin/MysqL -u root -p
输入密码,登陆到MysqL,然后执行
reset master;
退出后执行:
vi /etc/my.cnf
查找
log-bin=MysqL-bin binlog_format=mixed
再这两行前面加上#,将其注释掉,再执行重启MySQL命令
这样就关闭了MysqL日志了
/etc/init.d/MysqL restart

MySql 的批量操作,要加rewriteBatchedStatements参数

http://elf8848.iteye.com/blog/770032

MysqL 插入(insert)性能测试

elf8848.iteye.com/blog/1547398

Centos6.4下mysql5.6.10的性能优化的更多相关文章

  1. ios – 使用Swift的Lumberjack 2.0记录器

    我以前使用物镜C的Lumberjack记录器,我喜欢它.现在我开始学习Swift,我不能在那里使用我最喜欢的记录器.有人可以一步一步地写出我能做到的事吗?在Lumberjack2.0发布之前,我尝试在这里找到一些东西,但所有主题都是自定义包装器.我做了什么:>我用Cocoapods添加了Lumberjack;>我将“#import”添加到Bridging-Header文件中.我不知道接下来该怎么办?因为在ObjC中我有宏:staticconstintddLogLevel=LOG_LEVEL_INFO;el

  2. 从iOS应用程序发送帖子到PHP脚本不工作…简单的解决方案就像

    我之前已经做了好几次了但是由于某些原因我无法通过这个帖子…我尝试了设置为_POST且没有的变量的PHP脚本……当它们未设置为发布时它工作精细.这是我的iOS代码:这里是PHP的一大块,POST变量不在正确的位置?我想这对于更有经验的开发人员来说是一个相当简单的答案,感谢您的帮助!解决方法$_POST是一个数组,而不是一个函数.您需要使用方括号来访问数组索引:

  3. Swift 接入微信 Mars_Xlogger 填坑指南——Jinkey 原创

    Step1下载代码使用gitclone或者直接下载zip,解压后进入目录mars-master/mars/libraries,看到有一个build_apple.py的文件Step2编译Mars在终端进入工程目录输入然后回答一系列问题第一个问题inputprefixforsavedirectory.liketrunk,br,tag:输入保存目录的前缀第二个问题Entermenu:buildmarsforiphone.buildmarsforiphonewithbitcode.buildxlogforipho

  4. 如何在swift-ios文件中使用asl.h

    我是ios/swift的新手.我想使用asl.h中的日志记录c函数在swift文件中.任何人?我用Google搜索,人们似乎都在编写自己的日志快速类.没有不尊重,但我想使用asl.也就是说,斯威夫特不喜欢#include并且它不喜欢我只是调用asl_log(NULL,NULL,ASL_LEVEL_INFO,“HelloWorld!”

  5. android-studio – 无法使用Android Studio从JNI打印日志消息

    我得到的错误:error:undefinedreferenceto‘__android_log_print’我已将此行添加到我的.cpp文件中:我尝试过两种方法:__android_log_print和__android_log_write我还在我的Android.mk文件(我手动编译)中链接了日志库.LOCAL_LDLIBS:=–llog我也尝试了几种我认为的替代品:这是我的Android.mk

  6. Android – 将SQLite与MySQL同步的最佳方式

    参见英文答案>Synchronizingclient-serverdatabases5个我正在开发一个包含网络应用和移动应用程序的项目,该应用程序记录每日用户的数据.用户可以删除,更新他们的数据,他们可以使用许多设备插入数据.我打算这样开发:用户输入他们的数据然后插入sqlite.服务将定期启动(每5小时或每小时)以使用时间戳与MysqL同步.我确实在互联网上使用服务和时间戳搜索了一个样本,但我一

  7. android – XmlPullParser getAttributeValue返回null

    我在assets/xml文件夹中存储了以下XML结构:我正在使用XmlPullParser阅读每个单独的homeitem:我的问题是:使用getAttributeValue始终返回null.使用getAttributeValue工作正常.我究竟做错了什么?设备:Nexus10,StockKitKat4.4解决方法试试这个:

  8. android – 如何将唯一的GCM注册标识存储到MySQL中

    我正在设置GoogleCloudMessaging机制的服务器端,使用MySQL存储移动应用提供的注册ID.Google可以发出最多4k个注册码,我被迫将其存储在TEXT字段中.所有的好,到目前为止,问题是我必须处理这样的情况:>用户登录到应用程序>该应用从google请求注册ID>应用程序将新的注册ID发送到应用服务器>服务器存储该注册ID并将其链接到当前登录的用户>该用户注销并且新用户登录>应

  9. nodeJs链接Mysql做增删改查的简单操作

    本篇文章主要介绍了nodeJs链接Mysql做增删改查的简单操作,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  10. PHP连接MYSQL数据库的3种常用方法

    这篇文章主要介绍了PHP连接MYSQL数据库的3种常用方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

随机推荐

  1. 在airgapped(离线)CentOS 6系统上安装yum软件包

    我有一个CentOS6系统,出于安全考虑,它已经被空气泄漏.它可能从未连接到互联网,如果有,它很长时间没有更新.我想将所有.rpm软件包放在一个驱动器上,这样它们就可以脱机安装而无需查询互联网.但是,我在测试VM上遇到的问题是,即使指定了本地路径,yum仍然会挂起并尝试从在线存储库进行更新.另外,有没有办法使用yum-utils/yumdownloader轻松获取该包的所有依赖项和所有依赖项?目前

  2. centos – 命名在日志旋转后停止记录到rsyslog

    CentOS6.2,绑定9.7.3,rsyslog4.6.2我最近设置了一个服务器,我注意到在日志轮换后,named已停止记录到/var/log/messages.我认为这很奇怪,因为所有日志记录都是通过rsyslog进行的,并且named不会直接写入日志文件.这更奇怪,因为我在更新区域文件后命名了HUPed,但它仍然没有记录.在我停止并重新启动命名后,记录恢复.这里发生了什么?

  3. centos – 显示错误的磁盘大小

    对于其中一个磁盘,Df-h在我的服务器上显示错误的空白区域:Cpanel表明它只有34GB免费,但还有更多.几分钟前,我删除了超过80GB的日志文件.所以,我确信它完全错了.fdisk-l/dev/sda2也显示错误:如果没有格式化,我该怎么做才能解决这个问题?并且打开文件描述符就是它需要使用才能做到这一点.所以…使用“lsof”并查找已删除的文件.重新启动写入日志文件的服务,你很可能会看到空间可用.

  4. 如何在centos 6.9上安装docker-ce 17?

    我目前正在尝试在centOS6.9服务器上安装docker-ce17,但是,当运行yuminstalldocker-ce时,我收到以下错误:如果我用跳过的标志运行它我仍然得到相同的消息,有没有人知道这方面的方法?

  5. centos – 闲置工作站的异常负载平均值

    我有一个新的工作站,具有不寻常的高负载平均值.机器规格是:>至强cpu>256GB的RAM>4x512GBSSD连接到LSI2108RAID控制器我从livecd安装了CentOS6.564位,配置了分区,网络,用户/组,并安装了一些软件,如开发工具和MATLAB.在启动几分钟后,工作站负载平均值的值介于0.5到0.9之间.但它没有做任何事情.因此我无法理解为什么负载平均值如此之高.你能帮我诊断一下这个问题吗?

  6. centos – Cryptsetup luks – 检查内核是否支持aes-xts-plain64密码

    我在CentOS5上使用cryptsetupluks加密加密了一堆硬盘.一切都很好,直到我将系统升级到CentOS6.现在我再也无法安装磁盘了.使用我的关键短语装载:我收到此错误:在/var/log/messages中:有关如何装载的任何想法?找到解决方案问题是驱动器使用大约512个字符长的交互式关键短语加密.出于某种原因,CentOS6中的新内核模块在由旧版本创建时无法正确读取512个字符的加密密钥.似乎只会影响内核或cryptsetup的不同版本,因为在同一系统上创建和打开时,512字符的密钥将起作用

  7. centos – 大量ssh登录尝试

    22个我今天登录CentOS盒找到以下内容这是过去3天内的11次登录尝试.WTF?请注意,这是我从我的提供商处获得的全新IP,该盒子是全新的.我还没有发布任何关于此框的内容.为什么我会进行如此大量的登录尝试?是某种IP/端口扫描?基本上有4名匪徒,其中2名来自中国,1名来自香港,1名来自Verizon.这只发生在SSH上.HTTP上没有问题.我应该将罪魁祸首子网路由吗?你们有什么建议?

  8. centos – kswap使用100%的CPU,即使有100GB的RAM也可用

    >Linux内核是否应该足够智能,只需从内存中清除旧缓存页而不是启动kswap?

  9. centos – Azure将VM从A2 / 3调整为DS2 v2

    我正在尝试调整前一段时间创建的几个AzureVM,从基本的A3和标准A3到标准的DS2v2.我似乎没有能力调整到这个大小的VM.必须从头开始重建服务器会有点痛苦.如果它有所不同我在VM中运行CentOS,每个都有一个带有应用程序和操作系统的磁盘.任何人都可以告诉我是否可以在不删除磁盘的情况下删除VM,创建新VM然后将磁盘附加到新VM?

  10. centos – 广泛使用RAM时服务器计算速度减慢

    我在非常具体的情况下遇到服务器速度下降的问题.事实是:>1)我使用计算应用WRF>2)我使用双XeonE5-2620v3和128GBRAM(NUMA架构–可能与问题有关!

返回
顶部