mysql数据库配置

最近遇到一些数据库连接数,连接时间方面的错误。所以开始接触数据库的配置。由于在cmd下set global参数只能当前启动有效,所以需要修改mysql配置文件使这些配置每次都生效。结果遇到了第一个问题---修改文件不起效果,或者说文件本上就不起效果。通过查看服务发现mysql读取配置文件的默认指向是mysql安装目录下的my.ini(windows下),而mysql 安装后只有一个my-default.ini文件,所以要修改文件名为my.ini。

mysql需要配置哪些参数?参数的意义是什么?

首先提到一个配置log_bin:如果你想让数据库服务器充当主节点的备份节点,那么开启二进制日志是必须的。如果这么做了之后,还别忘了设置server_id为一个唯一的值。就算只有一个服务器,如果你想做基于时间点的数据恢复,这(开启二进制日志)也是很有用的:从你最近的备份中恢复(全量备份),并应用二进制日志中的修改(增量备份)。二进制日志一旦创建就将永久保存。所以如果你不想让磁盘空间耗尽,你可以用 PURGE BINARY LOGS 来清除旧文件,或者设置 expire_logs_days 来指定过多少天日志将被自动清除。这里提到了2个概念1、开启bin_log可以进行灾难恢复,2、bin_log需要代价。所以需要设置自动清理log。不管你是主从数据库 还是什么情况,开启bin_log都为你提供了一种错误恢复的可能性。

innodb_buffer_pool_size:缓冲池大小。一般情况下这些参数如果不进行配置都有一个默认的大小.通过show variables global like 'innodb_buffer_pool_size' 我们可以得到一个数值134217728这个单位是byte 换算一下就是128MB这个就是默认值。缓存池是数据和索引缓存的地方,所以这个值越大越好,那么多大才是合适的呢?通过一些博客,得到的结论是你内存的百分之50到70之间都可以,这个要看你的内存使用情况。ps:单位是byte。。。

max_connections:这个就是笔者前阵子遇到的错误原因,‘Too many connections'。前面提到不修改这个参数的情况下,系统有一个默认参数。最大连接数的默认值是151.当你的连接数超过这个值的时候就会报错‘Too many connections'。所以遇到这个问题的时候就修改这个参数吧,至于多大就要看你的具体情况了。

还有一些innodb的配置,例如innodb_lock_wait_timeout,这个配置是锁等待的超时时间。超时时会报lock wait timeout exceeded 错误。默认为50S可以酌情增大,不过一般情况下50S的锁时间已经够了,很可能是你的业务有问题。。。

以上是我遇到过的,并且尝试修改过的配置。希望能帮到你~~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值