通過讀寫分離 、數(shù)據(jù)備份、負(fù)載均衡最終體現(xiàn)效率? ?
實(shí)際開發(fā)中,至少要有兩臺服務(wù)器
client: 客戶端C? ? ? ? sever:服務(wù)器S

master:主服務(wù)器? ? ? ? slave:從服務(wù)器

從隨主變
至少兩臺服務(wù)器的作用:主服務(wù)器上的所有數(shù)據(jù)備份到從服務(wù)器
手動備份:麻煩,不可??;
解決方法:主服務(wù)器與從服務(wù)器進(jìn)行關(guān)聯(lián),從服務(wù)器自動向主服務(wù)器請求數(shù)據(jù)(從隨主變)

防止丟失
不管主、從誰掛了,數(shù)據(jù)都不會丟失

負(fù)載均衡?
一臺從不夠,多幾臺,更新在主里,查看是部分在從,部分在另一個從,效率快

MySQL主從同步配置
1. 主從同步的定義
主從同步使得數(shù)據(jù)可以從一個數(shù)據(jù)庫服務(wù)器復(fù)制到其他服務(wù)器上
2. 主從同步的機(jī)制(?Master:主服務(wù)器? ? ? ? Slave:從服務(wù)器)

主從核心點(diǎn):
write時——>Master里會有數(shù)據(jù)——>Date changes會記錄——>向二進(jìn)制的log文件寫入如何改的、改了什么——>從服務(wù)器需要配置——>用I/O thread多線程的方式進(jìn)行I/O操作(讀-寫、網(wǎng)絡(luò)收-發(fā))——>拿到數(shù)據(jù)——>把拿到的數(shù)據(jù)與之前的比對——>進(jìn)行更改——>數(shù)據(jù)一致
完成主從要點(diǎn):
1.? ? 配置主服務(wù)器log文件
2.? ? 給主、從分別配置唯一的序列號,并用命令告訴主應(yīng)改把誰當(dāng)成主服務(wù)器從而去那里不斷請求,這時就同步了
如何導(dǎo)數(shù)據(jù)?

windows為主,Ubuntu為從的配置

配置主:
打開C:\ProgramData\MySQL\MySQL Server 5.7\my.ini
改為與圖片相符

重啟服務(wù):?home鍵——>搜索服務(wù)——>找到MySQL57——>右鍵——>重新啟動
配置從:
-- 編輯設(shè)置mysqld的配置文件,設(shè)置log_bin和server-id
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
-- 上面不好使用這個(記得權(quán)限:sudo chmod 777 /etc/mysql/mysql.conf.d/mysqld.cnf)
gedit /etc/mysql/mysql.conf.d/mysqld.cnf
改為與下圖一樣

-- 修改之后重啟mysql服務(wù)
sudo service mysql restart
-- 登入主服務(wù)器Windows中的mysql,給從服務(wù)器同步數(shù)據(jù)添加的帳號
-- 登錄主服務(wù)器
mysql –uroot –p2361559775
-- REPLICATION SLAVE:可以讓從服務(wù)器在主服務(wù)器復(fù)制? ON:哪一個數(shù)據(jù)庫的哪一個表 *.*:所有的數(shù)據(jù)庫所有的表 to:給誰 'slave':新用戶名 '%':任意一臺機(jī)器登錄 最后一個引號里是密碼
GRANT REPLICATION SLAVE ON *.* TO 'slave'@'%' identified by 'slave';
-- 刷新權(quán)限才可以
FLUSH PRIVILEGES;
-- 用來找master_log_file和master_log_pos的值
show master status;
-- 查找ip(master_host的值)
ipconfig

-- (從)進(jìn)入Ubuntu的mysql,設(shè)置連接到master主服務(wù)器(賬戶、密碼必須和剛剛創(chuàng)建的一一對應(yīng))master_log_file的值復(fù)制剛剛查到的file的值、 master_log_pos的值復(fù)制查到的Position的值
change master to master_host='192.168.57.1', master_user='slave', master_password='slave',master_log_file='LAPTOP-5VF2SFCR-bin.000001', master_log_pos=600;