mysql主從和主主的配置

 

 

         mysql在主從和主主配置可以說是用來備份用的。主從主要是只能在主讓更改數據且只能是主的能提供服務只有當主的出現故障從的才能生效,而主主是都能更改數據和都能提供服務的。二者都能做備份用。

配置:在節點node1.a.rog上安裝mysql

1、  需要軟件mysql-5.5.15-linux2.6-i686.tar.gz

  1. # mkdir -vp /data/mydata  
  2.  
  3. #tar xvf mysql-5.5.15-linux2.6-i686.tar.gz –C /usr/local 
  4.  
  5. #cd /usr/local 
  6.  
  7. # ln -sv mysql-5.5.15-linux2.6-i686/ mysql  
  8.  
  9. # groupadd -g 3306 mysql  
  10.  
  11. # useradd -g mysql -u 3306 mysql -s /sbin/false 
  12.  
  13. # chown -R mysql.mysql .  
  14.  
  15. # chown -R mysql /data/mydata/  
  16.  
  17. # scripts/mysql_install_db --user=mysql --datadir=/data/mydata 

這個時候是啓動不了數據庫的需要做以下內容:

  1. # cd support-files/  
  2.  
  3. # cp my-large.cnf /etc/my.cnf  
  4.  
  5. # cp mysql.server /etc/init.d/mysqld 

編輯/etc/init.d/mysqld的文件加入以下內容:

        datadir = /data/mydata

  1. 啓動msyql:  
  2.  
  3.         #chkconfig –add mysqld  
  4.  
  5.         #service mysqld start 

    在node2.a.rog上做相同的配置並能確定mysql能夠啓動。之後需要做的是關閉兩端的mysql

 

1、  主從服務的配置:

node1上編輯/etc/my.cnf文件,確保開啓如下內容

  1. log-bin=mysql-bin  
  2.  
  3. default-storage-engine=INNODB  
  4.  
  5. binlog_format=mixed  
  6.  
  7. binlog-ignore-db=mysql 可以屏蔽某個數據庫避免同步  
  8.  
  9. server-id = 1 

啓動mysql並設置授權訪問:

  1. MySQL>GRANT REPLICATION SLAVE ON *.* TO 'node2'@'192.168.%.%' IDENTIFIED BY 'node2';  
  2.  
  3. mysq>FLUSH PRIVILEGES

node2上配置:

 編輯/etc/my.cnf文件:

  1. default-storage-engine=INNODB  
  2.  
  3. binlog_format=mixed  
  4.  
  5. binlog-ignore-db=mysql 可以屏蔽某個數據庫避免同步  
  6.  
  7. server-id = 2 

啓動mysql:

  1. mysql> CHANGE MASTER TO MASTER_HOST='192.168.0.168',MASTER_USER='node2',MASTER_PASSWORD='node2';  
  2.  
  3.    mysql> START SLAVE  
  4.  
  5. mysql> SHOW SLAVE STATUS\G; 
  1. *************************** 1. row ***************************  
  2. Slave_IO_State: Waiting for master to send event  
  3. Master_Host: 192.168.0.168  
  4. Master_User: node2  
  5. Master_Port: 3306  
  6. Connect_Retry: 60  
  7. Master_Log_File: mysql-bin.000002  
  8. Read_Master_Log_Pos: 107  
  9. Relay_Log_File: station14-relay-bin.000003  
  10. Relay_Log_Pos: 253  
  11. Relay_Master_Log_File: mysql-bin.000002  
  12. Slave_IO_Running: Yes  
  13. Slave_SQL_Running: Yes 

至此主從服務配置好,下面驗證一下:

node1上創建一個新的數據庫和表
 

  1. mysql>CREATE DATABASE XIAOXIAO  
  2.  
  3.   mysql> CREATE TABLE users ( ID INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,Name VARCHAR(30) NOT NULL,Age TINYINT UNSIGNED NOT NULL,Gender ENUM('F','M'NOT NULL DEFAULT 'M'); 
  1. mysql> SHOW DATABASES;  
  2.  
  3. +--------------------+  
  4.  
  5. Database |  
  6.  
  7. +--------------------+  
  8.  
  9. | information_schema |  
  10.  
  11. | XIAOXIAO |  
  12.  
  13. | mysql |  
  14.  
  15. | performance_schema |  
  16.  
  17. | test |  
  18.  
  19. +--------------------+  
  20.  
  21. mysql> SHOW TABLES;  
  22.  
  23. +--------------------+  
  24.  
  25. | Tables_in_XIAOXIAO |  
  26.  
  27. +--------------------+  
  28.  
  29. | DATA |  
  30.  
  31. | QQ |  
  32.  
  33. user |  
  34.  
  35. | users |  
  36.  
  37. +--------------------+  

在從服務器上驗證一下是否有XIAOXIAO數據庫,user表。如果有則成功

1、  主主的配置

主主服務就是node1, node2兩端既做主服務又作從服務

node2上創建訪問授權:

  1. mysql> GRANT REPLICATION SLAVE ON *.* TO 'node1'@'192.168.%.%' IDENTIFIED BY 'node1';  
  2.  
  3. mysql> FLUSH privileges

node1上啓動slave

  1. mysql> CHANGE MASTER TO MASTER_HOST='192.168.0.134',MASTER_USER='node1',MASTER_PASSWORD='node1';  
  2.  
  3. mysql> flush privileges;  
  4.  
  5. mysql> start slave;  
  6.  
  7. mysql> show slave status\G; 查看是否連接上 

    至此配置完成!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章