MySQL雙主配置

在自己的兩臺虛擬機(jī)192.168.152.130,192.168.152.132進(jìn)行配置

部署環(huán)境:centos7.8、mysql5.7.31,兩臺服務(wù)器的3306端口可以互相telnet通

安裝可以參考另一篇文章:linux下jdk+mysql安裝部署+nginx - 簡書

1.修改配置文件

在主機(jī)130上,修改mysql的配置文件 #vim /etc/my.cnf

添加如下配置

server-id=1???#服務(wù)器id?(主從必須不一樣)

log-bin=mysql-bin???#打開日志(主機(jī)需要打開)

binlog-do-db=db1??#要給從機(jī)同步的庫

binlog-ignore-db=mysql???#不給從機(jī)同步的庫(多個(gè)寫多行)

binlog-ignore-db=information_schema

expire_logs_days=7????#自動清理?7?天前的log文件,可根據(jù)需要修改

在主機(jī)132上,修改mysql的配置文件 #vim /etc/my.cnf

添加如下配置

server-id=2???#服務(wù)器id?(主從必須不一樣)

log-bin=mysql-bin???#打開日志(主機(jī)需要打開)

binlog-do-db=db1??#要給從機(jī)同步的庫

binlog-ignore-db=mysql???#不給從機(jī)同步的庫(多個(gè)寫多行)

binlog-ignore-db=information_schema

expire_logs_days=7????#自動清理?7?天前的log文件,可根據(jù)需要修改

修改完成后,重啟兩臺MySQL服務(wù) #systemctl restart mysqld.service?

2、重啟完成后 , 登錄MySQL

兩臺MySQL中都建立備份賬號:(這密碼我瞎寫的,可以自己百度生成隨機(jī)密碼)

mysql>grant replication slave on *.* to 'backup'@'192.168.152.132' identified by 'EeuiRE8' ;

mysql>grant replication slave on *.* to 'backup'@'192.168.152.130' identified by 'EeuiRE8' ;

可以輸入以下命令查看用戶信息

mysql> select user,authentication_string,host from user ;

3、配置主從(130 -->? ?132)

查看第一臺機(jī)器(130)的狀態(tài) :

mysql> show master status \G;

然后在第二臺機(jī)器(132)上配置第一臺機(jī)器(130)為主機(jī)。

mysql>?stop slave ;

mysql> change master to master_host='192.168.152.130', master_user='backup', master_password='EeuiRE8', master_log_file='mysql-bin.000002',master_log_pos=964;

mysql> start slave ;

然后查看主機(jī)狀態(tài)

mysql>show? slave? status \G;

當(dāng)Slave_IO_Running: Yes? ?Slave_SQL_Running: Yes 都為yes表示同步成功

4.配置主從(132 -->? ?130)

相同的操作,查看132的主機(jī)狀態(tài) , 在130上配置。

mysql>stop slave ;

mysql>change master to master_host='192.168.152.132', master_user='backup', master_password='EeuiRE8', master_log_file='mysql-bin.000001',master_log_pos=964;

mysql>start slave ;

然后查看主機(jī)狀態(tài)

mysql>show? slave? status? \G; 同樣,當(dāng)Slave_IO_Running: Yes? ?Slave_SQL_Running: Yes 都為yes表示同步成功

雙主測試: 在130中創(chuàng)建數(shù)據(jù)庫, 在132查看數(shù)據(jù)庫生成了;?在132的庫中插入表 ,130中有數(shù)據(jù)表了 。

其他命令:

初始化bin-log日志? ? ? ?mysql> reset master;

創(chuàng)建測試庫db1

mysql>create database db1 charset utf8;

創(chuàng)建表及插入數(shù)據(jù)測試

create table user(

? ? `userid` int(4) primary key not null auto_increment,

? ? `username` varchar(16) not null,

? ? `userpassword` varchar(32) not null

? );

INSERT INTO user (username,userpassword) VALUES('ccc','cccc');

MySQL+Keepalived可參考

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容