《面試篇》Http協議
阿新 • • 發佈:2020-12-28
一、環境介紹
系統:CentOS Linux release 7.9.2009 (Core)
資料庫MySQL版本:5.6.50-log
資料庫連線工具Navicat
終端工具SecureCRT
master(194.168.2.103) slave(194.168.2.104)
二、建立測試資料庫
-- 建立資料庫
create database data_test;
-- 檢視資料庫
show databases;
三、修改master配置檔案
#編輯
vi /etc/my.cnf
#新增 #日誌檔名稱 log-bin=mysql-bin #伺服器編號 server-id=1 #日誌檔案格式,非必須 binlog-format= ROW #對應需要實現主從複製的資料庫(沒有出建立,如果沒建立也可以等配置完成後建立) binlog_do_db= data_test #資料庫名字 如果有多個以空格隔開db1 db2 db3 #binlog-ignore-db= #不同步的資料 如果有多個以空格隔開db1 db2 db3 .... #為了在使用帶事務的InnoDB進行復制設定時儘可能提高永續性和一致性 #當設定為0,該模式速度最快,但不太安全,mysqld程序的崩潰會導致上一秒鐘所有事務資料的丟失。 #當設定為1,該模式是最安全的,但也是最慢的一種方式。在mysqld 服務崩潰或者伺服器主機crash的情況下,#binary log 只有可能丟失最多一個語句或者一個事務。。 #當設定為2,該模式速度較快,也比0安全,只有在作業系統崩潰或者系統斷電的情況下,上一秒鐘所有事務資料才可能丟失。 innodb_flush_log_at_trx_commit= 2 #表示每次事務提交,MySQL都會把binlog刷下去,是最安全但是效能損耗最大的設定 #sync_binlog=0,表示MySQL不控制binlog的重新整理,由檔案系統自己控制它的快取的重新整理。這時候的效能是最好的,但#是風險也是最大的。因為一旦系統Crash,在binlog_cache中的所有binlog資訊都會被丟失。 #sync_binlog>0,表示每sync_binlog次事務提交,MySQL呼叫檔案系統的重新整理操作將快取刷下去。 sync_binlog= 1
四、檢視skip_networking
開啟該選項後就不能遠端訪問MySQL
確保在主伺服器上 skip_networking 選項處於 OFF 關閉狀態, 這是預設值。
如果是啟用的,則從站無法與主站通訊,並且複製失敗。
show variables like '%skip_networking%';
五、建立從庫連線主庫的使用者
#建立
create user 'slave1'@'%' identified by '123345';
#賦權,更改遠端連線
GRANT REPLICATION SLAVE ON *.* TO 'slave1'@'%'
六、Slave配置
vi /etc/my.conf
#日誌檔名字
log_bin= mysql-bin
#日誌檔案格式
binlog-format= ROW
#伺服器的id,是唯一的
server-id= 2
#雙主互相備份(表示從伺服器可能是另外一臺伺服器的主伺服器)
log-slave-updates= true
七、重啟主從資料庫
systemctl restart mysqld
八 、配置並驗證
#Master資料庫
show master status;
#配置slave伺服器連線master引數,和引數為查詢主庫的引數 -- MASTER_HOST 主伺服器的主機名(也可以是 IP) -- MASTER_USER 連線到主伺服器的使用者 -- MASTER_PASSWORD 到主伺服器的密碼 -- MASTER_PORT 埠號 -- MASTER_LOG_FILE 檔名稱 -- MASTER_LOG_POS 檔案位置偏移量,執行位置 CHANGE MASTER TO MASTER_HOST='192.168.2.103',MASTER_USER='slave1',MASTER_PASSWORD='123345',MASTER_PORT=3306,MASTER_LOG_FILE='mysql-bin.000002',MASTER_LOG_POS=961;
#如果上一步配置錯誤修改方法為
CHANGE MASTER TO MASTER_HOST='192.168.2.103',MASTER_USER='slave1',MASTER_PASSWORD='123345',MASTER_PORT=3306,MASTER_LOG_FILE='mysql-bin.000002',MASTER_LOG_POS=407;
# 啟動從庫
start slave;
# 停止
stop slave;
#檢視從庫
show slave status;
九、記錄錯誤
由於設定master資料庫密碼導致
重新設定
CHANGE MASTER TO MASTER_HOST='192.168.2.103',MASTER_USER='slave1',MASTER_PASSWORD='123345',MASTER_PORT=3306,MASTER_LOG_FILE='mysql-bin.000002',MASTER_LOG_POS=407;