1. 程式人生 > >mysql資料庫讀寫分離安裝配置

mysql資料庫讀寫分離安裝配置

1.在兩臺伺服器上安裝mysql

2.開啟mysql資料庫配置檔案
vim /etc/my.cnf
2.1 在主伺服器master上配置開啟Binary log,主要是在[mysqld]下面新增:
server-id=1
log-bin=master-bin
log-bin-index=master-bin.index
 


3.重啟mysql服務
service mysql restart
 

4.檢查配置效果,進入主資料庫並執行
mysql> SHOW MASTER STATUS;

這裡面的File名:master-bin.000001 我們接下來在從資料庫的配置會使用:

5.配置從伺服器的 my.cnf
在[mysqld]節點下面新增: 


server-id=2
relay-log-index=slave-relay-bin.index
relay-log=slave-relay-bin

這裡面的server-id 一定要和主庫的不同,

配置完成後同樣重啟從資料庫一下

service mysql restart

6.接下來配置兩個資料庫的關聯
首先我們先建立一個操作主從同步的資料庫使用者,切換到主資料庫執行:

mysql> create user repl;
mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'從xxx.xxx.xxx.xx' IDENTIFIED BY 'mysql';
mysql> flush privileges;

這個配置的含義就是建立了一個數據庫使用者repl,密碼是mysql, 在從伺服器使用repl這個賬號和主伺服器連線的時候,就賦予其REPLICATION SLAVE的許可權, *.* 表面這個許可權是針對主庫的所有表的,其中xxx就是從伺服器的ip地址。 
進入從資料庫後執行:

mysql> change master to master_host='主xxx.xxx.xxx.xx',master_port=3306,master_user='repl',master_password='mysql',master_log_file='master-bin.000001',master_log_pos=0;

這裡面的xxx是主伺服器ip,同時配置埠,repl代表訪問主資料庫的使用者,上述步驟執行完畢後執行start slave啟動配置:

mysql> start slave;
 

停止主從同步的命令為:

mysql> stop slave;

檢視狀態命令,\G表示換行檢視

mysql> show slave status \G; 

可以看到狀態如下: 

這裡看到從資料庫已經在等待主庫的訊息了,接下來在主庫的操作,在從庫都會執行了。我們可以主庫負責寫,從庫負責讀(不要在從庫進行寫操作),達到讀寫分離的效果。

我們可以簡單測試:
在主資料庫中建立一個新的資料庫:

mysql> create database testsplit;

在從資料庫檢視資料庫:

mysql> show databases;

轉載:
https://blog.csdn.net/starlh35/article/details/78735510