總結mysql主從

來源:互聯網
上載者:User

標籤:com   linu   position   stat   需要   參數   工作   mysql使用者   讀鎖   

 

寫得不是很好,希望大家多多吐槽 >__<

 mysql主從總結一、原理(1)流程A ---  change data ---> 記錄bin_log  ---> transfer(傳到) ---->  B ---> repl_log(記錄自己的從日誌repl_log) ----> change data(更改自己的資料)(2)說明主mysql進行操作(create,update,insert,delete。。。),記錄二進位log檔案(bin_log )然後把日誌推到從上去,從接收到主日誌後,修改自己的 replay_log  二、實驗、一台機器跑兩個mysql服務 (i)準備工作 一、安裝主mysql 主(master):3306  mysql  從(slave)   :3307  mysql_slave(1)刪除原來已安裝的mysqlrm -rf /usr/local/mysql rm -rf /data/mysql (2)安裝主mysql解壓:  tar zxvf mysql-5.1.49-linux-i686-glibc23.tar.gz移動:  mv  mysql-5.1.49-linux-i686-glibc23    /usr/local/mysql  (3)檢查有沒有mysql使用者grep ‘mysql‘ /etc/passwd (沒有則建立: useradd -s /sbin/nologin mysql ) (4)拷貝設定檔,啟動指令碼cd  /usr/local/mysqlcp   support-files/my-small.cnf    /etc/my.cnfcp   support-files/mysql.server    /etc/init.d/mysqld編輯 mysqldbasedir=/usr/local/mysqldatadir=/data/mysql (5)初始化(之後會在 /data/mysql 下有 2 個目錄mysql, test)./scripts/mysql_install_db --user=mysql --datadir=/data/mysql (6)啟動主mysql/etc/init.d/mysqld start   二、安裝從mysql(0)複製mysql解壓目錄到從上cp  -r   /usr/local/mysql  /usr/local/mysql_slave (1)複製主的設定檔cp /etc/my.cnf  /usr/local/mysql_slave/ (2)修改從設定檔:vim my.cnfport=3307socket=/tmp/mysql_slave.sockdatadir=/data/mysql_slave (3)初始化操作./scripts/mysql_install_db --user=mysql --datadir=/data/mysql_slave (4)修改從啟動指令碼cp /etc/init.d/mysqld    /etc/init.d/mysqldslave修改:basedir=/usr/local/mysql_slavedatadir=/data/mysql_slaveconf=$basedir/my.cnf   (2個地方,#Try to find basedir in /etc/my.cnf 也需要改) (5)儲存啟動從/etc/init.d/mysqldslave start 科普:登入mysql的2種方式(1)host+連接埠 mysql -h127.0.0.1 -P3306  (主)mysql -h127.0.0.1 -P3307  (從)(2)socketmysql -S /tmp/mysql.sock(主)mysql -S  /tmp/mysql_slave.sock(從)ps:直接mysql是登入主  (ii)主從配置一、主mysql建立測試資料庫並匯入資料(1)登入主,建立測試資料庫db1mysql ——》 create database db1;(2)匯出主mysql庫的資料給db1mysqldump -S /tmp/mysql.sock mysql > 123.sqlmysql -S         /tmp/mysql.sock db1 < 123.sql 二、配置主(1)修改設定檔vim /etc/my.cnf     (a)server-id=1     (b)log-bin=windysai (名字隨便)     (c)選擇性參數binlog-ignore-db=mysql (不同步mysql庫)(binlog-do-db=db1,db2:只針對db1,db2做主從) (2)重啟主mysql/etc/init.d/mysqld restart(ls /data/mysql 會產生bin_log——2個檔案:windysai.000001,windysai.index) (3)進入主mysql,授權傳輸bin_log的repl     (a)登入主 mysql     (b)grant replication slave on *.* to ‘repl‘@‘127.0.0.1‘ identified by ‘123456‘; (4)把表的讀鎖死flush tables with read lock; (5)show master status; (記下File 和 Position的值)  三、配置從(1)vim /usr/local/mysql_slave/my.cnf (ps:不在/etc/init.d/目錄下)     (a)server-id = 111 (和主要不同!)     (b)選擇性參數          replicate-do-db=db1,db2          replicate-ignore-db=mysql (2)拷貝主上的庫db1(保證主從的庫是一樣的)     (a)mysql -S /tmp/mysql_slave.sock -e "create database db1"     (b)mysql -S /tmp/mysql_slave.sock db1 <123.sql    (iii)實現同步並測試 一、從mysql設定(1)登入從mysql -S /tmp/mysql_slave.sock(2)關閉從:slave stop(3)change master to master_host=‘127.0.0.1‘, master_port=3306, master_user=‘repl‘, master_password=‘123123‘, master_log_file="jiayi.000001‘, master_log_pos=106;(4)重啟從mysql/etc/init.d/mysqldslave restart(5)重新登入從mysql(6)開啟從: slave start(7)查看狀態show slave status\G;  (2個yes) 

 

    (iv)測試主從 一、 主mysql登入: mysql(1)主mysql 解鎖表的讀read lockunlock tables;(2)刪除 db1 的某些表use db1;    show tables;drop tables help_category;  二、從登入: mysql -S /tmp/mysql_slave.sock -P3307(1)查看db1庫的tables,發現 沒有 help_categoryuse db1;show tables;    (2)從把db1庫的proc表刪除drop table proc;  (主上看沒有了proc)(3)從建立表jiayilinuxshow create table `jiayilinux` ....(參考 show create table user\G;)(4)刪除整個資料庫db1drop database db1;   (v)總結Mysql的主從機制比較脆弱,謹慎操作。如果重啟主的mysql,務必把從停掉(slave stop)然後再重啟主mysql服務,從再開啟(slave start)否則有可能會中斷 

總結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.