依賴及環(huán)境
Docker1.7? ? yum install https://get.docker.com/rpm/1.7.1/centos-6/RPMS/x86_64/docker-engine-1.7.1-1.el6.x86_64.rpm
系統(tǒng)????CentOS7
安裝
安裝docker擦俐,這里使用docker是為了方便安裝mysql彼绷,你們可以選擇直接安裝mysql
直接通過(guò)yum install https://get.docker.com/rpm/1.7.1/centos-6/RPMS/x86_64/docker-engine-1.7.1-1.el6.x86_64.rpm安裝docker
安裝完成后我們通過(guò)service docker start啟動(dòng)docker
拉取MySQL5.7鏡像
docker pull mysql:5.7
這樣說(shuō)明拉成功了
MySQL主從復(fù)制
我這里配置的是一主一從
首先需要?jiǎng)?chuàng)建兩個(gè)文件夾作為掛在數(shù)據(jù)文件的目錄為什么要兩個(gè)呢羔沙?一個(gè)是主機(jī)的一個(gè)是從機(jī)的
之后我們需要再創(chuàng)建一個(gè)文件夾配置主機(jī)和從機(jī)的my.cnf文件,我們這里直接創(chuàng)建就好了憔维,你們也可以到docker容器里面去復(fù)制到主機(jī)
這里的data和配置文件,1的是主機(jī)的,2是從機(jī)的
然后我們就可以啟動(dòng)我們的docker容器了
啟動(dòng)主機(jī)
docker run -dit -p 6661:3306 -v /home/yuhui/mysql/conf/mysql1.cnf:/etc/mysql/my.cnf -v /home/yuhui/mysql/data1:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=yuhui112233 mysql:5.7
啟動(dòng)從機(jī)
docker run -dit -p 6662:3306 -v /home/yuhui/mysql/conf/mysql2.cnf:/etc/mysql/my.cnf -v /home/yuhui/mysql/data2:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=yuhui112233 mysql:5.7
這樣說(shuō)明已經(jīng)啟動(dòng)成功了,我們可以連接測(cè)試一下
建立帳戶并授權(quán)slave呕屎,當(dāng)然你們可以直接使用root,但是一般不使用root
GRANT FILE ON *.* TO 'yuhui'@'%' IDENTIFIED BY '123456';
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* to 'yuhui'@'%' identified by '123456';
FLUSH PRIVILEGES;
看到有自己添加進(jìn)去的用戶時(shí)說(shuō)明添加成功了
接下來(lái)是從服務(wù)器敬察,從服務(wù)器相對(duì)沒(méi)那么繁瑣
change master to master_host='192.168.237.129',master_port=6661,master_user='yuhui',master_password='123456',master_log_file='master-bin.000001',master_log_pos=865;
注意秀睛,上面這段配置都要和主機(jī)一致
start slave啟動(dòng)
這兩個(gè)為YES時(shí)說(shuō)明已經(jīng)成功了
我們來(lái)測(cè)試一下
從機(jī)上有主機(jī)上新建的test庫(kù),說(shuō)明主從復(fù)制已經(jīng)部署成功了