mysql 5.6.29 GTID主從搭建

master 172.16.0.137

slave    172.16.0.147

1、主從都安裝 MySQL-5.6.29版本

2、主從修改配置參數

gtid_mode=on

log_slave_updates=1     #表示從庫(級聯鏈式環節中既做主也做從的節點)既記錄relay log還要記錄binlog

enforce_gtid_consistency=1 或者=ON    #強制GTID的一致性

server-id = 1 主庫

server-id = 2 從庫

關閉服務:mysqladmin -uroot -p shutdown

啓動服務:/etc/init.d/mysqld start

3、主庫

mysql> grant replication slave on *.* to '10bak'@'172.16.0.%' identified by '123456';

flush privileges;

4、從庫

mysql> change master to master_host='172.16.0.137',master_user='10bak',master_password='123456',MASTER_PORT=3306,master_auto_position=1;

flush privileges;

start slave;  啓動從庫

show slave status; 查看從庫

5、賦予權限 (主從)

grant all privileges on *.* to root@'%' identified by '123456';    #賦予root 所有權限


6、建數據庫,導入數據

create database xxx;

use xxx;

source /xxx/xxx.sql; 

此時主從數據同步

7、設置從庫只讀模式

mysql> show global variables like "%read_only%";  查看只讀

mysql> flush tables with read lock;  #加鎖 (設置後主從不同步,在業務只讀表上才使用,一般需要同步的不設置)

mysql> set global read_only=1;      #設置後處於只讀模式

該設置只是針對普通用戶而言,root用戶還是可以進行讀寫

設置一般用戶的權限:

1、從庫:GRANT select ON *.* TO 'abc'@'%' IDENTIFIED BY '123456'      此時ABC只能select權限


用戶abc從任何主機連接到MySQL   值具有查詢功能

2、mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456'  

  //賦予任何主機訪問數據的權限 





報錯解決:

1062     主鍵衝突 從庫插入數據   主庫也插入了同樣數據  造成不同步

1、找到從庫數據刪除掉    

2、跳過數據   如果需要跳過的 數據較多則重建同名表  在主庫備份表數據,在source進從庫的同名表   最後修改表名  









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