準備工做
準備兩臺機器,每臺機器都安裝msyql,並啓動mysql服務;mysql
安裝步驟可參考:mysql安裝linux
若是mysql啓動失敗,能夠去查看錯誤日誌,會發現 /data/mysql 目錄下的文件的屬主屬組不是mysql,因此須要更改屬主屬組,執行命令chomd mysql:mysql /data/mysqlsql
而後能夠再啓動便可,執行命令 /etc/init.d/mysql start數據庫
配置主
- 安裝mysql
- 修改my.cnf,增長server-id=130和log_bin=aminglinux1
- 修改完配置文件後,啓動或者重啓mysqld服務
- 把mysql庫備份並恢復成aming庫,做爲測試數據
- mysqldump -uroot mysql > /tmp/mysql.sql
- mysql -uroot -e 「create database aming」
- mysql -uroot aming < /tmp/mysql.sql
- 建立用做同步數據的用戶
- grant replication slave on . to 'repl'@slave_ip identified by 'password';
- flush tables with read lock;
- show master status;
修改my.cnf配置文件,添加內容以下,保存退出服務器
而後重啓mysqlide
查看/data/mysql/目錄下生成的文件測試
以aminglinux1前綴的文件很是重要,是實現主從的根本spa
首先備份一個數據庫.net
建立一個新的數據庫日誌
恢復數據
建立一個用於同步數據的用戶
鎖定數據表(目的是不讓表繼續寫,保持當前狀態,方便進行同步),而後記住binlog的filename,退出
備份其餘的數據庫
配置從
- 安裝mysql
- 查看my.cnf,配置server-id=132,要求和主不同
- 修改完配置文件後,啓動或者重啓mysqld服務
- 把主上aming庫同步到從上
- 能夠先建立aming庫,而後把主上的/tmp/mysql.sql拷貝到從上,而後導入aming庫
- mysql -uroot
- stop slave;
- change master to master_host='', master_user='repl', master_password='', master_log_file='', master_log_pos=xx,
- start slave;
- 還要到主上執行 unlock tables
修改my.cnf配置文件,添加內容以下(id要求和主上不同),保存退出
重啓mysql
將主上備份的數據拷貝到從中,作數據恢復
建立庫
而後作數據恢復
實現主從同步
檢查主從是否配置成功
回到主上執行unlock tables,解鎖主庫的表
這樣主從配置搭建完成。
測試主從同步
幾個配置參數
- 主服務器上
- binlog-do-db= //僅同步指定的庫
- binlog-ignore-db= //忽略指定庫
- 從服務器上
- replicate_do_db= //同步指定的庫
- replicate_ignore_db= //忽略指定的庫
- replicate_do_table=
- replicate_ignore_table=
- replicate_wild_do_table= //如aming.%, 支持通配符%
- replicate_wild_ignore_table=
注:進行從服務器的配置時,儘可能使用replicate_wild_do_table和replicate_wild_ignore_table兩個參數
測試主從
- 主上 mysql -uroot aming
- select count(*) from db;
- truncate table db;
- 到從上 mysql -uroot aming
- select count(*) from db;
- 主上繼續drop table db;
- 從上查看db表
主服務器:
清空表格wp_users
刪除表格wp_users
從服務器: