#mysql主從複製 ###下載mysql安裝包 mysql
###安裝master mysqlsql
yum repolist enabled | grep "mysql.-community."數據庫
tar -xvf mysql-8.0.11-1.el7.x86_64.rpm-bundle.tar服務器
-rw-r--r--. 1 root root 603985920 Jun 28 16:05 mysql-8.0.11-1.el7.x86_64.rpm-bundle.tar -rw-r--r--. 1 7155 31415 26760484 Apr 9 01:06 mysql-community-client-8.0.11-1.el7.x86_64.rpm -rw-r--r--. 1 7155 31415 549512 Apr 9 01:06 mysql-community-common-8.0.11-1.el7.x86_64.rpm -rw-r--r--. 1 7155 31415 4221784 Apr 9 01:06 mysql-community-devel-8.0.11-1.el7.x86_64.rpm -rw-r--r--. 1 7155 31415 24343708 Apr 9 01:06 mysql-community-embedded-compat-8.0.11-1.el7.x86_64.rpm -rw-r--r--. 1 7155 31415 2349488 Apr 9 01:06 mysql-community-libs-8.0.11-1.el7.x86_64.rpm -rw-r--r--. 1 7155 31415 2156516 Apr 9 01:06 mysql-community-libs-compat-8.0.11-1.el7.x86_64.rpm -rw-r--r--. 1 7155 31415 119957152 Apr 9 01:06 mysql-community-minimal-debuginfo-8.0.11-1.el7.x86_64.rpm -rw-r--r--. 1 7155 31415 357581528 Apr 9 01:07 mysql-community-server-8.0.11-1.el7.x86_64.rpm -rw-r--r--. 1 7155 31415 20562556 Apr 9 01:07 mysql-community-server-minimal-8.0.11-1.el7.x86_64.rpm -rw-r--r--. 1 7155 31415 45494324 Apr 9 01:07 mysql-community-test-8.0.11-1.el7.x86_64.rpm -rw-r--r--. 1 root root 631340 May 9 2014 Percona-XtraDB-Cluster-shared-55-5.5.37-25.10.756.el6.x86_64.rpm
yum install -y mysql-community-common-8.0.11-1.el7.x86_64.rpmide
yum install -y mysql-community-libs-8.0.11-1.el7.x86_64.rpm測試
yum install -y mysql-community-client-8.0.11-1.el7.x86_64.rpmdebug
yum install -y mysql-community-server-8.0.11-1.el7.x86_64.rpm日誌
查找初始密碼 grep 'password' /var/log/mysqld.log |head -n 1code
mysql -u root -pserver
登陸成功購執行下面腳本修改root密碼
alter user user() identified by "new password";
###安裝slave mysql 同上步驟
###在主節點上建立一個同步帳號
1)每一個從數據庫會使用一個MySQL帳號來鏈接主數據庫,因此咱們要在主數據庫裏建立一個帳號,而且該帳號要授予 REPLICATION SLAVE 權限,你能夠爲每一個從數據庫分別建立帳號,固然也能夠用同一個!)
2)你能夠用原來的帳號不必定要新創帳號,但你應該注意,這個帳號和密碼會被明文存放在master.info文件中,所以建議單首創一個只擁有相關權限的帳號,以減小對其它帳號的危害!)
3)建立新帳號使用「CREATE USER」,給帳號受權使用「GRANT」命令,若是你僅僅爲了主從複製建立帳號,只須要授予REPLICATION SLAVE權限。
CREATE USER 'repl'@'192.168.0.%' IDENTIFIED BY 'repl123';
GRANT REPLICATION SLAVE ON . TO 'repl'@'192.168.0.%';
###配置主數據庫
要主數據庫,你必需要啓用二進制日誌(binary logging),而且建立一個惟一的Server ID,這步驟可能要重啓MySQL。
主服務器發送變動記錄到從服務器依賴的是二進制日誌,若是沒啓用二進制日誌,複製操做不能實現(主庫複製到從庫)。
複製組中的每臺服務器都要配置惟一的Server ID,取值範圍是1到(232)−1,你本身決定取值。
配置二進制日誌和Server ID,你須要關閉MySQL和編輯my.cnf或者my.ini文件,在 [mysqld] 節點下添加配置。
下面是啓用二進制日誌,日誌文件名以「mysql-bin」做爲前綴,Server ID配置爲1,以下:
[mysqld]
log-bin=mysql-bin
server-id=1
重啓後 查看主服務器狀態,mysql> show master status;, 如圖:
###配置從數據庫
從服務器,同理,要分配一個惟一的Server ID,須要關閉MySQL,修改好後再重啓,以下:
[mysqld]
server-id=2
relay-log-index=slave-relay-bin.index
relay-log=slave-relay-bin
stop slave;
CHANGE MASTER TO MASTER_HOST='192.168.1.233', MASTER_USER='repl', MASTER_PASSWORD='repl123',MASTER_LOG_FILE='mysql-bin.000002',MASTER_LOG_POS=313;
start slave;
show slave status \G;
若是圖中兩個指標爲yes就成功了,如今能夠試着建立數據庫或者建立表來測試