Mysql羣集服務器之主從安裝

Mysql羣集服務器之主從安裝
Mysql羣集服務器之主從安裝
Master:10.206.35.12
Slave:10.206.35.8
Centos7安裝Mysql5.7
1-由於CentOS 的yum源中沒有mysql,需到mysql的官網下載yum repo配置文件
wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
Mysql羣集服務器之主從安裝
2-進行repo的安裝
rpm -ivh mysql57-community-release-el7-9.noarch.rpm
執行完成後會在/etc/yum.repos.d/目錄下生成兩個repo文件mysql-community.repo mysql-community-source.repo執行完成後會在/etc/yum.repos.d/目錄下生成兩個repo文件mysql-community.repo mysql-community-source.repo
Mysql羣集服務器之主從安裝
Mysql羣集服務器之主從安裝
Mysql羣集服務器之主從安裝

3-yum命令即可完成安裝
yum install mysql-server -y
Mysql羣集服務器之主從安裝
4-啓動Mysql
systemctl start mysqld
Mysql羣集服務器之主從安裝
5-獲取安裝時的臨時密碼: vlfhh)Na)5iU
grep 'temporary password' /var/log/mysqld.log
倘若沒有:
(1)刪除原來安裝過的mysql殘留的數據
rm -rf /var/lib/mysql
2)再啓動mysql
Mysql羣集服務器之主從安裝
6-登錄
mysql -u root -p
Mysql羣集服務器之主從安裝
7-修改密碼
set password=password("silence2@T");
Mysql羣集服務器之主從安裝
8-Master配置
vi /etc/my.cnf添加以下內容
server-id=1#設置主服務器的ID,不能重複
innodb_flush_log_at_trx_commit=2#
log-bin=mysql-bin-1#開啓binlog日誌同步功能
binlog-do-db=test#同步test庫
Mysql羣集服務器之主從安裝
重啓MySQL
systemctl restart mysqld
systemctl status mysqld
Mysql羣集服務器之主從安裝
登錄MYSQL
mysql -u root -p
grant replication slave on . to 'mark'@'10.206.35.%' identified by 'silence2@T';
grant replication slave on . to 'mark'@'192.168.0.%' identified by 'silence2@T';
Mysql羣集服務器之主從安裝
授權給從數據庫服務器用戶名mark,密碼123456,192.168.56.%使用通配符表示該網段下所有服務器均可使用
查看主數據庫狀態
show master status;
Mysql羣集服務器之主從安裝
9-Slave數據庫配置
vi /etc/my.cnf
server-id=2
innodb_flush_log_at_trx_commit=2
sync_binlog=1
log-bin=mysql-bin-2
Mysql羣集服務器之主從安裝
重啓MySQL服務
systemctl restart mysqld
登錄MySQL數據庫
mysql -u root -p
Mysql羣集服務器之主從安裝
語句中的master_log_file、master_log_pos與上圖一致。
change master to master_host='10.206.35.12', master_user='mark' ,master_password='silence2@T', master_log_file='mysql-bin-5.000001' ,master_log_pos=448;
Mysql羣集服務器之主從安裝
開啓從庫 (stop slave:關閉從庫)
start slave;
Mysql羣集服務器之主從安裝
Slave_IO_Running,Slave_SQL_Running 都爲Yes的時候表示配置成功
show slave status\G
Mysql羣集服務器之主從安裝
在MASTER上創建數據庫,測試同步
create database mysql_db_test charset=utf8;
show databases;
use mysql_db_tesb
create table t0 (id varchar(20),name varchar(20));
show tables;
insert into t0 values ("001","wugk1");
insert into t0 values ("002","wugk2");
select * from t0;

MySQL主從同步排錯思路
1-忽略錯誤,繼續同步;停止Master寫入
flush tables with read lock;
Slave端停止I/O及SQL線程,跳過同步錯誤的SQL一次,啓動同步
stop slave;
set global sql_slave_skip_counter = 1;
start slave;

2-重新做主從同步,使用數據據完全同步
Master將數據庫設置爲全局讀鎖,不許寫入
flush tables with read lock;
Master端基於mysqldump、xtraackup工具對數據進行完整備份,也可以用shell
腳本或python實理定時備份,備份成功後,將完整的數據導入至從庫,重新配置主從
關係,當slave端的I/0線程\SQL線程均爲YES之後,將MASTER讀寫解開:
unlock tables;

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