MySQL主從介紹
成都創(chuàng)新互聯(lián)公司自2013年創(chuàng)立以來,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目網(wǎng)站制作、成都網(wǎng)站制作網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元牟定做網(wǎng)站,已為上家服務(wù),為牟定各地企業(yè)和個人服務(wù),聯(lián)系電話:028-86922220
(兩臺機(jī)器數(shù)據(jù)同步)
主:-->binlog
從:-->relaylog
主上有一個log dump線程,用來和從的I/O線程傳遞binlog
從上有兩個線程,其中I/O線程用來同步主的binlog并生成relaylog,另外一個SQL線程用來把relaylog里面的sql語句落地(執(zhí)行)
主從的應(yīng)用場景:
(1)做數(shù)據(jù)的備份,(主:作讀寫數(shù)據(jù),從:實時同步,當(dāng) 主 宕機(jī)時,從 也可以即使提供服務(wù) )
(2)也是做備份。(客戶從 從 這臺機(jī)器上讀取數(shù)據(jù)(但是不能再從上寫),減輕主的壓力)
準(zhǔn)備工作
1.兩臺機(jī)器都裝上mysql,并且都開啟mysql的服務(wù)
配置主
主:192.1683.136.133 從:192.168.136.134
1.修改my.cnf,增加server-id=133和log_bin=canshenglinux1
2.修改完配置文件后,啟動或者重啟mysqld服務(wù)
重啟完后,我們可以發(fā)現(xiàn)在/data/mysql下生成了以在配置文件中定義log_bin=canshenglinux1為開頭的文件
這些文件很重要,不然不能實現(xiàn)主從
3.
把mysql庫備份并恢復(fù)成cansheng庫,作為測試數(shù)據(jù)(這個庫就是用來做主從)
mysqldump -uroot -p123456 mysql > /tmp/mysql.sql
mysql -uroot -p123456 -e “create database cansheng”
mysql -uroot -p123456 cansheng < /tmp/mysql.sql
4.創(chuàng)建用作同步數(shù)據(jù)的用戶
(1)先進(jìn)入到mysql
(2)再創(chuàng)建同步數(shù)據(jù)的用戶
grant replication slave on *.* to 'repl'@slave_ip identified by '123456';
5.鎖定一下表:
flush tables with read lock;
(為了同步前數(shù)據(jù)一致。)
show master status (查看一下position和file)
(退出mysql)
此時查看一下/data/mysql又是什么庫
(一般同步不要同步mysql庫,因為里面有很多用戶名和密碼)
6.備份一下所需要同步的庫:
mysqldump -uroot -p123456 zrlog > /tmp/zrlog.sql
配置從
1.查看my.cnf,配置server-id=134,要求和主不一樣
2.修改完配置文件后,啟動或者重啟mysqld服務(wù)
/etc/init.d/mysqld restart
3.把主上需要同步的庫復(fù)制過來:
scp 192.168.136.133:/tmp/*.sql /tmp/
臨時創(chuàng)建alias,方便使用命令:
alias 'mysql=/usr/local/mysql/bin/mysql'
alias 'mysqldump=/usr/local/mysql/bin/mysqldump'
4.進(jìn)入mysql
創(chuàng)建相對應(yīng)的庫:
create database cansheng;
create database zrlog;
create database mysql2;
5.數(shù)據(jù)恢復(fù):
mysql -uroot cansheng < /tmp/mysql.sql
6.進(jìn)入mysql
(1)stop slave;
(2)change master to master_host='192.168.136.133', master_user='repl', master_password='123456', master_log_fil_log_file='canshenglinux1.000002', master_log_pos=646207;
(3)start slave;
(4)判定主從是否配置成功
show slave status\G
這樣是表示不成功配置成功的要出現(xiàn)兩個yes才成功。
不成功的因素:
(1)防火墻 systemctl stop firewalld
(2)selinux -->關(guān)閉 sentenforce 0
(3)用戶名是否正確
{而我的因素是在配置主的時候指定用戶名和密碼錯誤了,從頭來了一次}
7.回到主,進(jìn)到mysql解除table(表)的鎖定
unlock tables;
至此完成主從配置:
測試主從同步
(只需要在主或者從,其中一個配置就可以了。這些參數(shù)默認(rèn)是沒有配置的,沒有手動配置,那默認(rèn)是同步所有的庫)
在從上配置盡量使用最后兩個,可以避免在忽略某個庫或者表時,當(dāng)級聯(lián)查詢的時候避免出現(xiàn)數(shù)據(jù)丟失,不該忽略的也忽略了??!
測試主從是否成功,是否同步!
1.兩臺機(jī)器都進(jìn)到mysql下,進(jìn)到測試的數(shù)據(jù)庫:cansheng2
此時清空主上的comment表;看看從上的comment表數(shù)據(jù)是否也清空,從而同步。
truncate table comment;
刪除表測試:
我們不能再 從 這臺機(jī)器上執(zhí)行mysql操作,不然這時我們的主從就斷開。
(因為此時我們的position已經(jīng)改變)
如果此時我們的主從斷開了,應(yīng)該重新執(zhí)行
(1)stop slave;
(2)change master to master_host='192.168.136.133', master_user='repl', master_password='123456', master_log_fil_log_file='canshenglinux1.000002', master_log_pos=646207;
(3)start slave;
(4)判定主從是否配置成功
show slave status\G
這樣是表示不成功配置成功的要出現(xiàn)兩個yes才成功。
新聞標(biāo)題:MySQL主從配置:主從介紹、配置主和從、測試主從同步
URL鏈接:http://bm7419.com/article44/jccgee.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計、面包屑導(dǎo)航、企業(yè)網(wǎng)站制作、動態(tài)網(wǎng)站、商城網(wǎng)站、
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)