<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題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關鍵字專題關鍵字專題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
        當前位置: 首頁 - 科技 - 知識百科 - 正文

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

        來源:懂視網 責編:小采 時間:2020-11-09 19:44:27
        文檔

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

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

        為了支持有限的HA,我們使用Master/Slave簡單的讀寫分離集群。有限的HA是指當Master不可用時,數據不會丟失,但在Master宕機的情況下是不可寫的,必須手工處理故障。如果要支持更高的可用性,可以使用兩臺Master來做熱切換。

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

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

        安裝準備

        1. 在安裝MySQL前,需要確認下面的系統軟件已經安裝在Linux中。

        軟件名稱

        軟件描述

        gcc-4.4.7

        編程語言編譯器

        gcc-c++-4.4.7

        C++語言編譯器

        cmake-2.6.4-5

        跨平臺的開源構建系統

        ncurses-devel-5.7-3.20090208

        控制打印控制臺屏幕

        2. 創建mysql Linux用戶

        # groupadd mysql

        # useradd -g mysql mysql

        # passwd mysql

        3. 準備安裝目錄

        創建MySQL安裝目錄,并賦權限給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. 創建MySQL數據存儲目錄:

        # mkdir /data

        # mkdir /data/mysql

        # chown mysql:mysql /data/mysql

        5. 授權MySQL解壓源碼目錄/usr/local/src目錄的可執行權限給所有用戶:

        # chmod -R 757 /usr/local/src

        安裝MySQL

        1. 解壓縮安裝包:

        $ cd /usr/local/src

        $ tar -xzvf mysql-5.6.19.tar.gz

        2. 配置MySQL編譯參數

        $ 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的數據目錄。

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

        -DDEFAULT_CHARSET: 默認字符集。

        -DDEFAULT_COLLATION:設定默認語言的排序規則。

        -DWITH_READLINE:支持批量導入mysql數據。

        -DWITH_INNOBASE_STORAGE_ENGINE:使用INNOBASE存儲引擎。

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

        -DWITH_BLACKHOLE_STORAGE_ENGINE:黑洞存儲引擎。

        -DWITH_PERFSCHEMA_STORAGE_ENGINE:性能模式引擎。

        3. 執行make

        $ make

        $ make install

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

        $ vi ~/.bash_profile

        在文件中增加藍色字體部分:

        # 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. 創建mysql權限數據庫

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

        3. 創建PID文件目錄

        $ mkdir $MYSQL_HOME/var

        4. 為master配置my.cnf

        my.cnf格式不正確,很容易在啟動時錯誤,最好在原有文件的基礎上通過vi工具在linux上修改。

        如果文件已經損壞,可以通過默認的模板中拷貝:

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

        編輯my.cnf

        $ vi $MYSQL_HOME/my.cnf

        在文件中增加藍色字體部分:

        # 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的配置文件一樣進行修改,但注意文件中的log文件名、datadir和server_id等內容不同。

        編輯my.cnf

        $ vi $MYSQL_HOME/my.cnf

        在文件中增加藍色字體部分:

        # 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. 啟動MySQL

        啟動和停止master和slave都完全一樣。

        $ service mysqldstart

        通過下面命令查看是否啟動成功:

        $ service mysqldstatus

        7. 停止MySQL

        $ service mysqld stop

        管理MySQL安全性

        默認MySQL的root的用戶密碼為空,為了提高安全性,應該設置root用戶一個安全的密碼。

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

        $ mysql –u root

        設置一個安全的密碼:

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

        配置Master和Slave之間的復制

        1. 創建執行復制的MySQL用戶

        在Master上創建一個復制用戶,其中secret為用戶的密碼:

        mysql> CREATEUSER repl_user IDENTIFIED BY 'secret';

        并賦給復制權限:

        mysql>GRANTREPLICATION SLAVE ON *.* TO repl_user;

        2. 鎖定Master并獲取二進制日志位置值

        獲取讀鎖:

        mysql> FLUSH TABLES WITHREAD LOCK;

        顯示當前二進制文件名及位置值:

        mysql> SHOW MASTER STATUS;

        \

        3. 通過mysqldump工具獲取Master數據快照

        在另外一個會話中在Master上執行:

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

        執行后,保存在當前目錄中。

        4. 釋放Master上的讀鎖

        在獲取讀鎖的會話中,執行釋放鎖命令:

        mysql> UNLOCK TABLES;

        5. 導入dump數據到Slave中

        通過scp拷貝data_dump.sql到Slave的機器上。

        $ scp data_dump.sqlmysql@:/home/mysql

        在Slave上通過下面的命令導入到Slave的MySQL中。

        $ mysql –u root -p

        mysql> source data_dump.sql;

        6. 配置Master和Slave之間的復制

        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或主機名。

        啟動Slave:

        mysql> START SLAVE;

        7. 驗證Master和Slave的狀態

        在Master上執行:

        mysql> SHOW MASTER STATUS;

        \

        在Slave上執行:

        mysql> SHOW SLAVE STATUS;

        \

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

        至此,兩個MySQL的Master/Slave模式的集群已經部署成功,可以在Master上執行數據更新操作,發現可以正常復制到Slave上。

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

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

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

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 国产午夜亚洲精品午夜鲁丝片| 亚洲精品乱码久久久久久按摩 | 亚洲专区在线视频| 亚洲欧美日韩中文字幕一区二区三区 | 久久亚洲熟女cc98cm| 18禁亚洲深夜福利人口| 免费毛片a线观看| 日韩高清在线免费观看| 亚洲国产精久久久久久久| 亚洲av日韩aⅴ无码色老头| 鲁丝片一区二区三区免费 | 免费一级毛片在线播放放视频| 免费无码VA一区二区三区| 国产jizzjizz免费视频| 内射干少妇亚洲69XXX| 无忧传媒视频免费观看入口| 日本免费人成在线网站| 久久久久亚洲精品男人的天堂| 亚洲fuli在线观看| 波多野结衣免费一区视频| 四只虎免费永久观看| 亚洲人成7777影视在线观看| 国产黄片不卡免费| 日本高清免费网站| 亚洲无线一二三四区| 国产中文字幕在线免费观看| 永久久久免费浮力影院| 国产成人1024精品免费| 国内免费高清在线观看| 亚洲AV成人无码久久精品老人| 国产亚洲福利一区二区免费看 | 亚洲国产三级在线观看| 国产精品亚洲色图| 福利免费观看午夜体检区| 亚洲∧v久久久无码精品| 国产精品免费视频观看拍拍| 国产精品美女自在线观看免费| 亚洲国产成人va在线观看网址| 野花香高清在线观看视频播放免费 | 一本色道久久综合亚洲精品蜜桃冫| 精品久久久久亚洲|