mysql 讀寫分離,主從同步 M-S 搭建

來源:互聯網
上載者:User

標籤:ble   host   bin   狀態   主從   http   ica   show   檔案   

主機:

[[email protected] ~]# mysql -usystem -p123456

mysql> create database HA;

mysql> use HA;

mysql> create table T1(id int,name varchar(20));

service mysqld stop     停庫鎖表

配置my.cnf:

vim /etc/my.cnf

vim /etc/my.cnf

log-bin=mysql-bin-master  #啟用二進位日誌

server-id       = 1   #本機資料庫ID 標示

binlog-do-db=HA #可以被從伺服器複製的庫。二進位需要同步的資料庫名

binlog-ignore-db=mysql  #不可以被從伺服器複製的庫

重啟mysql:

service mysqld restart

[[email protected] ~]# mysql -usystem -p123456

授權:

mysql> grant replication slave on *.* to [email protected] identified by "123456";

mysql> flush privileges;

查看狀態資訊:
mysql> show master status;

mysql> show binlog events\G

 

同步前要保證兩台機器資料一致。

[[email protected] ~]# mysqldump -usystem -p123456 HA >HA.sql

[[email protected] ~]# scp HA.sql [email protected]:/root/

 

從機:

[[email protected] ~]# mysql -usystem -p123456

mysql> create database HA;

mysql -usystem -p123456 HA<HA.sql

修改從伺服器設定檔:

[[email protected] ~]# vim /etc/my.cnf
server-id = 2

重啟mysqld

[[email protected] ~]# service mysqld restart

[[email protected] ~]# mysql -usystem -p123456

mysql>change master to master_host=‘192.168.31.130‘,master_user=‘slave‘,master_password=‘123456‘;

mysql> start slave; 

mysql> show slave status\G  查看狀態

Slave_IO_Running :一個負責與主機的io通訊
Slave_SQL_Running:負責自己的slave mysql進程
再到主伺服器上查看狀態:
mysql> show processlist \G

主機:

mysql> insert into T1 values(1,‘ccc‘);
Query OK, 1 row affected (0.01 sec)

mysql> select * from T1;
+------+------+
| id | name |
+------+------+
| 1 | qqq |
| 1 | ccc |
+------+------+
2 rows in set (0.00 sec)

 從機:

mysql> select * from T1;
+------+------+
| id | name |
+------+------+
| 1 | qqq |
| 1 | ccc |

 

如果遇到主從不同步,看一下主從bin-log的位置,然後再同步。

從伺服器執行MySQL命令下:

mysql> slave stop;             #先停止slave服務

mysql> change master to master_log_file=‘mysqllog.000004‘ ,master_log_pos=106;

#根據上面主伺服器的show master status的結果,進行從伺服器的位元據庫記錄迴歸,達到同步的效果

mysql>slave start;                      #啟動從伺服器同步服務

mysql> show slave status\G;          #用show slave status\G;看一下從伺服器的同步情況

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

如果都是yes,那代表已經在同步

 

mysql 讀寫分離,主從同步 M-S 搭建

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.