国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

二進(jìn)制包中mysqld_multi實(shí)現(xiàn)單主機(jī)多實(shí)例及slave

Original 2016-11-21 09:44:43 683
abstract:   最近由于業(yè)務(wù)需求只有一臺(tái)服務(wù)器部署數(shù)據(jù)庫,不過為了確保數(shù)據(jù)有得到實(shí)時(shí)備份,以便于數(shù)據(jù)分析備份就使用了mysqld_multi來實(shí)現(xiàn)mysql的多實(shí)例以及同主機(jī)上的slave,這樣以后添加新的slave的時(shí)候就可以在不影響線上的服務(wù)時(shí)來進(jìn)行備份創(chuàng)建slave服務(wù)器,至于master與slave的同步設(shè)置以前有做過,在這里就不多做贅述了,需要可以參看:http://jim12

   最近由于業(yè)務(wù)需求只有一臺(tái)服務(wù)器部署數(shù)據(jù)庫,不過為了確保數(shù)據(jù)有得到實(shí)時(shí)備份,以便于數(shù)據(jù)分析備份就使用了mysqld_multi來實(shí)現(xiàn)mysql的多實(shí)例以及同主機(jī)上的slave,這樣以后添加新的slave的時(shí)候就可以在不影響線上的服務(wù)時(shí)來進(jìn)行備份創(chuàng)建slave服務(wù)器,至于master與slave的同步設(shè)置以前有做過,在這里就不多做贅述了,需要可以參看:http://jim123.blog.51cto.com/4763600/1862808。

   先說一下mysqld_multi,它可以通過監(jiān)聽不同的socket和tcp/ip的端口來連接mysqld進(jìn)程,這個(gè)在mysql的官網(wǎng)上可以找到詳細(xì)的文檔信息,在這里就簡單的說一下實(shí)現(xiàn)的過程以及一些注意點(diǎn)。因?yàn)閙ysql是共用my.cnf文件,所以使用mysqld_multi只要在my.cnf中添加相應(yīng)的配置就好。首先,先把mysld的配置復(fù)制下來,并且把mysqld的配置文件中的配置名字[mysqld]改成[mysqld1],然后再在下面添加[mysqld2]作為slave的配置文件,配置可以使用mysqld1的,但是有幾個(gè)地方要改一下,要修改地方如下:

[mysqld2]
server-id = 2
#這個(gè)很重要,不能和master同一個(gè)ID
port            = 3307
socket          = /tmp/mysql3307.sock
log=slow-queries=/data/mysqldata3307/localhost-slow.log
datadir = /data/mysqldata3307
#主要改的就是端口、ip、datadir的路徑和socket,其他的就是加上slave的相應(yīng)配置
[mysqld_multi]
mysqld = /usr/local/mysql/bin/mysqld_safe
mysqladmin = /usr/local/mysql/bin/mysqladmin
#添加上mysqld_safe和mysqladmin的路徑,這以便于在使用mysqld_multi的時(shí)候方便管理mysqld的相應(yīng)實(shí)例的啟動(dòng)和關(guān)閉

在修改好my.cnf配置文件后去basedir下的scripts目錄中對(duì)新實(shí)例執(zhí)行初始化

[root@localhost scripts]# ./mysql_install_db  --basedir=/usr/local/mysql --datadir=/data/mysqldata3307 --user=mysql --skip-name-resolve

然后再把mysqld的進(jìn)程停掉,使用mysqld_multi來對(duì)多實(shí)例mysqld進(jìn)行管理,用法很簡單:

mysqld_multi [OPTIONS] {start|stop|report} [GNR,GNR,GNR...]
or     mysqld_multi [OPTIONS] {start|stop|report} [GNR-GNR,GNR,GNR-GNR,...]
啟動(dòng):
[root@localhost scripts]# mysqld_multi start 1-2
或
[root@localhost scripts]# mysqld_multi start 1
[root@localhost scripts]# mysqld_multi start 2

   平時(shí)在登錄mysql的交互界面的時(shí)候使用指定socket文件登錄(http://jim123.blog.51cto.com/4763600/1855645),這樣mysqld多實(shí)例就部署完畢了,接下來就是mysqld多實(shí)例的slave的一些配置,要注意的是在同一臺(tái)主機(jī)上的ip是一樣主從的區(qū)別是他們的端口以及socket的不同所以在master上使用grant語句配置slave賬號(hào)時(shí)候給的host就要指定好,不然會(huì)出現(xiàn)ERROR 1133 (42000): Can't find any matching row in the user table的錯(cuò)誤,相應(yīng)的在slave上使用change master to語句的時(shí)候就要加上Master_Port = 3306用于區(qū)分,這樣同主機(jī)下的多實(shí)例的主從就部署完成了。

Release Notes

Popular Entries