mysql主從配置,實現實時備份數據

公司使用微軟的服務器實在是操蛋,每次微軟服務器一更新,就把數據回到一個還原點,數據丟了幾次,實在不能忍,就把自己的電腦去同步數據,去備份數據。

主從服務器前提條件mysql版本要一致,或者是同一個大版本下的小版本,不然可能二進制日誌文件存儲的方式不同,導致失敗。

查看mysql  版本的命令:select version();

修改主服務器master: my.cnf

    在[mysqld]這段後面添加下面兩行代碼:
       log-bin=mysql-bin   //[必須]啓用二進制日誌
       server-id=222      //[必須]服務器唯一ID,默認是1,一般取IP最後一段

重啓mysql 服務器:

通過命令:show master status;

+-------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+-------------------+----------+--------------+------------------+
| master-bin.000001 | 1285 | | |
+-------------------+----------+--------------+------------------+
1 row in set (0.00 sec);

出現上面的結果,配置文件修改成功了。


在Master MySQL上創建一個用戶‘slave’,並允許其他Slave服務器可以通過遠程訪問Master,通過該用戶讀取二進制日誌,實現數據同步。

mysql>create user slave; //創建新用戶
2 //repl用戶必須具有REPLICATION SLAVE權限,除此之外沒有必要添加不必要的權限,密碼爲mysql。說明一下192.168.0.%,這個配置是指明repl用戶所在服務器,這裏%是通配符,表示192.168.0.0-192.168.0.255的Server都可以以repl用戶登陸主服務器。當然你也可以指定固定Ip。
3 mysql> GRANT REPLICATION SLAVE ON *.* TO 'slave'@'192.168.0.%' IDENTIFIED BY 'mysql';

3、配置Slave從服務器(windows)

(1)找到MySQL安裝文件夾修改my.ini文件,在[mysqld]下面增加下面幾行代碼

[mysqld]

server-id=2234

relay-log-index=slave-relay-bin.index

relay-log=slave-relay-bin

重啓MySQL服務

出現了Empty set <0.02 sec>,其實是配置文件沒有修改成功。這一步在執行start slave.的時候失敗。

在從服務器上執行下面的命令

change master to master_host='192.168.1.104', //Master 服務器Ip
master_user='slave',
master_password='mysql',
master_log_file='master-bin.000001',//Master服務器產生的日誌
master_log_pos=0;

(3)啓動Slave

start slave;

,

新建一個數據庫,新建一個表插入數據看看。ok了




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