Mysqld_multi Stop Bug

最近在做mysqld_multi管理多实例的时候,发现stop不了节点 这是什么原因呢? 多实例相关配置如下:

[mysqld_multi]  
mysqld     = /usr/local/mysql/bin/mysqld_safe  
mysqladmin = /usr/local/mysql/bin/mysqladmin
log = /usr/local/mysql/mysqld_multi.log
user       = root
password   = shunzi

[mysqld3306]  
socket     = /data/mysql3306/tmp/mysql3306.sock
port       = 3306  
user       = mysql

pid-file   = /data/mysql3306/mysql3306.pid  
datadir    = /data/mysql3306/data
tmpdir     = /data/mysql3306/tmp

[mysqld3307]  
socket     = /data/mysql3307/tmp/mysql3307.sock
port       = 3307  
user       = mysql

pid-file   = /data/mysql3307/mysql3307.pid  
datadir    = /data/mysql3307/data
tmpdir     = /data/mysql3307/tmp

执行mysqld_multi stop 3306时日志报error:

mysqladmin: [Warning] Using a password on the command line interface can be insecure.
mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: YES)'
mysqld_multi log file version 2.16; run: Thu Aug 31 21:09:02 2017

这里显示密码错误,手动登录是没有问题的。 这是mysqld_multi的一个bug,详细信息如下 https://bugs.mysql.com/bug.php?id=77227

解决方法是:

修改mysqld_multi文件中的defaults_for_group函数
        211 sub defaults_for_group
        212 {
        213   my ($group) = @_;
        214 
        215   return () unless $my_print_defaults_exists;
        216 
        217   my $com= join ' ', 'my_print_defaults', @defaults_options, $group;
        219   my @defaults = $com;
        220   chomp @defaults;
        221   return @defaults;
        222 }
        ==========================

        把 my $com= join ' ', 'my_print_defaults', @defaults_options, $group;
        替换为: my $com= join ' ', 'my_print_defaults -s', @defaults_options, $group;

在此记录一下!

继续阅读
Vultr 新用户注册就送100$
shunzi
  • 本文由 发表于 2018-02-0814:27:06
  • 除非特殊声明,本站文章均为原创,转载请务必保留本文链接
Oracle Spool数据 BLOG

Oracle Spool数据

昨天有个需求,让我导出数据到txt文本,数据有150w 数据库是oracle,试了下spool方式导出非常快: Oracle Spool常用设置 命令 描述 set arraysize 1000; 此...
Oracle正则表达式 BLOG

Oracle正则表达式

正则表达式简介 正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表通常被用来检索、替换那些符合某个...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: