MYSQL實現主從複製

一.關閉防火牆和SElinux:

systemctl stop firewalld.service 
setenforce 0

二.準備環境:
兩臺虛擬機安裝mysql
IP:192.168.43.176
IP2:192.168.43.213

三.下載解壓mysql:

unzip AliSQL-AliSQL-5.6.32-9.zip

MYSQL實現主從複製

下載依賴包:

yum -y install cmake bison git ncurses-devel gcc gcc-c++

MYSQL實現主從複製
添加用戶:

groupadd mysql
useradd -g mysql mysql

MYSQL實現主從複製
下載並解壓perl:

 wget http://repo.openfusion.net/centos7-x86_64//perl-Data-Dumper-2.154-1.of.el7.x86_64.rpm
rpm -ivh http://repo.openfusion.net/centos7-x86_64//perl-Data-Dumper-2.154-1.of.el7.x86_64.rpm

MYSQL實現主從複製

編譯安裝

cmake -DCMAKE_INSTALL_PREFIX=/data/server/mysql -DMYSQL_UNIX_ADDR=/data/server/mysql/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DMYSQL_DATADIR=/data/server/mysql/data -DMYSQL_TCP_PORT=3306 -DMYSQL_USER=mysql -DENABLE_DOWNLOADS=1

make && make install 

MYSQL實現主從複製
MYSQL實現主從複製

修改目錄主權限:

chown -R mysql:mysql /data/server/mysql

複製文件給權限:

cd /data/server/mysql  
cp support-files/my-default.cnf  ./my.cnf 
chown -R  mysql:mysql my.cnf

MYSQL實現主從複製

配置文件:

vim my.cnf
basedir = /data/server/mysql
datadir = /data/server/mysql/data
socket = /data/server/mysql/mysql.sock
log-error = /dat/server/mysql/data/error.log
pid-file = /data/server/mysql/data/mysql.pid
user = mysql
tmpdir = /tmp

MYSQL實現主從複製

數據庫初始化:

scripts/mysql_install_db  --defaults-file=./my.cnf --user=mysql 

MYSQL實現主從複製
進到support-files中啓動數據庫:

./mysql.server start

MYSQL實現主從複製
報錯PID解決辦法

rm -rf /etc/my.cnf
cd /data/server/mysql
rm -rf my.cof
cd data
rm -rf *
cd /data/server/mysql/
scripts/mysql_install_db  --defaults-file=./my.cnf --user=mysql 
cd support-files
./mysql.server start

MYSQL實現主從複製
進入mysql下的bin目錄中,重新啓動數據庫

cd /data/server/mysql/bin
./mysql -uroot -p 

MYSQL實現主從複製
MYSQL 啓動完成。

NTP時間服務同步器
準備兩臺虛擬機
服務端IP:192.168.43.213
客戶端IP:192.168.43.176
服務端配置
安裝ntp服務

yum install ntp ntpdate -y

MYSQL實現主從複製
修改ntp.conf配置文件

vim /etc/ntp.conf

MYSQL實現主從複製

啓動NTP服務

service ntpd start

爲了使服務可以在系統引導的時候自動啓動,執行

  service ntpd startchkconfig ntpd on

MYSQL實現主從複製
檢查時間服務器是否正確同步

ntpq -p

MYSQL實現主從複製

客戶端配置
關閉防火牆:

systemctl stop firewalld
setenforce 0

客戶端安裝ntp服務

yum install ntp ntpdate -y

配置ntp.conf文件

vim /etc/ntp.conf

MYSQL實現主從複製

手動同步時間

ntpdate 192.168.124.133

MYSQL實現主從複製

NTP時間同步實現

主從複製
master主庫配置

vim /mysql/my.cnf

 [mysqld]
server-id=1
 log-bin=mysql-bin

MYSQL實現主從複製
重啓MySQL:cd /data/server/mysql/support-files

./mysql.server restart

MYSQL實現主從複製
新建用於主從同步的用戶hong,允許登錄的從庫是'192.168.43.176'

create user 'hong'@'192.168.43.176' identified by '123';

給從庫賬號授權,說明給hong從庫複製的權限,在192.168.43.176機器上覆制

grant replication slave on *.* to 'hong'@'192.168.43.176';

檢查主庫創建的複製賬號

select user,host from mysql.user;

檢查授權賬號的權限

show grants for hong@'192.168.43.176';

檢查主庫的狀態:

show master status;

MYSQL實現主從複製
slave從庫配置
設置server-id值並關閉binlog功能參數
修改Slave的/etc/my.cnf,寫入

vim /etc/my.cnf
[mysqld]
server-id=3

MYSQL實現主從複製

重啓數據庫

cd /data/server/mysql/support-files
./mysql.server restart

MYSQL實現主從複製

檢查Slava從數據庫的各項參數

show variables like 'log_bin';
show variables like 'server_id';

MYSQL實現主從複製
配置複製的參數,Slave從庫連接Master主庫的配置

change master to master_host='192.168.43.213',(主庫的ip)
master_user='hong',(主庫的用戶名)
master_password=123',(主庫用戶的密碼)
master_log_file='mysql-bin.000001',(主庫的配置參數)
master_log_pos=265;(主庫的狀態值)

MYSQL實現主從複製
啓動從庫的同步開關,測試主從複製的情況

start slave;

MYSQL實現主從複製
查看複製狀態

show slave status\G;

MYSQL實現主從複製

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