在啟用MySQL多實例中,很多環境會選擇使用mysqld_multi管理多實例,但不幸的是從MySQL 5.6 後,
mysqld_mutli不能把MySQL關掉了。
對於這個問題的處理辦法,首先確認:
mysqladmin -h127.0.0.1 -P3307 -umdev -p shutdown
or
mysqladmin -S /tmp/mysql3307.sock -umdev -p shutdown
工作沒問題。
創建用戶:
create user ‘mdev’@’localhost’ identified by ‘mdev4admin’;
grant shutdown on *.* to ‘mdev’@’localhost’;
很幸運mysqld_multi是一個Perl腳本,找原因也方便,有興趣參考後面的文檔。
處理辦法:
修改mysqld_mutli 把
my $com= join ' ', 'my_print_defaults ', @defaults_options, $group;
替換為:
my $com= join ' ', 'my_print_defaults -s', @defaults_options, $group;
調用mysqld_multi傳入password
mysqld_multi stop 3307 --password=mdev4admin