Wper主从搭建

主服务器 192.168.192.91
从服务器192.168.192.54
master:
 
my.cnf中添加
server-id=1
log-bin=mysql-bin
重启服务
 
加锁并备份数据:
 
 
  
  1. mysql>flush tables with read lock  
  2. mysql> show master status;  
  3. +------------------+----------+--------------+------------------+  
  4. | File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |  
  5. +------------------+----------+--------------+------------------+  
  6. | mysql-bin.000001 |   482745 |              |                  |  
  7. +------------------+----------+--------------+------------------+ 
    1. #mysqldump --databases bbs_weand_com > /root/bbs_weand_com.sql //这条命令需要另开一个终端执行
    2. mysql>unlock tables;
    3. #scp /root/bbs_weand_com.sql 192.168.192.54:/disk2
1 row in set (0.00 sec)
 
 
授权:
 
  
  1. mysql>grant replication client,replication slave on *.* to backup@'192.168.192.%' identifided by 'XXXX';  
  2. mysql>flush privileges;  
  3. mysql>show grants for backup@'192.168.192.%';  
     
 
slave:
配置文件添加
 
  
  1. [mysqld7]  
  2. socket = /disk2/mysql5.0/data/mysql7_wper/mysql.sock  
  3. port = 3307 
  4. pid-file = /disk2/mysql5.0/data/mysql7_wper/mysql.pid  
  5. datadir = /disk2/mysql5.0/data/mysql7_wper/  
  6. user = mysql 
  7. server-id = 30 
  8. log-bin = mysql-bin  
  9. expire_logs_days = 7 
  10. master-host=192.168.192.91  
  11. master-port=3306 
  12. master-user=backup 
  13. master-password=weiphone 
  14. replicate_do_db=bbs_weand_com 
 
开启服务
 
 
  
  1. #mysql -uroot -h127.0.0.1 -P3307 </disk2/bbs_weand_com.sql  
  2. #mysql -uroot -h127.0.0.1 -P3307  
  3. mysql>stop slave;  
  4. mysql> CHANGE MASTER TO MASTER_HOST='192.168.192.91',MASTER_USER='backup',MASTER_PASSWORD='XXXX',MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=482745;  
  5. mysql>start slave;  
  6.   
 
依据脚本格式为monitor授权:
 
 
  
  1. mysql> GRANT SUPER, REPLICATION SLAVE ON *.* TO 'monitor'@'192.168.192.%' IDENTIFIED BY PASSWORD '*330BC159EEB68E28E5BB0EACD81C6735A8677136'; 
为mysql用户授权关机:
 
 
  
  1. mysql> grant shutdown on *.* to mysql@localhost identified by 'BBBBXXX';  
  2. mysql>flush privileges; 
 
 
添加监控脚本内容如下:
 
 
  
  1. <?php 
  2. #include('db_config.php');  
  3. $_CONFIG = array(  
  4.        ('mysql_host_w'=>'192.168.192.54:3307','mysql_user_w'=>'monitor','mysql_pwd_w'=>'AAAXXX'),  
  5. );  
  6.  
  7. foreach($_CONFIG as $k => $v){  
  8.         $err_no = 1;  
  9.         $conn = mysql_connect($v['mysql_host_w'],$v['mysql_user_w'],$v['mysql_pwd_w']);  
  10.         $result = mysql_query("show slave status") or print_r(mysql_error());  
  11.         $row = mysql_fetch_array($result);  
  12.         mysql_close($conn);  
  13.         //print_r($row);  
  14.         switch ($row['Slave_SQL_Running']){  
  15.                 case 'Yes' :  
  16.                         $err_no2 = 0; break;  
  17.                 case 'No' :  
  18.                         $err_no2 = 1; break;  
  19.                 default :  
  20.                         $err_no2 = 2; break;  
  21.         }  
  22.  
  23.         switch ($row['Slave_IO_Running']){  
  24.                 case 'Yes' :  
  25.                         $err_no = 0; break;  
  26.                 case 'No' :  
  27.                         $err_no = 3; break;  
  28.                 default :  
  29.                         $err_no = 4; break;  
  30.         }  
  31.         //$err_no |= $row['Slave_SQL_Running'] =='Yes'?0:1;  
  32.         //$err_no |= $row['Slave_IO_Running'] == 'Yes'?0:2;  
  33.         //$row['c'] = ($row['Slave_SQL_Running'] =='Yes' && $row['Slave_IO_Running'] == 'Yes')?1:0;  
  34.         //echo 'TIME=' .date('Y-m-d H:i:s') .'NUM=' .$err_no;  
  35.         if($err_no == 0 & $err_no2 == 0 )  
  36.         echo '0|mysql slave successful   '.$v['mysql_host_w']."<br> 
  37. ";  
  38.         elseif($err_no == 1 | $err_no2 == 1)  
  39.         echo '1|mysql slave fail error_no:'.$err_no.','.$v['mysql_host_w']." | Slave_SQL_Running:".$row['Slave_SQL_Running']."<br> 
  40. ";  
  41.         elseif($err_no == 3 | $err_no2 ==3 )  
  42.         echo '3|mysql slave fail error_no:'.$err_no.','.$v['mysql_host_w']." | Slave_IO_Running:".$row['Slave_IO_Running']."<br> 
  43. ";  
  44.         else  
  45.         echo '4|mysql slave error_no:'.$err_no.','.$v['mysql_host_w']." | Slave_SQL_Running:".$row['Slave_SQL_Running']."<br> 
  46. ";  
  47. }