標籤:msyql
1.分別在master伺服器和slave伺服器上安裝 mysql
$yum install -y mysql mysql-dev mysql-master
A.在master上操作:
A.1.編輯mysql設定檔:
$ vim /etc/my.cnf
在[mysqld]段內添加行:
server-id=129 #根據喜好隨便起,最好有一定規律。
log-bin=mysql-bin #開啟二進位日誌功能,必須
A.2. 重啟mysqld服務,進入mysql
$service mysqld restart;mysql
mysql>GRANT REPLICATION SLAVE ON *.* TO ‘repl‘@‘192.168.168.129‘ identified by ‘123456‘; #建立執行從備份的mysql帳戶repl ,密碼:123456,並只接受指定IP的串連。接受所有IP串連master時將‘192.168.168.129‘改為:‘%‘
A.3 查看mysql master 狀態
mysql>show master status; #記住 File 和 Position 的值(680)
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000002 | 680 | | |
+------------------+----------+--------------+------------------+
B.SLAVE主機設定:
B.1 編輯slave設定檔
$ vim /etc/my.cnf
在 [mysqld] 內添加/修改
server-id=IP最後一段 #設定ID,不能和master重複
log-bin=mysql-bin #開啟二進位日誌,可選。當slave做為其他主機的master時要啟用。$service mysqld restart;mysql #重啟mysqld服務,進入mysql
B.2. 串連到 master msyql
mysql>change master to master_host=‘192.168.128.128‘,master_user=‘repl‘,master_password=‘123456‘,master_log_file=‘mysql-bin.000002‘,master_log_pos=680; #這是一條完整的語句,不斷開
B3. 啟用slave功能
mysql>slave start;
B.4.查看slave狀態:
msyql>show slave status\G;
有以下兩項代表成功:
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
測試:在maste上建立一個資料庫ABC,如果slave上也存在ABC資料庫代表成功:
MASTER mysql:
mysql>create database ABC;
mysql>show databases;
+--------------------+
| Database |
+--------------------+
| information_schea |
| abc |
| mysql |
| performance_schema |
| test |
+--------------------+
6 rows in set (0.00 sec)
SLAVE mysql:
mysql>show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| abc |
| mysql |
| performance_schema |
| test |
+--------------------+
6 rows in set (0.00 sec)
在實驗過程中,slave一直不能串連上master ,最後確定原因為master授權時IP有錯誤,導致slave無法串連,這一點要牢記。錯誤碼為:1130
MASTER需要重啟時,需要先在SLAVE上執行:stop slave命令,master重啟完成後,再重新啟動slave:start slave .否則主從可能會中斷。
mysql 主從備份實驗