MySQL的主從

來源:互聯網
上載者:User

標籤:

以下是個人執行個體操作得出的結論:mysql的主從同步是一個很成熟的架構:    優點:    ①:在從伺服器可以執行查詢工作,降低主伺服器壓力(所謂的讀寫分離)    ②:在從主伺服器進行備份,避免備份期間影響主流伺服器服務(不太懂是到底在從還是主上面進行操作)    ③:當主服務出現問題時,可以切換到從伺服器。配置開始兩台伺服器192.168.0.1 主伺服器 master192.168.0.2 從伺服器 slave 主伺服器配置主伺服器的my.ini  在最下面添加read-only=0  #主機讀寫權限,讀寫都可以
log-bin = mysql-bin #記錄檔 必填項
server-id = 1 # 1-32 必填項
replicate-do-db = test #指向資料庫 必填項
replicate-ignore-db = mysql #指定不要同步的資料庫,如果指定了binlog(replicate)-do-db就不用再指定該項
重啟資料庫 然後在主伺服器庫中建立一個備份帳號;

grant replication slave on *.* to [email protected].0.2 identified by ‘slave‘ ; #建立一個備份帳號

flush privileges; #更新許可權

注釋:指向到192.168.0.2的從伺服器 給從伺服器一個備份帳號;帳號是salve  密碼:slave   identity by 代表著密碼 賬戶@從伺服器位址   identity by 密碼
FLUSH TABLES WITH READ LOCK;:先鎖定表
此備份方式需要在CMD中退出mysql的串連  在 mysql/bin中執行(因為bin檔案中有個 mysqldump.exe的檔案)mysqldump --master-data -uroot -p test(需要備份的資料庫名) > test.sql備份成功後 查看主伺服器的記錄檔資訊show master status \G以上所有步驟都正確的話,將進行 解表 :unlock tables; 從伺服器配置從伺服器的my.ini在最下面添加

server-id=2 #指定唯一的ID,2至32,必須的,並且不能跟主要資料庫一樣

replicate-do-db=rep_test #指定要同步的資料庫,必須的

lower_case_table_names=1 #必須要,否則從資料庫只能更新出表 而不能同步表資料

配置登入主要資料庫的帳號和密碼等資訊;有兩種方法:     ①:在my.ini中進行配置
          #主伺服器的IP地址
         master-host=10.0.0.100 
         #從伺服器串連主伺服器的帳號
         master-user=slave
         #從伺服器串連主伺服器的帳號密碼 
         master-password=‘slave‘
         #主伺服器連接埠  
         master-port=3306 
         #同步時間間隔為60秒
         master-connect-retry=10
                   #記錄檔                 master_log_file = ‘mysql-bin.000008‘,            #
          master_log_pos = 79;      ②:用代碼進行配置         change master to master_host=‘192.168.0.1‘,master_user=‘slave‘,master_password=‘slave‘, master_log_file=‘mysql-                           bin.000001‘,master_log_pos=120;         設定主賬戶的資訊;詳解: 設定主伺服器的IP(192.168.0.1) 設定登入帳號(slave 是主服務給此從伺服器的帳號) 設定登入密碼(slave是主服         務器給此從伺服器的密碼) 備份記錄檔名(mysql-bin.000001是mysql預設的格式  主伺服器查看狀態的File:此參數) master_log_pos (應該是主伺服器 show master status \G 查看狀態的Position:(int型)(XXX)配置成功後 ;啟用開始配置 start slave;(開始備份從伺服器 slave 是固定參數)查看從資料庫資訊  :show slave status;如果出現: Slave_IO_Running: YesSlave_SQL_Running: Yes以上兩項都為Yes,那說明沒問題了到此完成; 然後可以去主服務作業 看從伺服器是否成功備份;可以查看URL:http://www.cnblogs.com/shuidao/p/3551238.html每次停止備份或者備份報錯的時候;應該先輸入 stop slave停止備份----change 重新設定參數 ---start slave;啟動配備------show slave status; 以上方式是配置新的主從的資料庫,當資料庫中以前有存在資料的時候;是同步不了;  配置舊資料庫的主從複製 大部分和上面大同小異 1、編輯主要資料庫的my.ini檔案,加上: binlog-do-db=landclash(資料庫名) 2、將主要資料庫data目錄下需要做主從複製的資料庫的同名目錄拷貝到從資料庫的data目錄下 3、在從資料庫的my.ini問價,加上一下內容 replicate-do-db=landclash(資料庫) 結束:剩下的同步 與上面方法一直 在同一伺服器建立兩個MySQL的話,做主從同步 很容易發生 UUID錯誤;此錯誤更改方法:bin/data/auto.cnf   修改裡面的UUID(隨便改一個數字即可) slave status \G 出現找不到表的時候,一般是Position位置對不上;  查看windows主機建立兩個資料庫 做類比主從操作:請查看 一個主機建立兩個MySQL 網頁版瀏覽器不能根據連接埠號碼進行訪問資料庫;所以推薦使用mysql工具 Navicat 主從同步時需要要到的命令:*:代表著mysql 或者 mysql的名稱net stop *;停止mysqlnet start *;啟用mysql主伺服器常用命令:

grant replication slave on *.* to [email protected].0.2 identified by ‘slave‘ ; #建立一個備份帳號

flush privileges; #更新許可權

FLUSH TABLES WITH READ LOCK;:先鎖定表
mysqldump --master-data -uroot -p test(需要備份的資料庫名) > test.sql
show master status \G :查看主伺服器日誌資訊unlock tables;:解表從伺服器常用命令: change master to master_host=‘192.168.0.1‘,master_user=‘slave‘,master_password=‘slave‘, master_log_file=‘mysql-                           bin.000001‘,master_log_pos=120;         設定主賬戶的資訊;詳解: 設定主伺服器的IP(192.168.0.1) 設定登入帳號(slave 是主服務給此從伺服器的帳號) 設定登入密碼(slave是主服         務器給此從伺服器的密碼) 備份記錄檔名(mysql-bin.000001是mysql預設的格式  主伺服器查看狀態的File:此參數) master_log_pos (應該是主伺服器 show master status \G 查看狀態的Position:(int型)(XXX)start slave;(開始備份從伺服器 slave 是固定參數)show slave status;:查看配置stop slave;停止備份 如果想在Slave上忽略一個庫的複製,最好不要用binlog_ignore_db這個參數, 盡量使用
 
binlog-do-db =test #只複製某個庫 

replicate-do-db =test #只複製某個庫

replicate-ignore-db=mysql #不複製某個庫

binlog_ignore-db=mysql #不複製某個庫

MySQL的主從

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.