主從安裝mysql 5.6.15

denglt發表於2014-01-26

MySql主從安裝
1 環境介紹
IP地址 節點型別 描述
172.16.93.231 主節點
172.16.93.232 從節點
作業系統:Oracle Linux Server release 6.2
2 安裝軟體
採用原始碼安裝方式
1. mysql安裝包:mysql-5.6.15.tar.gz
Mysql 下載地址:http://dev.mysql.com/downloads/
2.  Cmake安裝包
mysql5.5以後是通過cmake來編譯的
wget http://www.cmake.org/files/v2.8/cmake-2.8.4.tar.gz

4 主伺服器上安裝MySql
   詳細步驟按照“原始碼方式安裝mysql 5.6.15

5 從庫伺服器上安裝MySql
主庫裝過程都是原始碼包編譯安裝的,並且所有的配置與資料等都統一規劃到了/opt/mysql目錄中,因此可以將主庫整個mysql目錄打包,然後傳到從庫伺服器上解包,便可立即使用。
5.1 打包主庫
[root@study1 /]# cd /opt
[root@study1 opt]# service mysql.server stop
Shutting down MySQL..... SUCCESS!
tar -czvf mysql.tar mysql/

5.2 從庫伺服器上解壓
[root@study2 opt]# groupadd mysql
[root@study2 opt]# useradd –r –g mysql mysql
[root@study2 opt]# tar -xzvf mysql.tar
[root@study2 support-files]# cp mysql.server /etc/init.d/
[root@study2 support-files]# service mysql.server start
Starting MySQL............................ SUCCESS!
從庫安裝成功!
設定環境變數:
[root@study1 etc]# cd /etc
[root@study1 etc]# vi profile
在檔案最後增加:
PATH=/opt/mysql/bin:/opt/mysql/lib:$PATH
export PATH

5.3 刪除auto.cnf檔案
刪除/opt/mysql/data/auto.cnf檔案。
否則啟動slave會報如下錯誤:
                Last_IO_Errno: 1593
                Last_IO_Error: Fatal error: The slave I/O thread stops because master and slave have equal MySQL server UUIDs; these UUIDs must be different for replication to work.


6 配置主庫
6.1 在主庫上建立一個複製使用的賬號,並授予replication slave許可權。
mysql>  GRANT REPLICATION SLAVE ON *.* to 'rep1'@'172.16.93.232' identified by 'mysql';
Query OK, 0 rows affected (0.08 sec)

6.2 修改主資料庫的配置檔案my.cnf,開啟BINLOG,並設定server-id的值,修改之後必須重啟Mysql服務
[mysqld]
log-bin = /opt/mysql/log/mysql-bin.log
server-id=1

實驗的時候啟動mysql發生錯誤,原因是mysql使用者對/opt/mysql/log沒有寫許可權。
執行# chown  mysql  /opt/mysql/log後,mysql服務啟動成功。

6.3 查詢主伺服器當前二進位制日誌名和偏移量
mysql> show master status \G
*************************** 1. row ***************************
             File: mysql-bin.000001
         Position: 120
     Binlog_Do_DB:
Binlog_Ignore_DB:
Executed_Gtid_Set:
1 row in set (0.00 sec)
7 配置從庫
7.1 設定server-id
修改/opt/mysql/etc/my.cnf,在[mysqld]下增加server-id=10

7.2 執行同步SQL語句
設定主庫資訊
Mysql> change master to
master_host='172.16.93.231',
master_user='rep1',
master_password='mysql',
master_port=3306,
master_log_file='mysql-bin.000001',
master_log_pos=120,
master_connect_retry=10;

“change master to “命令詳細見:http://dev.mysql.com/doc/refman/5.6/en/change-master-to.html

正確執行後啟動Slave同步程式
mysql> start slave;
Query OK, 0 rows affected (0.03 sec)

主從同步檢查
mysql> show slave status \G
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 172.16.93.231
                  Master_User: rep1
                  Master_Port: 3306
                Connect_Retry: 10
              Master_Log_File: mysql-bin.000001
          Read_Master_Log_Pos: 120
               Relay_Log_File: study2-relay-bin.000003
                Relay_Log_Pos: 283
        Relay_Master_Log_File: mysql-bin.000001
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
。。。
其中Slave_IO_Running 與 Slave_SQL_Running 的值都必須為YES,才表明狀態正常。

注意:change master to 將在/opt/mysql/data/下產生master.info檔案,來存放主庫資訊。

8 驗證主從複製效果
在主庫上操作:
mysql> use study;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> show tables;
+-----------------+
| Tables_in_study |
+-----------------+
| test            |
+-----------------+
1 row in set (0.00 sec)

mysql> create table test2 (name varchar(100));
Query OK, 0 rows affected (0.52 sec)

在從庫上檢視:

mysql> use study
Database changed
mysql> show tables;
+-----------------+
| Tables_in_study |
+-----------------+
| test            |
| test2           |
+-----------------+
2 rows in set (0.00 sec)


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/195110/viewspace-1075620/,如需轉載,請註明出處,否則將追究法律責任。

相關文章