第一章:mysql配置主從複製

1.最小白安裝linux版的mysql5.7

準備主機:192.168.31.202  

從機:192.168.31.203

cd /usr/local/

wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

yum -y install mysql57-community-release-el7-10.noarch.rpm

yum -y install mysql-community-server

systemctl start  mysqld.service      #啓動mysql

下面進行修改密碼

grep "password" /var/log/mysqld.log      #查看原始密碼

cd /usr/bin/

./mysql -uroot -p     #回車後提示輸入原始密碼

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';

如果提示說密碼過於簡單,報錯無法通過

我們可以修改規則:

mysql> set global validate_password_policy=0;

mysql> set global validate_password_length=1;

然後再次執行上面修改root的密碼即可

 

2.配置主機和從機的my.cnf配置文件

在主機 192.168.31.202 編輯 /etc/my.cnf 文件

nano /etc/my.cnf

加上以下配置

server-id=1    #指定服務器id
log-bin=mysql-bin    #啓動二進制日誌
binlog-ignore-db=mysql    #不要複製的數據庫
binlog-ignore-db=information_schema    #不要複製的數據庫
binlog-do-db=testdb    #要複製的數據庫
binlog_format=STATEMENT    

在從機 192.168.31.203 編輯 /etc/my.cnf 文件

加上以下配置

nano /etc/my.cnf

server-id=2
relay-log=mysql-relay

 

 

3.在主機的mysql創建slave用戶

在主機登錄mysql

./mysql -uroot -proot

mysql> select user,host from mysql.user;      #查看有哪些用戶,我們發現並沒有slave用戶,於是創建它

mysql> set global validate_password_policy=0;      #設定密碼規則

mysql> set global validate_password_length=1;       #設定密碼規則

mysql> CREATE USER 'slave'@'%' IDENTIFIED BY 'slave';      #用戶和密碼都是slave

mysql> grant replication slave on *.* to 'slave'@'%' identified by 'slave';      #授權slave用戶允許被複制

mysql> show master status;    (查看File字段的值:mysql-bin.000002 , position字段的值:684

要把file字段和position字段的內容記下來,從機要用上它

 

 

4.在從機上的配置

./mysql -uroot -proot

###下面語句,其中192.168.31.202是主機的ip,用戶和密碼都是slave,最後兩個屬性就是從主機中獲取的字段值

mysql> CHANGE MASTER TO MASTER_HOST='192.168.31.202',
MASTER_USER='slave',
MASTER_PASSWORD='slave',
MASTER_LOG_FILE='mysql-bin.000002',
MASTER_LOG_POS=684;

如果報錯:this operation cannot be performed with a running slave thread。。。。

那麼執行下面語句:

mysql> stop slave;

mysql> reset master;

然後再次執行CHANGE MASTER TO 。。。。。這寫代碼

接下來開啓slave

mysql> reset slave;

mysql> start slave;

 

然後查看是否完成主從複製

mysql> show slave status\G;

如果發現這兩個屬性都是yes,那麼恭喜你,主從複製配置成功

 

主機只負責插入數據,從機只負責讀取數據。

從機插入數據是無法同步到主機的

以此類推,一主多從可以實現

接下來第二章學習mycat中間件的配置

 

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