MySQL主從設(shè)置
MySQL主從復(fù)制,讀寫分離的設(shè)置非常簡單:
修改配置my.cnf文件
master 和 slave設(shè)置的差不多:
[mysqld]
log-bin=mysql-bin
server-id=222
log-bin=mysql-bin
的意思是:啟用二進制日志。
server-id=222
的意思是設(shè)置了服務(wù)器的唯一ID,默認是1,一般取IP最后一段,可以寫成別的,只要不和其他mysql服務(wù)器重復(fù)就好。
這里,有的MySQL默認的my.cnf
文件引用了/etc/mysql/conf.d
路徑下的所有cnf文件,因此,也可以在/etc/mysql/conf.d
目錄下添加一個cnf文件,添加上以上內(nèi)容
分別重啟master和slave機器的mysql
/etc/init.d/mysql restart
master上建立賬戶并授權(quán)slave,slave上也做好相關(guān)配置
用root用戶分別登錄master和slave機器:
mysql -uroot -p //輸入之后會讓你輸入root密碼,輸入root密碼就算登陸了
master機器上
建立賬戶并授權(quán)slave機器,注意用戶名和密碼,可以隨意設(shè)置,但是一定要記下來,因為后面slave還需要用到
GRANT REPLICATION SLAVE ON *.* to 'ryugou'@'%' identified by 'ryugou';
一般不用root帳號,@'%'表示所有客戶端都可能連,只要帳號,密碼正確,此處可用具體客戶端IP代替,如192.168.145.226,加強安全。
slave機器上
查看master狀態(tài)
在mysql終端輸入
復(fù)制代碼 代碼如下:
change master to master_host='xxx.xxx.xxx.xxx',master_user='ryugou',master_password='ryugou',master_log_file='mysql-bin.000004',master_log_pos=120;
master_log_file就是master機器上的對應(yīng)的內(nèi)容,master_log_pos也是,注意查看master狀態(tài)上的內(nèi)容。
master_user和master_password就是master機器上授權(quán)時設(shè)置用戶名和密碼。
啟動從服務(wù)器
檢查從服務(wù)器復(fù)制功能狀態(tài)
會出現(xiàn)一個列表
主要看Slave_IO_Running和Slave_SQL_Running 這倆狀態(tài)必須都為Yes。
master創(chuàng)建數(shù)據(jù)庫,從服務(wù)器設(shè)置用戶訪問權(quán)限
在master上創(chuàng)建數(shù)據(jù)庫 test,會發(fā)現(xiàn)在slave上也創(chuàng)建了 test,現(xiàn)在想要讀寫分離,slave上的機器某用戶gou可以訪問它,但是只能讀
grant select on test.* to gou;
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:- MySQL主從數(shù)據(jù)庫搭建方法詳解
- 使用Docker容器搭建MySql主從復(fù)制
- MySQL5.7.18主從復(fù)制搭建(一主一從)教程詳解
- mysql 5.7 docker 主從復(fù)制架構(gòu)搭建教程
- 基于Docker的MySQL主從復(fù)制環(huán)境搭建的實現(xiàn)步驟
- MySQL主從搭建(多主一從)的實現(xiàn)思路與步驟