Linux系統(tǒng)mysql主從配置搭建

本文主要給大家簡單講講Linux系統(tǒng)MySQL 主從配置搭建,相關專業(yè)術語大家可以上網(wǎng)查查或者找一些相關書籍補充一下,這里就不涉獵了,我們就直奔主題吧,希望Linux系統(tǒng)mysql 主從配置搭建這篇文章可以給大家?guī)硪恍嶋H幫助。
一 mysql 主從介紹

創(chuàng)新互聯(lián)公司長期為近千家客戶提供的網(wǎng)站建設服務,團隊從業(yè)經(jīng)驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為紹興企業(yè)提供專業(yè)的網(wǎng)站制作、做網(wǎng)站,紹興網(wǎng)站改版等技術服務。擁有十年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。

mysql 主從又叫replication ,AB復制。簡單講就是A和B兩臺機器做主從后,在A上寫數(shù)據(jù),另外一臺B也會跟著寫數(shù)據(jù),兩者數(shù)據(jù)實時同步的。
MySQL主從是基于binlog的,主上須開啟binlog才能實現(xiàn)

Linux系統(tǒng)mysql 主從配置搭建

具體過程為:1)主將更改操作記錄在binlog里
2)從將主的binlog事件(sql語句)同步到本機上,并記錄在relaylog里
3)從按順序執(zhí)行relaylog里面的sql語句
主上有一個log dump線程,用來和從的I/O線程傳遞binlog,從上有兩個線程,其中I/O線程用來同步主的binlog并生成 relaylog,另外的SQL線程用來把relaylog里面的sql語句落地

二 mysql 安裝

我們在一臺機子上再裝一個mysql
之前我們的mysql 放在 /usr/lcoal/mysql 下,
1 拷貝basedir重新初始化下

cd /usr/local
cp -r mysql mysql_2
cd mysql_2
./scripts/mysql_install_db --user=mysql --datadir=/data/mysql2

2 重新定義配置文件

vim /usr/local/mysql_2/my.cnf
basedir=/usr/local/msyql_2
datadir=/data/mysql2
port=3307
socket=/tmp/mysql2.sock

注意: basedir,datadir ,port,socket 要跟之前裝的mysql嚴格區(qū)分開
3 重新定義啟動腳本

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld2
vim /etc/init.d/mysqld2
basedir=/usr/local/mysql_2
datadir=/data/mysql2
找到下面的$bindir/mysqld_safe,插入--defaults-file=$basedir/my.cnf
$bindir/mysqld_safe --defaults-file=$basedir/my.cnf --datadir="$datadir" --pid-file="$mysqld_pid_file_path" $other_args >/dev/null &
      wait_for_pid created "$!" "$mysqld_pid_file_path"; return_value=$?

三 mysql 主庫配置

我們將端口3306的mysql作為主庫,主上操作如下:
1 編輯配置文件,增加server-id 打開binlog功能

vim  /etc/my.cnf
增加下面兩句
server-id=1   (我們設置主為1,從為2)
log_bin=lv

2  準備一個測試庫

修改完配置文件后,重啟mysqld服務
/etc/init.d/mysqld restart
先給root用戶一個密碼
mysqladmin -uroot -S /tmp/mysql.sock password 'lvlinux'
mysqldump -uroot -S /tmp/mysql.sock -plvlinux  mysql > /tmp/mysql.sql
mysql -uroot -S /tmp/mysql.sock -plvlinux  -e “create database lv”
mysql -uroot -S /tmp/mysql.sock -plvlinux lv < /tmp/mysql.sql

3 創(chuàng)建用作同步數(shù)據(jù)的用戶

mysql -uroot -S /tmp/mysql.sock -plvlinux
grant replication slave on *.* to 'repl'@127.0.0.1 identified by 'lvlinux';
flush tables with read lock;
show master status;
備注,repl后面跟的ip為從庫的來源ip,因為是同一臺機器,所以寫本機ip

Linux系統(tǒng)mysql 主從配置搭建

四 mysql 從庫配置

我們將端口為3307的mysql作為從庫
從上操作如下
1.編輯配置文件,定義server-id

vim /usr/local/mysql_2/my.cnf
增加一行,server-id=2

2 從上面配置主從關系
修改完配置文件后,重啟mysqld服務。
先給從mysql  root 用戶一個密碼
mysqladmin -uroot -S /tmp/mysql2.sock password 'lvlinux'
把主上的lv庫搬到從庫

mysql -uroot -S /tmp/mysql2.sock -plvlinux  -e “create database lv”
mysql -uroot -S /tmp/mysql2.sock -plvlinux lv < /tmp/mysql.sql

登錄從庫,進行如下操作

mysql -uroot -S /tmp/mysql2.sock -plvlinux
stop slave;
change master to master_host='127.0.0.1', master_port=3306,master_user='repl', master_password='lvlinux', master_log_file='lvlinux.000001',    master_log_pos=429;
start slave;
還要到主上執(zhí)行 unlock tables

備注:master_log_file 和 master_log_pos依次填寫主上show master status 得到的信息
3 查看主從狀態(tài)
在從上操作
show slave status\G;
Linux系統(tǒng)mysql 主從配置搭建
兩個線程運行正常,則標示主從配置成功。如果出錯關注
Seconds_Behind_Master: 0  //為主從延遲的時間
Last_IO_Errno: 0
Last_IO_Error:
Last_SQL_Errno: 0
Last_SQL_Error:

五、幾個配置參數(shù)

云服務器
binlog-do-db= //僅同步指定的庫
binlog-ignore-db= //忽略指定庫
從云服務器
replicate_do_db=  
replicate_ignore_db=
replicate_do_table=
replicate_ignore_table=
replicate_wild_do_table=
replicate_wild_ignore_table=
最后總結,我們在做主從時,首先要將從庫備份到跟主庫一致。在主從開啟時,要避免再從庫上寫數(shù)據(jù)。如果要重啟主庫,需要先關閉主從,也就是在從庫上執(zhí)行stop slave 。重啟完之后,再start slave

Linux系統(tǒng)mysql 主從配置搭建就先給大家講到這里,對于其它相關問題大家想要了解的可以持續(xù)關注我們的行業(yè)資訊。我們的板塊內(nèi)容每天都會捕捉一些行業(yè)新聞及專業(yè)知識分享給大家的。

網(wǎng)站標題:Linux系統(tǒng)mysql主從配置搭建
路徑分享:http://muchs.cn/article6/pdjdig.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營銷手機網(wǎng)站建設、網(wǎng)站內(nèi)鏈、用戶體驗、移動網(wǎng)站建設微信小程序

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

h5響應式網(wǎng)站建設