Linux下搭建MySQL主從同步

來源:互聯網
上載者:User

由於沒有硬體環境,於是在虛擬機器的Linux裡編譯安裝了兩個mysql,一個作為master一個作為slave,分別安裝在/home/jhw/mysql和/home/jhw/mysql2,兩個mysql預設同一個連接埠3306是不可以的,所以修改mysql2中的設定檔my.cnf,把port改成3307(還要注意socket的路徑是否是當前mysql的安裝路徑,要一致)。如果在編譯時間沒有指定datadir,還要在my.cnf中加入“datadir=/home/jhw/mysql2/data“,當然data目錄需要mkdir自己建。

修改好設定檔後,測試兩個mysql能不能啟動,分別到bin目錄下去執行 ./mysqld_safe & 命令,再用netstat -nltp查看3306和3307連接埠是否起來,啟動沒問題後登入到mysql中,這期間我把mysql的密碼忘了,網上搜後,可以這樣做,停止mysql服務,用mysqld_safe --skip-grant-tables &命令啟動mysql ,再用空密碼方式登陸mysql -uroot ,在mysql>裡就可以修改密碼了,使用命令 mysql> update mysql.user set password=PASSWORD('新密碼') where User='root'; mysql> flush privileges; mysql> quit 。重新啟動linux後就可以了。

接下來就是配置主從了(這裡把mysql作為主庫,mysql2作為從庫),首先在master上添加slave訪問主機mysql的使用者,登陸主庫mysql,執行下面兩條授權命令:

mysql> GRANT FILE ON *.* TO jhw@192.168.1.103 IDENTIFIED BY ‘密碼’;

mysql> GRANT REPLICATION SLAVE ON *.* TO jhw@192.168.1.103 IDENTIFIED BY ‘密碼';

其次,把要同步的資料庫檔案copy到叢庫的data檔案夾下,www.bkjia.com這裡我把資料庫名叫‘sg’的庫檔案copy到了叢庫中。

然後,修改主庫的設定檔,開啟my.cnf,設定加入以下參數

        log-bin= mysql-bin               #開啟logbin選項以能寫到slave的 I/O線程;
        server-id=1                        #表示是原生序號為1,一般來講就是master的意思.
         binlog-do-db= sg             #表示同步aa資料庫;

       重啟主庫mysql。

再修改叢庫設定檔,開啟my.cnf, 找到[mysqld] 至少保證具有以下參數

       server-id=2       #本機序號,表示為從機

       master-connect-retry=60 #每60秒同步一次

       replicate-do-db=sg        #被同步的資料庫

       log-slave-updates            #暫時不知什麼作用

       master-host =192.168.1.103      #master 的IP地址

       master-user=jhw         # 用來訪問master的mysql使用者

       master-port =3306       #master中的mysqld的port

儲存重啟。

  • 1
  • 2
  • 下一頁

相關文章

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.