日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

基于RHEL6.0的mysql服务器复制的主主架构实现

發布時間:2025/3/15 数据库 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于RHEL6.0的mysql服务器复制的主主架构实现 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?基于RHEL6.0mysql服務器復制的主主架構實現

說明:本文選用172.16.22.1172.16.22.3作為主服務器

兩個主服務器的軟件版本應相同

兩個主服務器server-id 應不同

兩個主服務器互為主從,所以在這里一個主服務器即是另一個主服務器的從服務器

一、準備條件:安裝mysql(本文選用類似于一種綠色軟件的方式安裝mysql,特點:方便、快捷)

1.172.16.22.1主機上安裝mysql-5.5.22

(1) .新建用戶以安全方式運行進程:

  • #?groupadd?-r?mysql?
  • #?useradd?-g?mysql?-r?-s?/sbin/nologin?-M?mysql
  • (2).安裝并初始化mysql-5.5.22

  • #?tar?xvf?mysql-5.5.22-linux2.6-i686.tar.gz??-C?/usr/local?
  • #?cd?/usr/local/?
  • #?ln?-sv?mysql-5.5.22-linux2.6-i686??mysql?
  • #?cd?mysql?
  • #?chown?-R?mysql:mysql??.?
  • #?scripts/mysql_install_db?--user=mysql?--datadir=/usr/local/mysql/data?
  • #?chown?-R?root??.?
  • (3).mysql提供主配置文件:

  • #?cd?/usr/local/mysql?
  • #?cp?support-files/my-large.cnf??/etc/my.cnf?

  • 并修改此文件中thread_concurrency的值為你的CPU個數乘以2(由于只有一顆CPU,所以這里thread_concurrency = 2),另外還需要添加如下行指定mysql數據文件的存放位置:

    thread_concurrency = 2

    datadir = /usr/local/mysql/data

    (4).mysql提供sysv服務腳本,并添加mysqld至服務列表,而后啟動服務測試。

  • #?cd?/usr/local/mysql?
  • #?cp?support-files/mysql.server??/etc/rc.d/init.d/mysqld?
  • #?chkconfig?--add?mysqld?
  • #?chkconfig?mysqld?on?
  • #?service?mysqld?start?
  • 為了使用mysql的安裝符合系統使用規范,并將其開發組件導出給系統使用,這里還需要進行如下步驟:

    (5).輸出mysqlman手冊至man命令的查找路徑:

    編輯/etc/man.config,添加如下行即可:

    MANPATH? /usr/local/mysql/man

    (6).輸出mysql的頭文件至系統頭文件路徑/usr/include

    這可以通過簡單的創建鏈接實現:

    # ln -sv /usr/local/mysql/include? /usr/include/mysql


    (7)輸出mysql的庫文件給系統庫查找路徑, 而后讓系統重新載入系統庫:

  • #?echo?'/usr/local/mysql/lib'?>?/etc/ld.so.conf.d/mysql.conf?
  • #?ldconfig?-v?
  • (8).修改PATH環境變量(直接在/etc/profile文件里添加“PATH=$PATH:/usr/local/mysql/bin”即可),讓系統可以直接使用mysql的相關命令:

  • #?vim?/etc/profile?
  • PATH=$PATH:/usr/local/mysql/bin?
  • #?source?/etc/profile?
  • 2.172.16.22.3主機上安裝mysql-5.5.22

    (1) .新建用戶以安全方式運行進程:

  • #?groupadd?-r?mysql?
  • #?useradd?-g?mysql?-r?-s?/sbin/nologin?-M?mysql?
  • (2).安裝并初始化mysql-5.5.22

  • #?tar?xvf?mysql-5.5.22-linux2.6-i686.tar.gz??-C?/usr/local?
  • #?cd?/usr/local/?
  • #?ln?-sv?mysql-5.5.22-linux2.6-i686??mysql?
  • #?cd?mysql?
  • #?chown?-R?mysql:mysql??.?
  • #?scripts/mysql_install_db?--user=mysql?--datadir=/usr/local/mysql/data?
  • # chown -R root .
  • (3).mysql提供主配置文件:

  • #?cd?/usr/local/mysql?
  • #?cp?support-files/my-large.cnf??/etc/my.cnf?
  • 并修改此文件中thread_concurrency的值為你的CPU個數乘以2(由于只有一顆CPU,所以這里thread_concurrency = 2),另外還需要添加如下行指定mysql數據文件的存放位置:

    thread_concurrency = 2

    datadir = /usr/local/mysql/data

    (4).mysql提供sysv服務腳本,并添加mysqld至服務列表,而后啟動服務測試。

  • #?cd?/usr/local/mysql?
  • #?cp?support-files/mysql.server??/etc/rc.d/init.d/mysqld?
  • #?chkconfig?--add?mysqld?
  • #?chkconfig?mysqld?on?
  • #?service?mysqld?start?
  • 為了使用mysql的安裝符合系統使用規范,并將其開發組件導出給系統使用,這里還需要進行如下步驟:

    (5).輸出mysqlman手冊至man命令的查找路徑:

    編輯/etc/man.config,添加如下行即可:

    MANPATH? /usr/local/mysql/man

    (6).輸出mysql的頭文件至系統頭文件路徑/usr/include

    這可以通過簡單的創建鏈接實現:

    # ln -sv /usr/local/mysql/include? /usr/include/mysql


    (7)輸出mysql的庫文件給系統庫查找路徑,?而后讓系統重新載入系統庫:

  • #?echo?'/usr/local/mysql/lib'?>?/etc/ld.so.conf.d/mysql.conf?
  • #?ldconfig?-v?
  • (8).修改PATH環境變量(直接在/etc/profile文件里添加“PATH=$PATH:/usr/local/mysql/bin”即可),讓系統可以直接使用mysql的相關命令:

  • #?vim?/etc/profile?
  • PATH=$PATH:/usr/local/mysql/bin?
  • #?source?/etc/profile?
  • ?

    二、配置主服務器

    1.配置主服務器(172.16.22.1)

    (1).編輯/etc/my.cnf配置文件開啟中繼日志與二進制日志:

    log-bin=mysql-bin?? (默認情況下都已經開啟,此時不需要做修改)

    在“log-bin=mysql-bin”下面增加四項:

    relay-log = relay-bin

    relay-log-index = relay-bin.index

    auto_increment_offset = 1
    auto_increment_increment = 2

    (2).建立復制權限用戶:

  • #?mysql?
  • mysql>?GRANT?REPLICATION?CLIENT,REPLICATION?SLAVE?ON?*.*?TO?lh@’172.16.22.%’?IDENTIFIED?BY?‘123456’;?
  • mysql>?SHOW?GRANTS?FOR?lh@’172.16.22.%’;
  • ?

    2.配置主服務器(172.16.22.3):

    (1).編輯/etc/my.cnf配置文件,更改server-id使它和主服務器(172.16.22.1)server-id不一樣,開啟二進制日志和中繼日志:

    # vim /etc/my.cnf

    找到server-id,并改為

    server-id = 11

    log-bin=mysql-bin?? (默認情況下都已經開啟,此時不需要做修改)

    在“log-bin=mysql-bin”下面增加四項:

    relay-log = relay-bin

    relay-log-index = relay-bin.index

    auto_increment_offset =?2
    auto_increment_increment = 2

    (2).建立復制權限用戶:

  • #?mysql?
  • mysql>?GRANT?REPLICATION?CLIENT,REPLICATION?SLAVE?ON?*.*?TO?lihu@’172.16.22.%’?IDENTIFIED?BY?‘123456’;?
  • mysql>?SHOW?GRANTS?FOR?lihu@’172.16.22.%’;?
  • ?
  • ??

  • (3).在從服務器(172.16.22.1)上指定它的主服務器:

  • #?mysql?
  • mysql>?CHANGE?MASTER?TO?
  • ?????->?MASTER_HOST=’172.16.22.3’,?
  • ?????->?MASTER_USER=’lihu’,?
  • ?????->?MASTER_PASSWORD=’123456’;?
  • mysql>?START?SLAVE;?
  • mysql>?SHOW?SLAVE?STATUS\G?
  • 如果看到方框內的兩項都為‘yes’的話,說明你的從服務器已經正常啟動了。

    (4).在從服務器(172.16.22.3)上指定它的主服務器:

  • #?mysql?
  • mysql>?CHANGE?MASTER?TO?
  • ?????->?MASTER_HOST=’172.16.22.1’,?
  • ?????->?MASTER_USER=’lh’,?
  • ?????->?MASTER_PASSWORD=’123456’;?
  • mysql>?START?SLAVE;?
  • mysql>?SHOW?SLAVE?STATUS\G?
  • 如果看到方框內的兩項都為‘yes’的話,說明你的從服務器已經正常啟動了。

    三、對主服務器進行測試

    172.16.22.1上執行如下操作:

  • #?mysql?
  • mysql>?show?databases;?
  • 172.16.22.3執行如下操作:

  • #?mysql?
  • mysql>?show?databases;?
  • 此時可以看到兩個主服務器的數據庫都是四個。

    現在我們在主服務器(172.16.22.1)上創建一個數據庫testdb和表test,看從服務器(172.16.22.3)上是否也有呢?

    172.16.22.1上執行如下操作:

  • #?mysql?
  • mysql>?create?database?testdb;?
  • mysql>?use?testdb;?
  • mysql>?create?table?test?(?
  • ?????->?Name?varchar(30)?not?null,?
  • ?????->?Age?char(3)?not?null?);?
  • 172.16.22.3上查看是否有testdb數據庫以及test1表:

  • #?mysql?
  • mysql>?SHOW?DATABASES;?
  • #?mysql?
  • mysql>?show?tables;?
  • mysq>?desc?test;?
  • 此時發現在172.16.22.3上有testdb數據庫和test表,說明成功了一半。

    ?

    現在我們在主服務器(172.16.22.3)上創建一個數據庫lh,看從服務器(172.16.22.1)上是否也有呢?

  • #?mysql?
  • mysql>?create?database?lh;?
  • 172.16.22.1上查看是否有數據庫lh

  • #?mysql?
  • mysql>?show?databases;?
  • 此時我們發現在172.16.22.1上有數據庫lh,說明我們mysql服務器的主主架構完全實現了。

    轉載于:https://blog.51cto.com/lihuan/830959

    總結

    以上是生活随笔為你收集整理的基于RHEL6.0的mysql服务器复制的主主架构实现的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。