MySQL編譯安裝多執行個體

來源:互聯網
上載者:User

標籤:MySQL編譯安裝

Centos7上編譯安裝Mariadb並且實現多執行個體

準備工作的第7和第8條請閱讀,建議編譯前安裝這兩個包
準備工作:

1 iptables關閉;selinux關閉

            systemctl stop firewalld  #關閉防火牆            setenforce 0                   #關閉selinux

2 建立管理資料庫的mysql使用者

            useradd -r mysql -s /sbin/nologin

3 安裝開發包組"development tools"

            yum groupinstall "development tools"

4 如果沒有安裝cmake就要安裝cmake

            yum -y install cmake

5 在官方網站下載mariadb-10.2.12.tar.gz的包,此處用此版本進行編譯

        http://downloads.mariadb.org

6 rz上傳包

rz

7 注意:我編譯安裝的過程中遇到了一個問題,

        提示為"remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu, package name is libncurses5-dev, on Redhat and derivates it is ncurses-devel."        意思就是缺少ncurses-devel這個包安裝後再執行以下編譯,但是還要重新解壓才可以,所以此處可以在編譯安裝前提前安裝此包

8 安裝完上一個還是會報錯,此處遇到的是

        "CMake Error at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:108 (message):Could NOT find GnuTLS "      安裝gnutls-devel包解決

9 上述兩個問題解決後還需安裝libevent-devel包,不然還是編譯失敗,很坑爹= =
10 還需安裝"libaio-deve"此包以及"openssl-devel"還有"libxml2-devel"包

1 解壓上傳的mariadb-10.2.12.tar.gz包到目前的目錄下

    tar xvf mariadb-10.2.12.tar.gz

2 由於編譯安裝中指定的資料庫目錄不存在,所以此處需要手動建立,並修改屬主與屬組

    mkdir /mysqldb    chown mysql.mysql /mysqldb

3 進入到解壓後的mariadb-10.2.12目錄下開始進行編譯

    cd mariadb-10.2.12##########當中prefix指的是程式的安裝目錄          datadir是存放資料庫的目錄          sysconfdir下存放的是設定檔          user是指定使用者          ssl開啟ssl加密          zlib開啟壓縮模式          charset語言設定為UTF-8    cmake .     -DCMAKE_INSTALL_PREFIX=/app/mysql     -DMYSQL_DATADIR=/mysqldb/     -DSYSCONFDIR=/etc     -DMYSQL_USER=mysql     -DWITH_INNOBASE_STORAGE_ENGINE=1     -DWITH_ARCHIVE_STORAGE_ENGINE=1     -DWITH_BLACKHOLE_STORAGE_ENGINE=1     -DWITH_READLINE=1     -DWITH_SSL=system     -DWITH_ZLIB=system     -DWITH_LIBWRAP=0     -DMYSQL_UNIX_ADDR=/app/mysql/mysql.sock     -DDEFAULT_CHARSET=utf8     -DDEFAULT_COLLATION=utf8_general_ci     -DENABLED_LOCAL_INFILE=1     -DWITH_PARTITION_STORAGE_ENGINE=1     -DWITH_DEBUG=0     -DWITHOUT_MROONGA_STORAGE_ENGINE=1h

4 編譯完成後執行

    make && make install

5 編譯完成後將/app/mysqldb/bin加入到環境變數

        echo ‘PATH=/app/mysqldb/bin:$PATH‘ > /etc/profile.d/mysql.sh

6 給/app/mysql修改屬主

        chgrp mysql /app/mysql

7 建立多執行個體資料庫的存放目錄並修改屬主與屬組

        mkdir -pv /mysqldb/{3306,3307,3308}/{etc,log,data,pid,socket}

8 分別給各個執行個體建立資料庫

       /app/mysql/scripts/mysql_install_db --basedir=/app/mysql --datadir=/mysqldb/3306/data    /app/mysql/scripts/mysql_install_db --basedir=/app/mysql --datadir=/mysqldb/3307/data    /app/mysql/scripts/mysql_install_db --basedir=/app/mysql --datadir=/mysqldb/3308/data

9 給3306建立設定檔,由於是編譯安裝,所以內容在編譯的時候都指定了就無需修改

        cp /app/mysql/support-files/my-huge.cnf /mysqldb/3306/etc/my.cnf

10 給其餘執行個體建立設定檔並編輯

        cp /etc/my.cnf /mysqldb/3307/etc/my.cnf        vim /mysqldb/3307/etc/my.cnf    當中[mysqld]這個模組下面的連接埠以及路徑需要手動更改為3307,並且添加兩行        port = 3307        socket = /mysqldb/3307/socket/mysql.sock        datadir = /mysqldb/3307/data    在最後一行添加以下兩行;        [mysql_safr]        log-error=/mysqldb/3307/log/mariadb.log        pid-file=/mysqldb/3307/pid/mariadb.pid    cp /etc/my.cnf /mysqldb/3308/etc/my.cnf        當中[mysqld]這個模組下面的連接埠以及路徑需要手動更改為3308,並且添加兩行        port = 3308        socket = /mysqldb/3308/socket/mysql.sock        datadir = /mysqldb/3308/data    在最後一行添加以下兩行;        [mysql_safr]        log-error=/mysqldb/3308/log/mariadb.log        pid-file=/mysqldb/3308/pid/mariadb.pid

11 上傳二進位多執行個體安裝時候的那個啟動指令碼並進行修改;

            chown mysql.mysql mysqld        chmod 700 mysqld        vim mysqld        將連接埠號碼修改為3307即可,根據實際情況更改變數值就OK

12 在/mysqldb/3308/下同理,上傳指令檔修改連接埠

            cd /mysqldb/3308/        chown mysql.mysql mysqld        chmod 700 mysqld        vim mysqld        將連接埠號碼修改為3308即可;

破解mysql口令,此處修改的是用yum安裝的mariadb,所以設定檔是/etc/my.cnf,如果是多執行個體的那個就要分別去到各個目錄下修改設定檔

    vim /etc/my.cnf    skip_grant_tables          #添加此行,跳過密碼檢查

MySQL編譯安裝多執行個體

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.