安裝Mysql服務器,一主一從(主的寫,從的讀)

準備工做

準備兩臺機器,每臺機器都安裝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

從服務器:

相關文章
相關標籤/搜索