mysql5.7 主從數據庫的搭建

數據庫在我們開發的過程中是必不可少的。如何實現數據的高可用用性呢,目前用的最多的方式就是主從複製,一個master,一個或多個slave, 當master產生數據讀寫的時候,會同步到slaves上,要注意的是,在這種模式下,在slave上產生的讀寫是無法同步到mster上的。好的,今天我們就來介紹一下,mysql5.7主從的搭建過程。本案例使用的系統版本是centos6, mysql版本是mysql-5.7-23.

首先我們準備兩臺機器:我的兩臺機器ip地址分別是: 192.168.1.11(master), 192.168.1.12(slave).

 

一. 安裝

在兩臺機器上分別安裝mysql5.7. 安裝的方式很多,可以使用rpm,可以直接下載包安裝。

1.1 rmp 安裝

我用的是rmp,需要安裝四個包,分別是:

mysql-community-common-5.7.24-1.el6.x86_64.rmp,mysql-community-lib-5.7.24-1.el6.x86_64.rmp,mysql-community-client-5.7.24-1.el6.x86_64.rmp,mysql-community-server-5.7.24-1.el6.x86_64.rmp, 使用rmp命令直接安裝即可,安裝的順序就按照上述順序進行。安裝的時候有幾個注意事項,首先是先卸載本機mysql(因爲有的系統自帶的mysql,版本比較低,安裝的時候可能會衝突)

使用如下命令刪除本機mysql:

rpm  -qa |  grep -i mysql |  xargs rpm -e --nodeps
find / -name mysql | xargs rm -rf
find / -name my.conf | xargs  rm -  rf

使用如下命令安裝:

rpm -ivh mysql-community-common-5.7.24-1.el6.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.24-1.el6.x86_64.rpm
rpm -ivh mysql-community-client-5.7.24-1.el6.x86_64.rpm
rpm -ivh mysql-community-server-5.7.24-1.el6.x86_64.rpm

安裝過程報錯解決: 

如果出現:

error: Failed dependencies:

libaio.so.1()(64bit) is needed by mysql-community-server-5.7.24-1.el6.x86_64

libaio.so.1(LIBAIO_0.1)(64bit) is needed by mysql-community-server-5.7.24-1.el6.x86_64

libaio.so.1(LIBAIO_0.4)(64bit) is needed by mysql-community-server-5.7.24-1.el6.x86_64

libnuma.so.1()(64bit) is needed by mysql-community-server-5.7.24-1.el6.x86_64

libnuma.so.1(libnuma_1.1)(64bit) is needed by mysql-community-server-5.7.24-1.el6.x86_64

libnuma.so.1(libnuma_1.2)(64bit) is needed by mysql-community-server-5.7.24-1.el6.x86_64

說明環境缺少依賴:安裝所需依賴:

yum install libaio
yum  install    numactl

如果還報錯,說明你電腦上還缺其他依賴,百度一下,安裝對應包即可。

安裝後啓動mysql:

service mysqld start

修改密碼,首先獲取臨時密碼:

grep "password" /var/log/mysqld.log

複製臨時密碼,登錄: mysql -uroot -p 

輸入密碼即可。

修改密碼: 先use mysql; 切換到mysql數據庫

alter user 'root'@'localhost' identified by '123456';

授權:

grant all privileges on *.* to root@'%' identified by '123456';
#分配從庫訪問用戶(在mysql客戶端執行sql語句:)代表用戶名: slave    密碼: 123456
grant replication slave on *.* to slave@'%' identified by '123456'; 
flush privileges;

好了安裝完畢

2. 直接下載安裝: https://blog.csdn.net/weixin_38003389/article/details/90696337

 

二. 配置主從:

2.1 配置主:

在master的機器上: vim /etc/my.cnf . 填寫如下內容:

port=3306
binlog-ignore-db=mysql # 代表哪些庫無需同步
server-id=1        # 很關鍵1 代表主 ,從庫配置的時候必須和他不一樣
expire-logs-days =7
binlog-ignore-db=information_schema
binlog-ignore-db=performation_schema
binlog-ignore-db=sys

log-bin=master-bin
log-slave-updates=true

整體截圖:


重啓mysql:   service mysqld restart;

登錄mysql ,查看master狀態:  show master status;注意紅框中內容,下面要用

2.2 配置從: 

修改 /etc/my.cnf

log-bin=mysql-bin
server-id=2
binlog-ignore-db=mysql
binlog-ignore-db=information_schema
binlog-ignore-db=performation_schema
binlog-ignore-db=sys

log-slave-updates
slave-skip-errors=all
slave-net-timeout=60

整體截圖:

重啓服務:  service mysqld restart

登錄從mysql, 執行sql語句: 這裏要注意,不要直接複製,改成你自己的數據。 host是master的host, user是 你在master上給slave分配的用戶名,密碼是對應的密碼,log_file 和log_pos 都從master上執行 show master status 的結果裏取。見上面圖中紅框

stop slave; 
change master to master_host='192.168.1.11',master_user='slave',master_password='123456',master_log_file='master-bin.000001', master_log_pos= 24918;
start slave; 

 

查看狀態: show slave status \G;

好了,主從搭建完畢。 

測試,在master上創建一個表,看從庫中是否已出現即可。

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章