MySQL單機多例項配置
===========================================================================摘抄自hellodba
MySQL單機多例項方案,是指在一臺物理的PC伺服器上執行多個MySQL資料庫例項,為什麼要這樣做?這樣做的好處是什麼?
1.儲存技術飛速發展,IO不再是瓶頸
普通PC伺服器的CPU與IO資源不均衡,因為磁碟的IO能力非常有限,為了滿足應用的需要,往往需要配置大量的伺服器,這樣就造成CPU資源的大量浪費。但是,Flash儲存技術的出現改變了這一切,單機的IO能力不再是瓶頸,可以在單機執行多個MySQL例項提升CPU利用率。
2.MySQL對多核CPU利用率低
MySQL對多核CPU的利用率不高,一直是個問題,5.1版本以前的MySQL,當CPU超過4個核時,效能無法線性擴充套件。雖然MySQL後續版本一直在改進這個問題,包括Innodb plugin和Percona XtraDB都對多核CPU的利用率改進了很多,但是依然無法實現效能隨著CPU core的增加而提升。我們現在常用的雙路至強伺服器,單顆CPU有4-8個core,在作業系統上可以看到16-32 CPU(每個core有兩個執行緒),四路伺服器可以達到64 core甚至更多,所以提升MySQL對於多核CPU的利用率是提升效能的重要手段。下圖是Percona的一份測試資料:
===========================================================================摘抄自hellodbamysqld_multi可以管理多個幀聽不同Unix套接字檔案和TCP/IP埠的連線的mysqld程式。它可以啟動或停止伺服器,或報告它們的當前狀態。
要想呼叫mysqld_multi,使用下面的語法:
shell> mysqld_multi [options] {start|stop|report} [GNR[,GNR] ...]
start、stop和report表示你想要執行的操作。你可以在單個伺服器或多個伺服器上執行指定的操作,取決於選項名後面的GNR列。如果沒有該列,mysqld_multi為選項檔案中的所有伺服器執行該操作。
具體配置如下:# pwd
/usr/local/mysql/etc/
# cat multi.cnf
[mysqld_multi]
mysqld = /usr/local/mysql/bin/mysqld_safe
mysqladmin =/usr/local/mysql/bin/mysqladmin
user = multi_admin
password = 123123 #確保之後賦權的密碼是這裡的密碼,否則無法關閉例項
[mysqld2]
socket = /tmp/mysql.sock2
port = 3307
pid-file = /var/run/mysqld/mysql.pid2
datadir = /data2
[mysqld3]
socket = /tmp/mysql.sock3
port = 3308
pid-file = /var/run/mysqld/mysql.pid3
datadir = /data3
[mysqld4]
socket = /tmp/mysql.sock4
port = 3309
pid-file = /var/run/mysqld/mysql.pid4
datadir = /data4
# mkdir /data2 /data3 /data4
# chown myql:mysql -R /data2/data3 /data4
# cd /usr/local/mysql
# ./scripts/mysql_install_db --user=mysql --datadir=/data2
# ./scripts/mysql_install_db --user=mysql --datadir=/data3
# ./scripts/mysql_install_db --user=mysql --datadir=/data4
# /usr/local/mysql/bin/mysqld_multi \
--defaults-file=/usr/local/mysql/etc/multi.cnfstart 2-4 //開啟2到4的例項
//# /usr/local/mysql/bin/mysqld_multi \
--defaults-file=/usr/local/mysql/etc/multi.cnfstart 2,4 開啟2和4兩個例項
# netstat -tulnp | grep mysql
tcp 0 0 0.0.0.0:3307 0.0.0.0:* LISTEN 15080/mysqld
tcp 0 0 0.0.0.0:3308 0.0.0.0:* LISTEN 15088/mysqld
tcp 0 0 0.0.0.0:3309 0.0.0.0:* LISTEN 15097/mysqld
# mysql -u root -S /tmp/mysql.sock2
Welcome to the MySQLmonitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version:5.5.8-debug-log Source distribution
Copyright (c) 2000, 2010,Oracle and/or its affiliates. All rights reserved.
This software comes withABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modifyand redistribute it under the GPL v2 license
Type 'help;' or '\h' forhelp. Type '\c' to clear the current input statement.
mysql> grant shutdown on *.* to multi_admin@'localhost' identified by'123123';
Query OK, 0 rows affected(0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected(0.01 sec)
mysql> quit
Bye
#
之後的例項依次連線執行命令賦權即可
mysql> grant shutdown on *.* to multi_admin@'localhost' identified by'123123';
mysql> flush privileges;
# /usr/local/mysql/bin/mysqld_multi \
--defaults-file=/usr/local/mysql/etc/multi.cnfstop 2-4
# netstat -tulnp | grep mysql
#
另外NUMA對MySQL多例項的效能調優較大的聯絡,筆者會對這方面做一個詳細的測試
相關文章
- Linux下MySQL配置單機多例項LinuxMySql
- MySQL 5.5.35 單機多例項配置詳解MySql
- MySQL多例項配置MySql
- mysql的多例項配置MySql
- canal同步mysql,監聽單例項,多例項配置MySql單例
- MySQL單機多例項安裝並配置主從複製MySql
- 利用mysqld_multi配置單機多例項MySql
- MySQL 多例項配置管理:MySql
- MySQL 5.6同一物理主機配置多例項MySql
- mysqld_multi搭建MySQL單機多例項服務MySql
- 技術乾貨 | 利用systemd管理MySQL單機多例項MySql
- MySQL資料庫入門多例項配置MySql資料庫
- Mysql:mysql多例項建立、配置檔案講解【四】MySql
- 【MySQL】MySQL多例項開機自動重啟MySql
- mysql多例項部署MySql
- MySQL 使用mysqld_multi部署單機多例項詳細過程MySql
- mysql多例項安裝MySql
- MySQL5.7 多例項MySql
- MySQL多例項環境部署MySql
- 配置nginx多例項(不同於虛擬主機)Nginx
- 單機多例項執行 percona server 5.7Server
- mysql 5.7 多例項安裝MySql
- rabbitmq單機多例項叢集與負載均衡MQ負載
- MySQL 多例項刪庫指令碼MySql指令碼
- Mysql之多例項my.cnfMySql
- 基於mysqld_multi實現MySQL 5.7.24多例項多程式配置MySql
- MySQL入門--Mysqld_multi多例項MySql
- mysql-mmm叢集(多例項)薦MySql
- Mysql 通過 Mysql_install_db 建立多例項MySql
- MySQL介紹及安裝與多例項MySql
- Linux下MySQL多例項部署記錄LinuxMySql
- Tomcat多例項單應用部署方案Tomcat
- mysql使用mysqld_multi工具啟動多例項MySql
- MySQL 多例項啟動和關閉指令碼MySql指令碼
- Mac10.13.6 Mysql5.7.23多例項部署MacMySql
- MySQL 多例項給root使用者建立密碼MySql密碼
- 單機環境配置ASM例項ASM
- 單例項資料庫工具轉化多例項資料庫單例資料庫