mysql集群搭建(使用docker 一主一从)
mysql集群搭建
my.cnf 配置文件配置
在 /etc/mysql/my.cnf 中 (拿一個(gè)舉例)
(docker中需要先進(jìn)入開啟的容器,docker exec -it 容器名稱 /bin/bash)
[mysqld] #啟用二進(jìn)制日志 log-bin=mysql-bin #服務(wù)器唯一ID,一般取IP最后一段 server-id=131重啟mysql ,這邊我使用docker,所以先退出 容器 執(zhí)行 exit
執(zhí)行 docker restart 容器名稱 重啟容器
mysql 經(jīng)常遇到的問題
當(dāng)遇到
我們需要 在 /etc/mysql/my.cnf
重啟
跳過密碼認(rèn)證
然后講 my.cnf 中的 skip-grant-tables 注釋
重啟mysql即可。
建立帳戶并授權(quán)slave
先進(jìn)入mysql 中,mysql -uroot -p ,輸入密碼。
# 創(chuàng)建用戶 # '%' 表示所有客戶端都可能連,只要帳號(hào),密碼正確,此處可用具體客戶端IP代替 GRANT FILE ON *.* TO 'xiuyuan'@'%' IDENTIFIED BY '123456'; # 授予權(quán)限 GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* to 'xiuyuan'@'%' identified by '123456';# 刷新權(quán)限 FLUSH PRIVILEGES;REPLICATION CLIENT:授予此權(quán)限,復(fù)制用戶可以使用 SHOW MASTER STATUS, SHOW SLAVE STATUS和 SHOW BINARY LOGS來確定復(fù)制狀態(tài)。
REPLICATION SLAVE:授予此權(quán)限,復(fù)制才能真正工作。
查詢master的狀態(tài)
show master status;發(fā)現(xiàn)在/var/lib/mysql文件夾下,已經(jīng)多出了mysql-bin開頭的bin log日志文件
從服務(wù)器配置
首先也是一樣,配置 my.cnf
[mysqld] server-id=130在 /var/lib/mysql 中有個(gè)auto.cnf 文件,
我們發(fā)現(xiàn)兩個(gè)服務(wù)的server-uuid 是一模一樣的,因?yàn)槲覀兪强寺∵^來的機(jī)器。但是兩個(gè)auto.cnf文件的uuid是一樣的,這樣做主從時(shí)會(huì)有錯(cuò)誤。
解決辦法就是將從服務(wù)器中的auto.cnf文件給刪掉,然后重啟服務(wù)
配置
設(shè)置集群master
change master to master_host='192.168.118.131',master_port=3306,master_user='xiuyuan',master_password='123456',master_log_file='mysql-bin.000004',master_log_pos=733;注意語(yǔ)句中間不要斷開,master_port為主mysql服務(wù)器端口號(hào)(無引號(hào)),master_user為執(zhí)行同步操作的數(shù)據(jù)庫(kù)賬戶,master_log_pos的值無單引號(hào)(此處的733就是show master status 中看到的position的值,這里的mysql-bin.000004就是file對(duì)應(yīng)的值)。
啟動(dòng)從服務(wù)器復(fù)制功能
在從主機(jī)上使用
start slave;檢查從服務(wù)器復(fù)制功能狀態(tài)
show slave status;Slave_IO_Running及Slave_SQL_Running進(jìn)程必須正常運(yùn)行,即YES狀態(tài),否則都是錯(cuò)誤的狀態(tài)(如:其中一個(gè)NO均屬錯(cuò)誤)。
測(cè)試
配置好后發(fā)現(xiàn),從服務(wù)器同步了主服務(wù)器的數(shù)據(jù)庫(kù)
主庫(kù)添加一條數(shù)據(jù)
從庫(kù)查詢
總結(jié)
以上是生活随笔為你收集整理的mysql集群搭建(使用docker 一主一从)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle中视图窗粉色的,Oracle
- 下一篇: 工厂模式解耦---控制反转