请联系我 有广告合作意向的 请联系我

mysqld_multi 管理器记录

mysqld_multi 可以管理多个帧听不同Unix套接字文件和TCP/IP端口的连接的mysqld 进程。它可以启动或停止服务器,或报告它们的当前状态。
Version: 5.5.23
Version: 5.1.63
实例名:[mysqld00] – [mysqld02]
关闭[0,1,2]的MySQL服务

  1. /usr/local/mysql/bin/mysqld_multi –defaults-extra-file=/etc/my.cnf stop 0,1,2  

查看[0,1,2]的MySQL服务

  1. /usr/local/mysql/bin/mysqld_multi –defaults-extra-file=/etc/my.cnf report 0,1,2  

启动[0,1,2]的MySQL服务

  1. /usr/local/mysql/bin/mysqld_multi –defaults-extra-file=/etc/my.cnf start 0,1,2  

start,stop和report是指你想到执行的操作。你可以在单独的服务或是多服务上指定一个操作,区别于选项后面的GNR列表。如果没有指定GNR列表,那么msqld_multi将在所有的服务中根据选项文件进行操作。
每一个GNR的值是组的序列号或是一个组的序列号范围。此项的值必须是组名字最后的数字,比如说如果组名为mysqld17,那么此项的值则为17。如果指定一个范围,使用”-“(破折号)来连接二个数字。如GNR的值为10-13,则指组mysqld10到组mysqld13。多个组或是组范围可以在命令行中指定,使用”,”(逗号)隔开。不能有空白的字符(如空格或tab),在空白字符后面的参数将会被忽略。 (注:GNR值就是我们定义my.cnf中mysqld#中的值,我这里只有0-2)。
授权通过mysql_multi 关闭权限

  1. mysql> grant shutdown on *.* to ‘multi_admin’@’localhost’ identified by ‘multi_pass’;  

修改MySQL默认空密码

  1. mysqladmin -uroot password ‘root’ /data/db01/mysql01.socket  

登陆数据库

  1. mysql -uroot -p –socket=/data/db00/mysql00.socket   

重置其中一个实例root密码过程
1、在/etc/my.cnf中,[mysqld#]区域中加入skip-grant-tables,然后重新
2、空密码登陆库,update直接更新root密码

  1. mysql> update mysql.user set password=password(‘123456’) where user=’root’;      
  2. mysql> Flush privileges;   

3、把之前加入字段删除,保存,重启
mysql_multi服务启动脚本,支持chkconfig

  1. #!/bin/bash   
  2. #chkconfig: 2345 64 36   
  3. #description: start and stop the mysql_multi service.   
  4.   
  5. PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/mysql/bin   
  6. export PATH   
  7.   
  8. start(){   
  9.     mysqld_multi –defaults-extra-file=/etc/my.cnf start 0,1,2   
  10. }   
  11.   
  12. stop(){   
  13.     mysqld_multi –defaults-extra-file=/etc/my.cnf stop 0,1,2   
  14. }   
  15.   
  16. status(){   
  17.     mysqld_multi –defaults-extra-file=/etc/my.cnf report 0,1,2   
  18. }   
  19.   
  20. case “$1” in    
  21.     start)   
  22.         start   
  23.         sleep 3   
  24.         echo -e “Start mysqld_multi: …………….. [33[32m OK 33[0m]”   
  25.         ;;   
  26.     stop)   
  27.         stop   
  28.         sleep 3   
  29.         echo -e “Stop mysqld_multi: ……………… [33[32m OK 33[0m]”   
  30.         ;;   
  31.     restart)   
  32.         stop   
  33.         sleep 3   
  34.         echo -e “Stop mysqld_multi:                   [33[32m OK 33[0m]”   
  35.         start   
  36.         sleep 3   
  37.         echo -e “Start mysqld_multi:                  [33[32m OK 33[0m]”   
  38.         ;;   
  39.     status)   
  40.         status   
  41.         ;;   
  42.     *)   
  43.         echo “Usage: $0 {start|stop|restart|status} ”   
  44.         exit 1   
  45.         ;;   
  46. esac