作者:流浪猫 网址:http://hi.baidu.com/ytjwt

大家有没有遇到在一台机器装好多mysqld呢?如果有,那大家一般是怎么做呢?是不是也像我以前,编译很多mysql,放在不同的目录下,然后一个个的启动呢?如果是这样,那我强烈推荐使用mysqld_multi,这个可以迅速的配置N个mysqld。
步骤如下:
1) 先在服务器上装一mysqld,启动,配置好mysql用户
2) Copy data目录下的mysql 库到准备新开的mysql服务器(可以是N个)
3) 配置mysqld_multi
具体的配置可以参照./mysqld_multi –example
 

 

 
  
  1. [mysqld_multi]  
  2. mysqld = /usr/local/mysql/bin/mysqld_safe  
  3. mysqladmin = /usr/local/mysql/bin/mysqladmin  
  4. user = yt  
  5. password = yangting  
  6. [mysqld1]  
  7. datadir=/usr/local/mysql/data/  
  8. basedir=/usr/local/mysql  
  9. port = 3306  
  10. socket = /tmp/mysql.sock  
  11.  
  12.  
  13. [mysqld2]  
  14. datadir=/usr/local/mysql/data2/  
  15. basedir=/usr/local/mysql  
  16. port = 3307  
  17. socket = /tmp/mysql1.sock  
  18. pid-file=/usr/local/mysql/data2/mysql2.pid  
  19. default-storage-engine=innodb  
  20. [mysql]  
  21. prompt=mysql--\\u@\\h:\\d \\r:\\m:\\s>>  

4)启动与关闭
 

 
  
  1. ./mysqld_multi --log=/usr/local/mysql/data2/yt.err start  
  2. ./mysqld_multi --log=/usr/local/mysql/data2/yt.err stop   
  3. 还可以mysqld_multi --log=/usr/local/mysql/data2/yt.err start 1,3-10 start 来启动  
  4. 也可以./mysqld_multi --log=/usr/local/mysql/data2/yt.err stop 2 来关闭第二个  

注意:一定要在起来后,确定每个server上有mysqld_mult需要的用户及密码,且必须是localhost
GRANT SHUTDOWN ON *.* TO 'yt'@'localhost' IDENTIFIED BY 'yangting';
否则不能stop