• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
    問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
    當(dāng)前位置: 首頁 - 科技 - 知識(shí)百科 - 正文

    MySQL的Master/Slave集群安裝和配置_MySQL

    來源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-09 19:44:27
    文檔

    MySQL的Master/Slave集群安裝和配置_MySQL

    MySQL的Master/Slave集群安裝和配置_MySQL:本文講述MySQL的Master/Slave集群安裝和配置,安裝的版本是最新的穩(wěn)定版本GA 5.6.19。 為了支持有限的HA,我們使用Master/Slave簡(jiǎn)單的讀寫分離集群。有限的HA是指當(dāng)Master不可用時(shí),數(shù)據(jù)不會(huì)丟失,但在Master宕機(jī)的情況下是不可寫的,必須手工處理故障。
    推薦度:
    導(dǎo)讀MySQL的Master/Slave集群安裝和配置_MySQL:本文講述MySQL的Master/Slave集群安裝和配置,安裝的版本是最新的穩(wěn)定版本GA 5.6.19。 為了支持有限的HA,我們使用Master/Slave簡(jiǎn)單的讀寫分離集群。有限的HA是指當(dāng)Master不可用時(shí),數(shù)據(jù)不會(huì)丟失,但在Master宕機(jī)的情況下是不可寫的,必須手工處理故障。
    本文講述MySQL的Master/Slave集群安裝和配置,安裝的版本是最新的穩(wěn)定版本GA 5.6.19。

    為了支持有限的HA,我們使用Master/Slave簡(jiǎn)單的讀寫分離集群。有限的HA是指當(dāng)Master不可用時(shí),數(shù)據(jù)不會(huì)丟失,但在Master宕機(jī)的情況下是不可寫的,必須手工處理故障。如果要支持更高的可用性,可以使用兩臺(tái)Master來做熱切換。

    Master和Slave的MySQL安裝是相同的,只是my.cnf的配置不同,需要配置二進(jìn)制日志文件復(fù)制。

    沒有特殊說明,命名中帶#的為root用戶操作,帶$的為mysql Linux用戶的操作。

    安裝準(zhǔn)備

    1. 在安裝MySQL前,需要確認(rèn)下面的系統(tǒng)軟件已經(jīng)安裝在Linux中。

    軟件名稱

    軟件描述

    gcc-4.4.7

    編程語言編譯器

    gcc-c++-4.4.7

    C++語言編譯器

    cmake-2.6.4-5

    跨平臺(tái)的開源構(gòu)建系統(tǒng)

    ncurses-devel-5.7-3.20090208

    控制打印控制臺(tái)屏幕

    2. 創(chuàng)建mysql Linux用戶

    # groupadd mysql

    # useradd -g mysql mysql

    # passwd mysql

    3. 準(zhǔn)備安裝目錄

    創(chuàng)建MySQL安裝目錄,并賦權(quán)限給mysql用戶:

    # mkdir /usr/local/mysql-5.6.19

    # chown mysql:mysql /usr/local/mysql-5.6.19

    # chmod -R 770 /usr/local/mysql-5.6.19

    4. 創(chuàng)建MySQL數(shù)據(jù)存儲(chǔ)目錄:

    # mkdir /data

    # mkdir /data/mysql

    # chown mysql:mysql /data/mysql

    5. 授權(quán)MySQL解壓源碼目錄/usr/local/src目錄的可執(zhí)行權(quán)限給所有用戶:

    # chmod -R 757 /usr/local/src

    安裝MySQL

    1. 解壓縮安裝包:

    $ cd /usr/local/src

    $ tar -xzvf mysql-5.6.19.tar.gz

    2. 配置MySQL編譯參數(shù)

    $ cd /usr/local/src/mysql-5.6.19

    $ cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.6.19\

    -DMYSQL_DATADIR=$MYSQL_DATA_PATH\

    -DSYSCONFDIR=/usr/local/mysql-5.6.19/conf\

    -DDEFAULT_CHARSET=utf8\

    -DDEFAULT_COLLATION=utf8_general_ci\

    -DWITH_READLINE=1\

    -DWITH_INNOBASE_STORAGE_ENGINE=1\

    -DWITH_ARCHIVE_STORAGE_ENGINE=1 \

    -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \

    -DWITH_PERFSCHEMA_STORAGE_ENGINE=1

    備注:

    -DCMAKE_INSTALL_PREFIX: 配置MySQL的安裝目錄。

    -DMYSQL_DATADIR: 配置MySQL的數(shù)據(jù)目錄。

    -DSYSCONFDIR: 配置MySQL的配置文件目錄。

    -DDEFAULT_CHARSET: 默認(rèn)字符集。

    -DDEFAULT_COLLATION:設(shè)定默認(rèn)語言的排序規(guī)則。

    -DWITH_READLINE:支持批量導(dǎo)入mysql數(shù)據(jù)。

    -DWITH_INNOBASE_STORAGE_ENGINE:使用INNOBASE存儲(chǔ)引擎。

    -DWITH_ARCHIVE_STORAGE_ENGINE:常應(yīng)用于日志記錄和聚合分析,不支持索引。

    -DWITH_BLACKHOLE_STORAGE_ENGINE:黑洞存儲(chǔ)引擎。

    -DWITH_PERFSCHEMA_STORAGE_ENGINE:性能模式引擎。

    3. 執(zhí)行make

    $ make

    $ make install

    4. 修改myql用戶的環(huán)境變量,增加MYSQL_HOME,并把bin加到PATH:

    $ vi ~/.bash_profile

    在文件中增加藍(lán)色字體部分:

    # User specific environment and startup programs

    # MySQL home目錄

    export MYSQL_HOME=/usr/local/mysql-5.6.19

    PATH=$PATH:$HOME/bin:$MYSQL_HOME/bin

    export PATH

    $ source ~/.bash_profile

    初始化MySQL

    1. 安裝service腳本

    # cp /usr/local/mysql-5.6.19/support-files/mysql.server/etc/init.d/mysqld

    # chown mysql:mysql/etc/init.d/mysqld

    # chmod 700 /etc/init.d/mysqld

    2. 創(chuàng)建mysql權(quán)限數(shù)據(jù)庫

    $ $MYSQL_HOME/scripts/mysql_install_db--basedir=$MYSQL_HOME --datadir=/data/mysql

    3. 創(chuàng)建PID文件目錄

    $ mkdir $MYSQL_HOME/var

    4. 為master配置my.cnf

    my.cnf格式不正確,很容易在啟動(dòng)時(shí)錯(cuò)誤,最好在原有文件的基礎(chǔ)上通過vi工具在linux上修改。

    如果文件已經(jīng)損壞,可以通過默認(rèn)的模板中拷貝:

    $ cp $MYSQL_HOME/support-files/my-default.cnf$MYSQL_HOME/my.cnf

    編輯my.cnf

    $ vi $MYSQL_HOME/my.cnf

    在文件中增加藍(lán)色字體部分:

    # For advice on how to change settings please see

    # http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html

    [mysqld]

    # Remove leading # and set to the amount of RAM for the most important data

    # cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.

    innodb_buffer_pool_size = 256M

    innodb_flush_log_at_trx_commit=1

    # Remove leading # to turn on a very important data integrity option: logging

    # changes to the binary log between backups.

    log_bin=master-bin

    log_bin_index=master-bin.index

    # These are commonly set, remove the # and set as required.

    # basedir = .....

    datadir = /data/mysql

    port = 3306

    # first master server id

    server_id = 1

    socket = /tmp/mysql.sock

    pid-file = /usr/local/mysql-5.6.19/var/master.pid

    # Remove leading # to set options mainly useful for reporting servers.

    # The server defaults are faster for transactions and fast SELECTs.

    # Adjust sizes as needed, experiment to find the optimal values.

    # join_buffer_size = 128M

    # sort_buffer_size = 2M

    # read_rnd_buffer_size = 2M

    sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES


    5. 為slave配置my.cnf

    和master的配置文件一樣進(jìn)行修改,但注意文件中的log文件名、datadir和server_id等內(nèi)容不同。

    編輯my.cnf

    $ vi $MYSQL_HOME/my.cnf

    在文件中增加藍(lán)色字體部分:

    # For advice on how to change settings please see

    # http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html

    [mysqld]

    # Remove leading # and set to the amount of RAM for the most important data

    # cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.

    innodb_buffer_pool_size = 256M

    innodb_flush_log_at_trx_commit=1

    # Replication

    # relay-log=slave-relay-bin

    # relay-log-index=slave-relay-bin.index

    # These are commonly set, remove the # and set as required.

    # basedir = .....

    datadir = /data/mysql

    port = 3306

    # first slave server id of master 1

    server_id = 101

    socket = /tmp/mysql.sock

    pid-file = /usr/local/mysql-5.6.19/var/slave.pid

    # Remove leading # to set options mainly useful for reporting servers.

    # The server defaults are faster for transactions and fast SELECTs.

    # Adjust sizes as needed, experiment to find the optimal values.

    # join_buffer_size = 128M

    # sort_buffer_size = 2M

    # read_rnd_buffer_size = 2M

    sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES


    6. 啟動(dòng)MySQL

    啟動(dòng)和停止master和slave都完全一樣。

    $ service mysqldstart

    通過下面命令查看是否啟動(dòng)成功:

    $ service mysqldstatus

    7. 停止MySQL

    $ service mysqld stop

    管理MySQL安全性

    默認(rèn)MySQL的root的用戶密碼為空,為了提高安全性,應(yīng)該設(shè)置root用戶一個(gè)安全的密碼。

    在服務(wù)器上通過mysql用戶打開MySQL客戶端:

    $ mysql –u root

    設(shè)置一個(gè)安全的密碼:

    mysql> SET PASSWORD FORroot@localhost=PASSWORD('secret');

    配置Master和Slave之間的復(fù)制

    1. 創(chuàng)建執(zhí)行復(fù)制的MySQL用戶

    在Master上創(chuàng)建一個(gè)復(fù)制用戶,其中secret為用戶的密碼:

    mysql> CREATEUSER repl_user IDENTIFIED BY 'secret';

    并賦給復(fù)制權(quán)限:

    mysql>GRANTREPLICATION SLAVE ON *.* TO repl_user;

    2. 鎖定Master并獲取二進(jìn)制日志位置值

    獲取讀鎖:

    mysql> FLUSH TABLES WITHREAD LOCK;

    顯示當(dāng)前二進(jìn)制文件名及位置值:

    mysql> SHOW MASTER STATUS;

    \

    3. 通過mysqldump工具獲取Master數(shù)據(jù)快照

    在另外一個(gè)會(huì)話中在Master上執(zhí)行:

    $ mysqldump -u root-p --all-databases --master-data > data_dump.sql

    執(zhí)行后,保存在當(dāng)前目錄中。

    4. 釋放Master上的讀鎖

    在獲取讀鎖的會(huì)話中,執(zhí)行釋放鎖命令:

    mysql> UNLOCK TABLES;

    5. 導(dǎo)入dump數(shù)據(jù)到Slave中

    通過scp拷貝data_dump.sql到Slave的機(jī)器上。

    $ scp data_dump.sqlmysql@:/home/mysql

    在Slave上通過下面的命令導(dǎo)入到Slave的MySQL中。

    $ mysql –u root -p

    mysql> source data_dump.sql;

    6. 配置Master和Slave之間的復(fù)制

    mysql> CHANGE MASTER TO MASTER_HOST='',

    MASTER_USER='repl_user',

    MASTER_PASSWORD='secret',

    MASTER_PORT = 3306,

    MASTER_LOG_FILE='master-bin.000003',

    MASTER_LOG_POS=881;

    上面的MASTER_LOG_FILE和MASTER_LOG_POS需要配置6.2中查詢到的信息。是Master的IP或主機(jī)名。

    啟動(dòng)Slave:

    mysql> START SLAVE;

    7. 驗(yàn)證Master和Slave的狀態(tài)

    在Master上執(zhí)行:

    mysql> SHOW MASTER STATUS;

    \

    在Slave上執(zhí)行:

    mysql> SHOW SLAVE STATUS;

    \

    上面信息顯示沒有任何錯(cuò)誤,Slave_IO_State信息為‘Waitigfor master to send event’,說明復(fù)制連接配置OK。

    至此,兩個(gè)MySQL的Master/Slave模式的集群已經(jīng)部署成功,可以在Master上執(zhí)行數(shù)據(jù)更新操作,發(fā)現(xiàn)可以正常復(fù)制到Slave上。

    聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    MySQL的Master/Slave集群安裝和配置_MySQL

    MySQL的Master/Slave集群安裝和配置_MySQL:本文講述MySQL的Master/Slave集群安裝和配置,安裝的版本是最新的穩(wěn)定版本GA 5.6.19。 為了支持有限的HA,我們使用Master/Slave簡(jiǎn)單的讀寫分離集群。有限的HA是指當(dāng)Master不可用時(shí),數(shù)據(jù)不會(huì)丟失,但在Master宕機(jī)的情況下是不可寫的,必須手工處理故障。
    推薦度:
    標(biāo)簽: my mysql master
    • 熱門焦點(diǎn)

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 欧美久久亚洲精品| 国产精品无码A∨精品影院| 精品福利一区二区三区免费视频 | 国产精品免费久久| 国产精品爽爽va在线观看网站| 日韩精品无码一本二本三本| 毛片a精品**国产| 国产精品白丝AV嫩草影院| 久久精品国产亚洲沈樵| 国产成人精品免费午夜app| 欧美成人精品高清在线观看| 亚洲国产精品成人久久蜜臀| 欧美精品福利视频一区二区三区久久久精品| 91精品视频在线| 久久国产精品国产自线拍免费| 国产精品成人观看视频国产奇米| 在线成人精品国产区免费| 午夜精品久久影院蜜桃| 久久九九久精品国产| 精品国产国产综合精品| 国产精品欧美一区二区三区 | 国产伦精品一区二区三区视频猫咪 | 日韩精品无码中文字幕一区二区| 亚洲精品无码专区2| 亚洲精品国精品久久99热| 热综合一本伊人久久精品| 欧美精品福利在线视频| 久久久久久久亚洲精品| 欧美精品一区二区在线精品 | 99热日韩这里只有精品| 国产AV国片精品一区二区| 69堂午夜精品视频在线| 99久久人人爽亚洲精品美女| 91精品国产福利在线观看| 91麻豆精品国产91久久久久久| 免费精品一区二区三区第35| 久久亚洲精品中文字幕三区| 成人国产精品动漫欧美一区| 国产欧美精品一区二区三区四区| 国产综合免费精品久久久| 久久久久这里只有精品|