MySQL多实例通过独立配置文件、数据目录和端口实现,依次准备配置文件、初始化数据目录、启动实例并可选配置systemd服务,最后按端口连接管理。

MySQL 多实例是指在同一台服务器上运行多个 MySQL 服务进程,每个实例使用不同的端口、数据目录和配置文件。通过合理配置,可以实现资源隔离、灵活管理。以下是配置 MySQL 多实例启动的详细方法。
1. 准备多个配置文件
每个 MySQL 实例需要独立的配置文件(my.cnf),避免端口和路径冲突。通常将配置文件放在不同目录中,例如:
- /data/mysql3306/my.cnf
- /data/mysql3307/my.cnf
示例配置(以 3306 实例为例):
[mysqld] port = 3306 socket = /tmp/mysql.sock pid-file = /data/mysql3306/mysqld.pid datadir = /data/mysql3306/data log-error = /data/mysql3306/logs/error.log server-id = 1
登录后复制
另一个实例(如 3307)需修改 port、socket、datadir 等参数,确保不冲突。
2. 初始化多个数据目录
每个实例需要独立的数据目录,使用 mysqld --initialize 命令分别初始化:
mysqld --initialize \ --user=mysql \ --basedir=/usr/local/mysql \ --datadir=/data/mysql3306/data \ --defaults-file=/data/mysql3306/my.cnf mysqld --initialize \ --user=mysql \ --basedir=/usr/local/mysql \ --datadir=/data/mysql3307/data \ --defaults-file=/data/mysql3307/my.cnf
登录后复制
注意:初始化会生成临时密码,记录日志中的 root@localhost 密码。
3. 启动多个 MySQL 实例
使用 mysqld_safe 或直接调用 mysqld 启动每个实例:
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
还木有评论哦,快来抢沙发吧~