添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

注意:因为systemd能够在安装了systemd支持的平台上管理多个MySQL实例, 所以mysqld_multi和 mysqld_multi.server是不必要的,并且没有安装。

要使用多实例功能,请修改 my.cnf选项文件以包括每个实例的关键选项配置。这些文件位置是典型的:

在配置文件添加一下内容 /etc/my.cnf

[mysqld@01]
datadir=/var/lib/mysql01
socket=/var/lib/mysql01/mysql.sock
port=3307
mysqlx_port=33070
log-error=/var/log/mysqld01.log
[mysqld@02]
datadir=/var/lib/mysql02
socket=/var/lib/mysql02/mysql.sock
port=3308
mysqlx_port=33080
log-error=/var/log/mysqld02.log

此处显示的副本名称@用作分隔符,因为这是systemd支持的唯一分隔符。

创建数据目录

mkdir /var/lib/mysql01
mkdir /var/lib/mysql02
chown mysql.mysql /var/lib/mysql01
chown mysql.mysql /var/lib/mysql02

然后,实例由常规systemd命令管理,例如:

systemctl start mysqld@01
systemctl start mysqld@02

要使实例能够在引导时运行,请执行以下操作:

systemctl enable mysqld@01
systemctl enable mysqld@02

还支持使用通配符。例如,此命令显示所有副本实例的状态:

systemctl status 'mysqld@replica*'

为了管理同一台机器上的多个MySQL实例,systemd自动使用不同的单元文件:
mysqld@.service而不是 mysqld.service(RPM平台)

在单元文件,%I和 %i引用之后经过在参数@标记,并用于管理该特定的实例。对于这样的命令:

systemctl start mysqld@01

systemd使用如下命令启动服务器:

mysqld --defaults-group-suffix=@%I ...

其结果是,[server], [mysqld],和 [mysqld@01]选项组被读取并用于服务的该实例。

参考文档: 使用systemd管理MySQL服务器

mysql MySQL 重启大法失效?详述Oracle11g因JDBC bug引发异常Library Cache Lock等 CentOS 7 安装 PHP Mysql启报错报The server quit without updating PID file mysql主从复制(超简单) Mysql支持的数据类型(总结) 解决mysql:The server quit without updating PID file Jmeter压力测试(简单的http请求)-实例 MySQL——mmm高可用(实践!) MySQL报错:ERROR 1064 (42000): You have an error in。。 MBR与GPT分区格式(实例-创建大于2TB的分区) mysql启动报错:Starting MySQL... ERROR! The server quit without updating PID file mysql起动报错The server quit without updating PID file (/usr/local/mysql/data/ 配置参数innodb_flush_log_at_trx_commit丢失数据问题 Tidb性能对比(v3.0.12 VS v4.0.0-rc) 双主master-master复制Err 1677故障分析 MySQL数据库对敏感数据加密及解密的实现方式 通过maxwell读取binlog日志,把mysql变化数据传入redis 华为云服务器mysql数据恢复过程 超详细,多图文使用galera cluster搭建mysql集群并介绍wsrep相关参数 MySQL基础篇(05):逻辑架构图解和InnoDB存储引擎详解