MySQL 多实例

为什么要使用多实例

  1. 物理机配置NB,但单个实例无法充分使用cpu核(mysql性能问题)
  2. 资源隔离,减少相互影响
  3. 分担连接数:mysql随着连接数增多,性能会出现严重的下降。此时os cpu消耗在sys上。系统频繁的在切换资源
  4. 更充分的利用资源
  5. 不同的业务错峰允许。

总结:一个实例中有多个库,容易造成连接数超多。
可分拆为一个服务器上运行多实例

配置多实例

配置MySQL 目录

找一个空间充足的分区,作为MySQL数据库存放数据的位置

[root@dd01 ~]# mkdir -p /data/mysql3307
[root@dd01 ~]# cd /data/mysql3307
[root@dd01 ~]# mkdir run tmp logs binlogs data
[root@dd01 ~]# chown -R mysql:mysql /data

参数文件

既然是多实例,说明我们服务器上已经有一个mysql实例在运行了。
那么,我们直接拷贝参数文件即可

cp /etc/my.cnf /data/mysql3307/my3307.cnf

并将参数文件中,所有3306 的字样改为3307。

初始化数据库

去读指定的参数文件,非默认位置的参数文件

/usr/local/mysql/bin/mysqld --defaults-file=/data/mysql3307/my3307.cnf --initialize

登陆数据库

mysql -S /tmp/mysql3307.sock -p

修改提示符

我们现在一个服务器上有两个mysql 实例了。那么登陆到数据库之后,很难区分现在连接的是哪个,所以我们可以修改提示符:

vi /etc/my.cnf
prompt="\\u@\\h:\\p [\\d]> "

性能优化

内存分配

一个服务器上的所有mysql 实例参数中的innodb_buffer_pool_size总和,不超过操作系统的80%。

sum(innodb_buffer_pool_size) <= os_memory * 80%

连接限制

既然我们采用多实例的架构,主要还是需要可以承受更多conn,那么处理DB上的调整,我们也要关注操作系统上的相关限制:

  1. open_files 需要调整为 6535
  2. max_user_processes 调整为 10000以上

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值