MySQL單機多執行個體安裝並配置主從複製

來源:互聯網
上載者:User

標籤:style   blog   http   color   io   os   使用   ar   檔案   

    單機多執行個體據說可以最大程度提高硬體使用,誰知道呢,但是以前的公司喜歡這樣搞,我最近也在學習複製什麼的,電腦搞不起兩台虛擬機器,剛好單機多執行個體可以解救我。下面就說說步驟。

    承上文http://www.cnblogs.com/wingsless/p/4002806.html,我已經安裝好了MySQL,不過這個是單一實例的,要更改也可以,但是擔心會出現問題,於是我將下面的東西刪掉:

    1 #rm -f /etc/init.dmysql

    2 $rm -f /home/mysql/data

    建立這麼幾個目錄:

    $mkdir -p /home/mysql/mydata/data1/binlog /home/mysql/mydata/data1/relay_log /home/mysql/mydata/data1/socket

    $mkdir -p /home/mysql/mydata/data2/binlog /home/mysql/mydata/data2/relay_log /home/mysql/mydata/data2/socket

    接下來就可以將$MYSQL_HOME/suppuort-files/my-default.cnf複製到/etc下:

    #cp suppuort-files/my-default.cnf /etc/my.cnf

    修改這個檔案,增加下面的內容:

    

[mysqld_multi]mysqld = /usr/mysql/bin/mysqld_safemysqladmin = /usr/mysql/bin/mysqladminlog = /home/mysql/mydata/log/mysqld_multi.logsocket = /home/mysql/mydata/data1/socket/mysqld.sockport = 3306pid-file = /home/mysql/mydata/data1/mysqld.piddatadir = /home/mysql/mydata/data1[mysqld2]socket = /home/mysql/mydata/data2/socket/mysqld.sockport = 3307pid-file = /home/mysql/mydata/data2/mysqld.piddatadir = /home/mysql/mydata/data2

    這樣配置,就可以保證3306監聽的是主庫,而3307監聽的是從庫。

    下面就可以初始化資料庫了,依舊使用$MYSQL_HOME/script/mysql_install_db:

    ./mysql_install_db --basedir=/usr/mysql --datadir=/home/mysql/mydata/data1

    ./mysql_install_db --basedir=/usr/mysql --datadir=/home/mysql/mydata/data2

    執行好以後這兩個目錄裡會有很多檔案自動產生:

    

     然後執行:

     #cp $MYSQL_HOME/support-files/mysqld_multi.server /etc/init.d/mysql

     到這一步,所有的前期工作就已經做完了,下面就可以啟動資料庫了,兩個庫一起啟動的命令是:

     #service mysql start 1,2

     

 

      這樣就算好了。下面寫如何配置主從複製。

      首先登入3306:  

      $mysql -uroot -h127.0.0.1 -P3306

      建立一個複製使用者:

      mysql>grant replication slave, replication client on *.* to [email protected]‘localhost‘ identified by ‘repl‘;

      mysql>flush privileges;

      登入從庫:

      $mysql -uroot -h127.0.0.1 -P3307

      mysql>change master to master_host=‘localhost‘, MASTER_PORT=3306, master_user=‘repl‘, master_password=‘repl‘, master_log_file=‘mysql-bin.000001‘, master_log_pos=0;

      在主庫上執行:

      mysql>show master status\G

      

      mysql>show processlist;

      

      主庫應該是這樣子的。在從庫上執行:

     mysql>show slave status\G

     

    應該是有這麼一串,show processlist;

    

      這樣就配置好了。下面可以驗證一下,在主庫上建立一張表:

      

use test;create table test(  id int);

     這時從庫應該有對應的一張表也被複製了過來:

     

     主庫上插入資料:insert into test select 1;

     從庫上會自動更新:

     

     這樣就配置好了一對主動資料庫,其他的最佳化參數可以參考《高效能MySQL》,這本書真的很不錯,可以說是MySQL除了官方文檔之外的唯一經典。

     順便說一下,主從這個配置安裝什麼的,官方MySQL和Percona Server我都試過,沒有區別。

 

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.