Linux的mysql讀寫分離
作用:web服務器優化
條件:兩臺虛擬機 的mysql
主 master:10.10.&&&.&&
從 slave:10.10.###.##
主數據庫的配置
1. 關閉放防火牆和安全系統模式
systemctl stop firewalld
setenforce 0
2.Mariadb 安裝mariadb-server
yum install mariadb-server
3. 使用yum安裝,默認是寬鬆模式,任何賬號都沒有密碼 都可以登入,配置生產環境。
mysql_secure_installation
4.重啓服務
1.先進入 mysql -uroot -p (數據庫)
(1).創建庫和表
(2).導出表結構傳給從機並導入
導入數據 推出數據 執行
mysqldump -uroot -p demo>/opt/demo.sql
傳送給從機
scp /opt/demo.sql [email protected].###.##:/opt/
操作從機(注意:從機)
創建一個庫 然後退出數據庫,導入
mysql -uroot -p demo</opt/demo.sql
2.重啓服務
systemctl restart mariadb-server
5.在主機配置授權 授權一個賬戶可以連接主機
(注意進入mysql中)
grant replication slave on . to ‘root’@’%’ identified by ‘密碼’ with grant option;
刷新授權
Flush privileges
6.修改主機的配置文件
退出mysql用exit+回車
cd /
vim /etc/my.cnf
在第三行添加
server-id=1 # 設置服務器id 1代表主服務器
log_bin=mysql-bin? # 啓動二進制日誌
binlog-do-db=數據庫名字 # 需要同步的數據庫名字
binlog-ignore-db=mysql # 不同步系統庫
保存退出重啓服務
查看狀態
進入數據庫查看主機的日誌信息
show master status
1. 關閉放防火牆和安全系統模式
systemctl stop firewalld
setenforce 0
2.Mariadb 安裝mariadb-server
yum install mariadb-server
3. 配置生產環境。(和主機一樣)
mysql_secure_installation
4.查看下庫和表是否已經導入
5.修改從機的配置環境文件
exit退出數據庫
cd /
cd /etc/my.cnf
server-id=2 # 設置服務器id 1代表主服務器
log_bin=mysql-bin? # 啓動二進制日誌
binlog-do-db=數據庫名字 # 需要同步的數據庫名字
binlog-ignore-db=mysql # 不同步系統庫
6.保存並重啓服務
7.進入數據庫(mysql -uroot -p)
執行
Change master to master_host=’ip’,master_user=’root’,mater_password=’’,
Master_log_file=’日誌文件的名字’,master_log_pos=大小;
(就是上邊主機的查看日誌信息)
(This operation cannot be performed with a running slave; run STOP SLAVE first)遇到這種情況
salve stop
8.執行開始備份
slave start ;
show slave status\G;
檢測
在主機插入一段數據
在從機上讀