我刚刚开始使用centos 7。我正在尝试让复制工作,并尝试在不启动从属服务器的情况下启动mysql(这样我就可以在复制开始之前将指针设置为应该在哪里恢复复制)。通常我会这样做:
/etc/init.d/mysqld start --skip-slave-start
使用centos 7,我需要使用systemctl来启动mysql,所以我认为等效的命令是:
systemctl start mysqld.service --skip-slave-start
但选项“--skip-slave-start”似乎不适用于 systemctl。它显示错误:“systemctl:无法识别的选项'--skip-slave-start'”。有什么方法可以让这个选项与 systemctl 一起使用吗?有没有其他简单的方法来启动 mysql 而无需同时启动从属服务器?
谢谢!!
答案1
systemctl
不是你的守护进程。这甚至不是一个过程产生你的守护进程。它是一个程序,告诉服务管理器进程生成您的守护进程通过桌面总线 RPC。
所以systemctl
不知道任何有关传递给守护进程的命令行参数的信息。
那些在你的守护进程中服务单位档案,mysqld.service
您提到的位置由
systemctl 状态 mysqld.service
ExecStart
您尤其需要更改服务的设置。以下是执行此操作的不同方法:
- 将包复制
mysqld.service
到您自己的本地/etc/systemd/system/mysqld.service
服务单元文件中。这样做的缺点是无法跟踪包的更新。 - 做一个
/etc/systemd/system/mysqld.service.d/skip-slave.conf
覆盖覆盖的文件只是ExecStart
。手册systemd.unit
页对此进行了解释。 - 编辑包提供的
mysqld.service
服务单元文件。这根本不是 systemd 的方式。管理员不应该手动编辑软件包提供的内容。 - 请遵循第 1 至 18 行给出的详细说明CentOS 提供的
mysqld.service
文件,解释了如何.include
在这些情况下使用。
当然,别忘了
systemctl 守护进程重新加载