centos 下配置主從

來源:互聯網
上載者:User

標籤:io   os   使用   ar   strong   檔案   資料   sp   art   

Mysql主從方案介紹mysql主從方案主要作用:
讀寫分離,使資料庫能支撐更大的並發。在報表中尤其重要。由於部分報表sql語句非常的慢,導致鎖表,影響前台服務。如果前台使用master,報表使用slave,那麼報表sql將不會造成前台鎖,保證了前台速度。
發揚不同表引擎的優點。目前Myisam表的查詢速度比innodb略快,而寫入並發innodb比myIsam要好。那麼,我們可以使用innodb作 為master,處理高並發寫入,使用master作為slave,接受查詢。或在myisam slave中建立全文索引,解決innodb無全文索引的弱點。
熱備,slave和master的資料“准即時”同步。
準備工作。先分別安裝兩台MYSQL
配置MASTER。找到my.cnf檔案,修改:

server-id                = 1log_bin                        = /var/log/mysql/mysql-bin.logexpire_logs_days        = 10max_binlog_size         = 100Mbinlog_do_db                = DB_AdidasFootballbinlog_do_db                = DB_CodeBuilderbinlog_ignore_db        = test

其中,作為主機,server-id必須為1.
binlog_do_db為需要複製的db。 binlog_ignore_db為忽略複製的db。需要增加DB的話,就增加相應的一行。
重啟master資料庫,運行檢查:

mysql> show master status; #檢查是否以master形式啟動了。+------------------+----------+----------------------------------+------------------+| File             | Position | Binlog_Do_DB                     | Binlog_Ignore_DB |+------------------+----------+----------------------------------+------------------+| mysql-bin.000002 |     1087 | DB_AdidasFootball,DB_CodeBuilder | test             |+------------------+----------+----------------------------------+------------------+1 row in set (0.00 sec)mysql> show variables like "%log%";#需要看到這樣的一行,說明binlog已經開啟了: log_bin | ON


在master上為slave建立使用者

mysql> grant replication slave, reload, super on *.* to ‘slave‘@‘10.*‘ identified by ‘123456‘;
 注意:10.*這裡是ip 即從庫的ip 192.168.1.2


這樣,主機配置完畢。

配置slave

server-id = 2  #隨便什麼數字,多台slave注意不能為重複就可以了。#log_bin = /var/log/mysql/mysql-bin.log #slave的binlog就沒有必要再開啟了。注釋掉。master-host = 192.168.0.3    #master的IPmaster-user = slave        #上面操作中,建立的使用者名稱master-password = 123456       #上面操作中,建立的密碼


重啟slave, 檢查salve狀態

slave:mysql> show slave status;#很多很多列

slave:mysql>stop slave;   #停掉slave的複製先。slave:mysql>change master to master_host=‘192.168.1.2‘ , master_user=‘slave‘ , master_password=‘123456‘ , master_log_file=‘mysql-bin.000014‘ ,  master_log_pos=279;#更新master slave:mysql>start slave; #啟動slave的複製。slave:mysql>show slave status; #查看slave狀態,包含兩個YES則成功了。



接下來,將主機資料 copy 過來這個流程比較複雜:)各個步驟注意所在的機器

slave:mysql> stop slave;   #停掉slave的複製先。master:mysql> flush tables with read lock; #鎖掉master伺服器的所有表,禁止寫入。master:mysql> show master status; #還是上面的語句,查看並記錄下 File mysql-bin.000002, Position 1087+------------------+----------+----------------------------------+------------------+| File             | Position | Binlog_Do_DB                     | Binlog_Ignore_DB |+------------------+----------+----------------------------------+------------------+| mysql-bin.000002 |     1087 | DB_AdidasFootball,DB_CodeBuilder | test             |+------------------+----------+----------------------------------+------------------+1 row in set (0.00 sec)[email protected]:~$ mysqldump AdidasFootball > AdidasFootball.sql  #在命令列中匯出DB的資料,這裡是bash操作:)master:mysql> unlock tables; #匯出完成之後,解鎖。 master可以繼續跑起來了。[email protected]:~$ mysql AdidasFootball < AdidasFootball.sql  #在slave的命令列中匯入DB的資料,這裡又是bash操作:)slave:mysql> change master to    -> master_log_file=‘mysql-bin.000002‘,  #將這裡修改為剛記錄下來的資料    -> master_log_pos=1087;   #還有這裡slave:mysql> start slave;


完成。
注意事項 從機必須有其需要的資料庫,才能夠進行同步,否則會忽略。


centos 下配置主從

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.