溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

MYSQL中怎么實(shí)現(xiàn)主從復(fù)制和讀寫分離

發(fā)布時(shí)間:2021-07-13 15:49:16 來(lái)源:億速云 閱讀:203 作者:Leah 欄目:云計(jì)算

今天就跟大家聊聊有關(guān)MYSQL中怎么實(shí)現(xiàn)主從復(fù)制和讀寫分離,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

在master,slave1,slave2上分別安裝MySQL

[root@master1 ~]# mkdir /abc   ##創(chuàng)建掛載點(diǎn)
    [root@master1 ~]# mount.cifs //192.168.100.1/LNMP-C7 /abc/   ##遠(yuǎn)程掛載
    Password for root@//192.168.100.1/LNMP-C7:  
    [root@master1 ~]# cd /abc/
    [root@master1 abc]# ls
    mysql-5.5.24
    [root@master1 abc]# tar zxvf mysql-5.5.24.tar.gz -C /opt/   ##解壓
    [root@master1 opt]# yum install -y \
    > gcc gcc-c++ \
    > ncurses \
    > ncurese-devel \    ##控制終端屏幕顯示的庫(kù)
    > bison \                 ##語(yǔ)法分析
    > make
    > cmake                 ##cmake工具
    > libaio-devel         ##系統(tǒng)調(diào)用來(lái)實(shí)現(xiàn)異步IO

    [root@slave1 opt]# useradd -s /sbin/nologin mysql   ##添加不可登錄的mysql用戶
    [root@slave1 opt]# cd /opt/mysql-5.5.24/
    [root@slave1 mysql-5.5.24]# mkdir /usr/local/mysql   ##創(chuàng)建安裝目錄
    [root@slave1 mysql-5.5.24]# cmake \      ##配置
    > -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \    ##安裝路徑
    > -DMYSQL_UNIX_ADDR=/home/mysql/mysql.sock \   ##sock文件路徑
    > -DDEFAULT_CHARSET=utf8 \      ##字符集
    > -DDEFAULT_COLLATION=utf8_general_ci \
    > -DWITH_EXTRA_CHARSETS=all \
    > -DWITH_MYISAM_STORAGE_ENGINE=1 \     ##存儲(chǔ)引擎
    > -DWITH_INNOBASE_STORAGE_ENGINE=1 \
    > -DWITH_MEMORY_STORAGE_ENGINE=1 \
    > -DWITH_READLINE=1 \
    > -DENABLED_LOCAL_INFILE=1 \
    > -DMYSQL_DATADIR=/home/mysql \     ##數(shù)據(jù)文件路徑
    > -DMYSQL_USER=mysql \      ##用戶
    > -DMYSQL_TCP_PORT=3306    ##端口

    [root@slave1 mysql-5.5.24]# make && make install   ##編譯及安裝
    [root@master1 mysql-5.5.24]# chown -R mysql.mysql /usr/local/mysql   ##設(shè)置mysql屬主屬組
    [root@master1 mysql-5.5.24]# vim /etc/profile   ##配置環(huán)境變量便于系統(tǒng)識(shí)別
    export PATH=$PATH:/usr/local/mysql/bin/
    [root@master1 mysql-5.5.24]# source /etc/profile   ##刷新配置文件
    [root@master1 mysql-5.5.24]# cp support-files/my-medium.cnf /etc/my.cnf   ##主配置文件
    cp:是否覆蓋"/etc/my.cnf"? yes
    [root@master1 mysql-5.5.24]# cp support-files/mysql.server /etc/init.d/mysqld   ##啟動(dòng)文件
    [root@master1 mysql-5.5.24]# chmod 755 /etc/init.d/mysqld    ##設(shè)置權(quán)限
    [root@master1 mysql-5.5.24]# chkconfig --add /etc/init.d/mysqld    ##添加到service管理中
    [root@master1 mysql-5.5.24]# chkconfig mysqld --level 35 on   ##開機(jī)自啟動(dòng)
    [root@master1 mysql-5.5.24]# /usr/local/mysql/scripts/mysql_install_db \   ##初始化數(shù)據(jù)庫(kù)
    > --user=mysql \
    > --ldata=/var/lib/mysql \
    > --basedir=/usr/local/mysql \
    > --datadir=/home/mysql

    [root@master1 mysql-5.5.24]# vim /etc/init.d/mysqld    ##編輯啟動(dòng)腳本文件
    basedir=/usr/local/mysql   ##找到此處添加路徑
    datadir=/home/mysql
    [root@master1 mysql-5.5.24]# service mysqld start    ##啟動(dòng)MySQL
    Starting MySQL.. SUCCESS! 
    [root@master1 mysql-5.5.24]# mysqladmin -u root password 'abc123'  ##設(shè)置密碼

MYSQL中怎么實(shí)現(xiàn)主從復(fù)制和讀寫分離
MYSQL中怎么實(shí)現(xiàn)主從復(fù)制和讀寫分離
MYSQL中怎么實(shí)現(xiàn)主從復(fù)制和讀寫分離
MYSQL中怎么實(shí)現(xiàn)主從復(fù)制和讀寫分離

至此database主從同步成功!??!

MYSQL中怎么實(shí)現(xiàn)主從復(fù)制和讀寫分離
MYSQL中怎么實(shí)現(xiàn)主從復(fù)制和讀寫分離
11,修改amoeba服務(wù)器配置文件

[root@amoeba conf]# vim amoeba.xml  ##修改主配置文件
    #第30行

     <property name="user">amoeba</property>    ##從服務(wù)器同步主服務(wù)器的用戶密碼
    #第32行
     <property name="password">123456</property>

    #第117行去掉注釋
     <property name="defaultPool">master</property>
     <property name="writePool">master</property>
     <property name="readPool">slaves</property>

    [root@amoeba conf]# vim conf/dbServers.xml   ##配置數(shù)據(jù)庫(kù)配置文件

    #第26 至29行去掉注釋
     <property name="user">test</property>

     <property name="password">123.com</property>

    #第42行添加主服務(wù)器地址
    <dbServer name="master"  parent="abstractServer">
     <property name="ipAddress">192.168.142.151</property>
    第52行添加從服務(wù)器slave1地址
    <dbServer name="slave1"  parent="abstractServer">
     <property name="ipAddress">192.168.142.163</property>
     ##復(fù)制6行添加服務(wù)器slave2地址
     <dbServer name="slave2"  parent="abstractServer">
     <property name="ipAddress">192.168.142.145</property>
    #第65行授權(quán)同步
     <dbServer name="slaves" virtual="true">
     <poolConfig class="com.meidusa.amoeba.server.MultipleServerPool">

    #末行添加從服務(wù)器名稱
    <property name="poolNames">slave1,slave2</property>
     </poolConfig>
    [root@amoeba conf]# /usr/local/amoeba/bin/amoeba start&   ##開啟amoeba服務(wù)
    [root@amoeba ~]# netstat -anpt | grep java   ##開啟另一個(gè)終端查看開啟情況
    tcp6       0      0 127.0.0.1:26268         :::*                    LISTEN      40925/java          
    tcp6       0      0 :::8066                 :::*                    LISTEN      40925/java          
    tcp6       0      0 192.168.142.160:34090    192.168.142.151:3306     ESTABLISHED 40925/java          
    tcp6       0      0 192.168.142.160:33866    192.168.142.145:3306     ESTABLISHED 40925/java          
    tcp6       0      0 192.168.142.160:55984    192.168.142.163:3306     ESTABLISHED 40925/java

看完上述內(nèi)容,你們對(duì)MYSQL中怎么實(shí)現(xiàn)主從復(fù)制和讀寫分離有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI