環境:Centos 6.9,Mysql 8.0mysql
配置準備:一、爲Centos配置好網絡,使用遠程工具鏈接。sql
二、安裝mysql,途徑不限。mysql8.0和5.7區別不大,8.0在配置主從的時候默認開啓了binlog,5.7手動起一下就好,下文有啓動方法。(我使用rpm包安裝,安裝後要先啓動msyql服務,命令service mysqld start)數據庫
三、mysql安裝後的默認密碼在 /etc/my.cnf 中 log-error配置項所指向的log地址中 /var/log/mysqld.log vim
主從複製安全
好處:多節點性能變優,安全性更高,提升服務器負載。服務器
應用場景:數據庫備份、讀寫分離網絡
步驟: 首先。肯定一個主節點master,其餘爲從節點slave。ide
一、配置主節點。建立用戶授予權限;若是binlog沒開啓,打開binlog日誌;工具
二、配置從節點。配置同步日誌;肯定主節點的ip,端口,用戶;啓動從節點;性能
主節點(Master):
修改mysql配置文件,vim /etc/my.cnf 配置server-id的值,與從節點不能重複。
建立建立一個用戶。 create user 'repl'@'192.168.110.%' identified by 'Repl_123456';
在主服務器賦予它 replication slave 權限。grant replication slave on *.* to 'repl'@'192.168.110.%';
mysql 日誌類型:
Error log 錯誤日誌
General query log普通查詢日誌
Slow query log 慢查詢日誌(記錄哪些查詢比較慢 )
Binary log二進制日誌文件(一、用於增量備份。二、主從)
查看是否已開啓binlog:show variables like '%log_bin%';
若是沒開啓,配置 :vim /etc/my.cnf加上 server-id=1(多臺節點值不能重複)和 log_bin=/var/lib/mysql/mysql-bin 保存退出 重啓mysql服務。
查看binlog日誌:在mysql中 show binlog events in '文件名'; 在系統中 mysqlbinlog 文件名;
每次從新啓動mysql都會新建一個binlog。查看當前是哪一個binlog文件:show master status;
show msater logs;(查看全部日誌文件),reset master(清空全部日誌文件)
binlog日誌恢復數據
mysqlbinlog 文件名 | mysql -u root -p
從節點(Slave):
修改mysql配置文件,vim /etc/my.cnf
配置server_id(不能與主節點重複,且必須爲數字)
配置同步日誌路徑relay-log=/var/lib/mysql/relay-bin
進入mysql執行
mysql> CHANGE MASTER TO -> MASTER_HOST='192.168.110.66', -> MASTER_USER='repl', -> MASTER_PASSWORD='Repl_123456', -> MASTER_LOG_FILE='binlog.000007', -> MASTER_LOG_POS=0; Query OK, 0 rows affected, 2 warnings (0.01 sec) mysql> START SLAVE; Query OK, 0 rows affected (0.00 sec)
show slave status\G;檢查是否已連接上主節點,根據裏面的錯誤信息修改配置。確保master防火牆關閉,/var/lib/mysql/auto.cnf裏的uuid不重複。
若是出現Slave_Io_Running:yes但Slave_SQL_Running:No的狀況執行
mysql> stop slave;
mysql> set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
mysql> start slave;
配置成功!
主主複製其實的意思就是節點直接互爲主從複製。
在配置好主從以後再去配置從節點,反向配置一遍主從。