mysqld_multi stop 1
其次是(反复,片刻之后)
mysqld_multi report 1
回报:
Reporting MySQL servers
MySQL server from group: mysqld1 is running
这些实例工作正常,当我重新启动时,我必须启动实例以使它们恢复正常(我需要解决的一个单独问题),但该stop
命令似乎没有做任何事情。
它确实不会停止实例,因为在实例日志文件中我看到了这一点:
120619 11:12:39 mysqld_safe A mysqld process already exists
在尝试运行start
之后。
每当发生这种情况时,我通常会尝试使用mysqladmin关闭 mysql
例如关闭运行在3307端口的mysql
确保运行后,该端口上的 mysql 确实已关闭,如下所示:
试试看 !!!
要停止任何实例的
mysqld_multi
特权应授予multi_admin
用户。也请检查赠款部分。这个问题在 MYSQL 5.7.7 中仍然存在这听起来很有趣,但解决方法是在 my.cnf 中为 [multi_admin] 组用户使用密码而不是密码。
关闭 mysql 服务(使用
mysqladmin -h127.0.0.1 -uroot -p shutdown
)并重新启动后,我无法从外部客户端连接到该服务器我查了一下问题,发现了这个问题,应用了答案,这样问题就解决了。那是因为浪费了mysqld的DNS反向查询。
mysqld_multi 只是一个 perl 脚本。为什么
mysqld_multi start 1
和mysqld_multi report 1
工作,但mysqld_multi stop 1
不是,在于 my_print_defaults。在MySQL5.6+中,密码默认
mysqld_multi
会显示在“ ”中,启动,报告不需要授权,所以密码没有用,可以,但是停止时,需要用户和密码进行授权,并且“ ” 崩溃了mysqld_multi stop
。解决方案:
-s
选项my_print_defaults@RolandoMySQLDBA 的解决方案有效,只是因为 mysqld_multi 最终将依赖 mysqladmin 来管理 mysqld 实例