MySQL单机多实例配置
时间:2022-03-14 05:15
测试环境:
操作系统 CentOS 6.4 x86
MySQL 5.5.38
1、什么是MySQL多实例?
MySQL多实例就是在一台机器上开启多个不同的服务端口(如:3306,3307,3308),运行多个MySQL服务进程,通过不同的socket监听不同的服务端口来提供各自的服务。各个实例之间是相互独立的,每个实例的datadir, port, socket, pid都是不同的。
2、MySQL多实例的特点
这里实验仅配置2个实例,只要你的机器足够强劲,那么可以配置更多的实例。
本实验仅做了初步的设置,mysql的root用户密码, 以及其他匿名用户需要手动去设置或删除
非常困扰的是如何手动指定配置文件,以及Mysql读取配置文件的顺序
MySQL自带了几个不同的配置文件,放置在/opt/mysql/support-files目录下,分别是my-huge.cnf,my-innodb-heavy-4G.cnf,my-large.cnf,my-medium.cnf,my-small.cnf,通过名称我们可以很直观的了解到他们是针对不同的服务器配置的,本文中仅有的一点关于InnoDB的配置,是取自于my-small.cnf的,因为我是在虚拟机上进行的设置;在生产环境中,我们可以通过参考my-huge.cnf或my-innodb-heavy-4G.cnf中的部分参数配置,来对服务器进行优化;
关于MySQL缓存参数的优化,主要用于提升I/O能力,可以参考这里:
在单机运行多实例的情况下,切忌使用 mysql -hlocalhost 或 直接忽略-h参数 登陆服务器,这应该算是MySQL的一个bug,就是如果使用localhost或忽略-h参数,而不是指定127.0.0.1的话,即使选择的端口是3307,还是会登陆到3306中去,因此应尽量避免这种混乱的产生,统一用127.0.0.1绑定端口 或 采用socket 来登陆;
问题:第二种方案 my.cnf 配置文件中,为什么还要配置 [mysqld] 呢??
还希望各位帮忙解答一下。
参考:
本文出自 “” 博客,请务必保留此出处