一、多實例的應(yīng)用場景:
成都創(chuàng)新互聯(lián)堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站制作、做網(wǎng)站、外貿(mào)營銷網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的拱墅網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!1、資金緊張型公司的選擇
當公司業(yè)務(wù)訪問量不太大,又舍不得花錢,但同時又希望不同業(yè)務(wù)的數(shù)據(jù)庫服務(wù)各自獨立,而且需要主從同步進行等技術(shù)提供備份或讀寫分離服務(wù)時,使用多實例是最好不過的。
2、并發(fā)訪問不是特別大的業(yè)務(wù)
當公司業(yè)務(wù)訪問量不太大,服務(wù)器資源基本閑置的比較多,這是就很適合多實例的應(yīng)用。如果對SQL語句優(yōu)化的好,多實例是一個很值得使用的技術(shù)。即使并發(fā)很大,只要合理分配好系統(tǒng)資源,也不會有太大問題。
二、mysql多實例的原理
mysql多實例,簡單的說,就是在一臺服務(wù)器上開啟多個不同的mysql服務(wù)端口(如3306,3307),運行多個mysql服務(wù)進程。這些服務(wù)進程通過不同的socket監(jiān)聽不同的服務(wù)端口,來提供各自的服務(wù)。
這些mysql實例共用一套mysql安裝程序,使用不同的my.cnf配置文件、啟動程序、數(shù)據(jù)文件。在提供服務(wù)時,mysql多實例在邏輯上看來是各自獨立的,各個實例之間根據(jù)配置文件的設(shè)定值,來取得服務(wù)器的相關(guān)硬件資源。
三、多實例部署步驟
在這里數(shù)據(jù)庫的編譯安裝就不贅述了,如有不清楚的,請參考其他文件。
實驗使用的端口:33064,33065
1、創(chuàng)建數(shù)據(jù)目錄
創(chuàng)建數(shù)據(jù)文件存放目錄,并修改文件夾的所屬用戶組
mkdir -p /home/mysqldata/33064
mkdir -p /home/mysqldata/33065
chown mysql.mysql 33064/33065/
2、初始化數(shù)據(jù)庫:
/usr/bin/mysql_install_db\
--datadir=/home/mysqldata/33064/\
--user=mysql
/usr/bin/mysql_install_db\
--datadir=/home/mysqldata/33065/\
--user=mysql
3、配置/etc/my.cnf配置文件
每一個實例都有一個屬于實例自己的msyqld模塊,模塊中是實例對應(yīng)的初始化參數(shù),例如[mysqld33064],[mysqld33065]
[root@model /]# cat /etc/my.cnf
[mysqld_multi]
mysqld=/usr/bin/mysqld_safe
mysqladmin=/usr/bin/mysqladmin
user=mysql
password=mysql
[mysqld33064]
datadir=/home/mysqldata/33064
port=33064
socket=/home/mysqldata/33064/mysql33064.sock
user=mysql
symbolic-links=0
default-storage-engine=INNODB
log-bin = mysql-bin
binlog_format = mixed
expire_logs_days = 7
## utf8
#default-character-set = utf8
#character_set_connection = utf8
#character_set_results = utf8
character-set-server = utf8
collation-server = utf8_general_ci
init_connect = 'SET collation_connection =utf8_general_ci '
init_connect = 'SET NAMES utf8'
server-id = 1
[mysqld33065]
datadir=/home/mysqldata/33065
port=33065
socket=/home/mysqldata/33065/mysql33065.sock
user=mysql
symbolic-links=0
default-storage-engine=INNODB
log-bin = mysql-bin
binlog_format = mixed
expire_logs_days = 7
## utf8
#default-character-set = utf8
#character_set_connection = utf8
#character_set_results = utf8
character-set-server = utf8
collation-server = utf8_general_ci
init_connect = 'SET collation_connection =utf8_general_ci '
init_connect = 'SET NAMES utf8'
server-id = 1
[mysqld_safe]
#log=/var/log/mysqldquery.log
## error log
log-error=/var/log/mysqld.log
#pid-file=/var/run/mysqld/mysqld.pid
4、多實例的啟動和停止
啟動的時候要用mysqld_multi 命令,而不是mysqld命令,命令通過傳遞不同的端口參數(shù)來啟動對應(yīng)額數(shù)據(jù)庫實例.
/usr/bin/mysqld_multi --defaults-file=/etc/my.cnf start 33064
/usr/bin/mysqld_multi --defaults-file=/etc/my.cnf start 33065
/usr/bin/mysqld_multi --defaults-file=/etc/my.cnf stop 33064
/usr/bin/mysqld_multi --defaults-file=/etc/my.cnf stop 33065
查看數(shù)據(jù)庫進程情況,如果有兩個數(shù)據(jù)庫進程說明數(shù)據(jù)庫安裝正常,否則失敗,具體原因需要查看log日志來處理。
[root@model mysql]# ps -ef|grep mysql
root 3990 1 0 11:18 pts/0 00:00:00 /bin/sh /usr/bin/mysqld_safe --datadir=/home/mysqldata/33065 --port=33065 --socket=/home/mysqldata/33065/mysql33065.sock --user=mysql --symbolic-links=0 --default-storage-engine=INNODB --log-bin=mysql-bin --binlog_format=mixed --expire_logs_days=7 --character-set-server=utf8 --collation-server=utf8_general_ci --init_connect=SET collation_connection = utf8_general_ci --init_connect=SET NAMES utf8 --server-id=1
mysql 4132 3990 0 11:18 pts/0 00:00:01 /usr/libexec/mysqld --basedir=/usr --datadir=/home/mysqldata/33065 --user=mysql --symbolic-links=0 --default-storage-engine=INNODB --log-bin=mysql-bin --binlog_format=mixed --expire_logs_days=7 --character-set-server=utf8 --collation-server=utf8_general_ci --init_connect=SET collation_connection = utf8_general_ci --init_connect=SET NAMES utf8 --server-id=1 --log-error=/var/log/mysqld.log --pid-file=/home/mysqldata/33065/model.pid --socket=/home/mysqldata/33065/mysql33065.sock --port=33065
root 4155 1 0 11:18 pts/0 00:00:00 /bin/sh /usr/bin/mysqld_safe --datadir=/home/mysqldata/33064 --port=33064 --socket=/home/mysqldata/33064/mysql33064.sock --user=mysql --symbolic-links=0 --default-storage-engine=INNODB --log-bin=mysql-bin --binlog_format=mixed --expire_logs_days=7 --character-set-server=utf8 --collation-server=utf8_general_ci --init_connect=SET collation_connection = utf8_general_ci --init_connect=SET NAMES utf8 --server-id=1
mysql 4297 4155 0 11:18 pts/0 00:00:01 /usr/libexec/mysqld --basedir=/usr --datadir=/home/mysqldata/33064 --user=mysql --symbolic-links=0 --default-storage-engine=INNODB --log-bin=mysql-bin --binlog_format=mixed --expire_logs_days=7 --character-set-server=utf8 --collation-server=utf8_general_ci --init_connect=SET collation_connection = utf8_general_ci --init_connect=SET NAMES utf8 --server-id=1 --log-error=/var/log/mysqld.log --pid-file=/home/mysqldata/33064/model.pid --socket=/home/mysqldata/33064/mysql33064.sock --port=33064
5、多實例的連接登錄
mysql -S /home/mysqldata/33064/mysql33064.sock
mysql -S /home/mysqldata/33065/mysql33065.sock
6、賦權(quán)限
剛安裝好的數(shù)據(jù)庫root用戶無localhost登錄權(quán)限,所以需要賦權(quán)限以后才能通過用戶名和密碼登錄。
mysql -S /home/mysqldata/33064/mysql33064.sock
mysql>grant allon *.* to 'root'@'%' identified by 'root';
mysql>grant allon *.* to 'root'@'localhost' identified by 'root';
mysql> flushprivileges;
7、通過用戶名和密碼登錄
mysql -uroot -proot -S /home/mysqldata/33064/mysql33064.sock
8、多實例修改密碼
修改實例33064的root密碼,使用mysqladmin命令。如下:
mysqladmin -uroot -p password root-S /home/mysqldata/33064/mysql33064.sock
到此我們的mysql多實例部署就已經(jīng)完成。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
網(wǎng)站標題:MYSQL數(shù)據(jù)庫多實例的安裝配置mysql_multi啟停實戰(zhàn)-創(chuàng)新互聯(lián)
當前鏈接:http://muchs.cn/article4/cspeoe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、商城網(wǎng)站、網(wǎng)站內(nèi)鏈、域名注冊、網(wǎng)站排名、網(wǎng)站營銷
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容