快速筆記01-MySQL多執行個體的安裝與配置

來源:互聯網
上載者:User

標籤:

###一:準備環境:
安裝MySQL的依賴包並檢查是否安裝完成
```
yum?-y?install??ncurses-devel?libaio-devel?cmake
rpm?-qa??ncurses-devel?libaio-devel?cmake
```
(2)建立啟動MySQL的使用者
```
useradd?-s?/sbin/nologin?-M?mysql
```
(3)規範軟體包安裝路徑,並下載解壓mysql-5.5.32源碼包
```
mkdir?/home/oldboy/tools
cd?/home/oldboy/tools
wget?ftp://10.0.0.1/mysql-5.5.32.tar.gz
tar?xf?mysql-5.5.32.tar.gz?
cd?mysql-5.5.32
```
###二:編譯安裝MySQL源碼包
(1)使用cmake命令對MySQL的源碼包進行編譯安裝
```
cmake?-DCMAKE_INSTALL_PREFIX=/application/mysql-5.5.32?\
-DMYSQL_DATADIR=/application/mysql-5.5.32/data?\
-DMYSQL_UNIX_ADDR=/application/mysql-5.5.32/tmp/mysql.sock?\
-DDEFAULT_CHARSET=utf8?\
-DDEFAULT_COLLATION=utf8_general_ci?\
-DEXTRA_CHARSETS=gbk,gb2312,utf8,ascii?\
-DENABLED_LOOCAL_INFILE=ON?\
-DWITH_INNOBASE_STORAGE_ENGINE=1?\
-DWITH_FEDERATED_STORAGE_ENGINE=1?\
-DWITH_BLACKHOLE_STORAGE_ENGINE=1?\
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1?\
-DWITHOUT_PARRTITION_STORAGE_ENGINE=1?\
-DWITH_FAST_MUTEXES=1?\
-DWITH_ZLIB=bundled?\
-DENABLED_LOCAL_INFILE=1?\
-DWITH_READLINE=1?\
-DWITH_EMBEDDED_SERVER=1\
-DWITH_DEBUG=0
echo?$?
```
(2)產生Makefile檔案的步驟接下來進行安裝
```shell
make?&&?make?install
echo?$?
```
(3)到了此步我們的MySQL資料庫就安裝完成了

###三:配置MySQL資料庫
(1)為MySQL安裝目錄建立軟連結
```shell
ln?-s?/application/mysql-5.5.32?/application/mysql
ll?/application/
```
(2)建立MySQL的多執行個體目錄
```shell
mkdir?-p?/data/{3306,3307}/data
```
(3)下載MySQL多執行個體的/data
```shell
cd?/home/oldboy/tools/
wget?ftp://10.0.0.1/data.zip
unzip?data.zip
cp?-r?data?/
tree?/data/
```
(4)設定多執行個體MySQL啟動指令碼,允許執行
```shell
find?/data?-type?f?-name?"mysql"|xargs?chmod?+x
find?/data?-type?f?-name?"mysql"|xargs?ls?-l
```
(5)對MySQL資料庫的資料目錄進行授權管理
```shell
chown?-R?mysql.mysql?/data/
ll?/data/
```
(6)對MySQL資料庫進行初始化操作
```shell
cd?/application/mysql/scripts/
./mysql_install_db?--basedir=/application/mysql/?--datadir=/data/3306/data/?--user=mysql
./mysql_install_db?--basedir=/application/mysql/?--datadir=/data/3307/data/?--user=mysql
```

###四:MySQL多執行個體配置及啟動
(1)啟動第一個MySQL執行個體
```shell
/data/3306/mysql?start
```
(2)啟動第二個MySQL執行個體
```shell
/data/3307/mysql?start
```
(3)啟動完成進行檢查
```shell
netstat?-lntup|grep?330
```
(4)將MySQL命令複製到指定的sock目錄
```shell
cp?/application/mysql/bin/*?/usr/local/sbin/
```
(5)使用mysql命令登入資料庫,登入的時候需要指定sock
```shell
mysql?-uroot?-S?/data/3306/mysql.sock
mysql?-uroot?-S?/data/3307/mysql.sock
```
(6)設定MySQL多執行個體的資料庫開機自啟動
```shell
echo?"mysql?multi?instances"?>>/etc/rc.local
echo?"/data/3306/mysql?start"?>>/etc/rc.local
echo?"/data/3307/mysql?start"?>>/etc/rc.local
tail?-n?3?/etc/rc.local
```

常見錯誤問題排除:
(1)是否對主機名稱做解析
(2)tmp目錄的許可權是否為1777
(3)如果啟動MySQL多執行個體沒有查到連接埠就稍等一會
(4)通過日誌.err結尾的日誌進行排錯

###五:MySQL添加多執行個體的方法
(1)建立一個多執行個體的存放目錄
```shell
mkdir?/data/3308/data?-p
```
(2)複製一份執行個體到指定的目錄
```shell
\cp?/data/3306/{my.cnf,mysql}?/data/3308/
ll?/data/3308
```
(3)修改設定檔之前一定要備份
```shell
\cp?/data/3308/{my.cnf,my.cnf.source.bak}
\cp?/data/3308/{mysql,mysql.source.bak}
ll?/data/3308/
```
(4)使用sed命令批量更改MySQL的設定檔與啟動指令碼
```shell
sed?-i?‘s/3306/3308/g‘?/data/3308/{my.cnf,mysql}
sed?-i?‘s/server-id?=?1/server-id?=?8/g‘?/data/3308/my.cnf
```
(5)設定3308資料庫執行個體所有者為mysql使用者
```shell
chown?-R?mysql.mysql?/data/3308/
ll?/data/3308/
```
(6)設定第三個資料庫執行個體啟動指令碼的許可權為700
```shell
chmod?700?/data/3308/mysql
ll?/data/3308/mysql
```
(7)對第三個資料庫執行個體進行初始化資料庫操作
```shell
cd?/application/mysql/scripts/
./mysql_install_db?--basedir=/application/mysql/?--datadir=/data/3308/data/?--user=mysql
```
(8)授權mysql啟動指令碼具有執行許可權
```shell
chmod?+x?/data/3308/mysql
```
(9)啟動第三個執行個體的資料庫
```shell
/data/3308/mysql?start
```
(10)啟動完成進行檢查
```shell
netstat?-lntup|grep?330
```
(11)測試是否可以進入資料庫
```shell
mysql?-S?/data/3308/mysql.sock
```
(12)將資料庫設定開機自啟動
```shell
echo?"/data/3308/mysql?start"?>>/etc/rc.local
tail?-1?/etc/rc.local
```

###六:因為指令碼裡面設定的密碼是oldboy?所以如果我們不設定將無法停止MySQL
```shell
mysqladmin?password?oldboy?-S?/data/3306/mysql.sock
mysqladmin?password?oldboy?-S?/data/3307/mysql.sock
mysqladmin?password?oldboy?-S?/data/3308/mysql.sock
mysql?-uroot?-poldboy123?-S?/data/3306/mysql.sock
```


###七:MySQL遠端連線測試
(1)命令使用格式
```shell
mysql?-uroot?-poldboy?-h?10.0.0.52?-P?連接埠號碼?-P?為連接埠參數
```
(2)遠端連線多執行個體資料庫測試
```shell
mysql?-uroot?-poldboy?-h?10.0.0.52?-P?3306
```


來自為知筆記(Wiz)

附件列表

     

    快速筆記01-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.