標籤: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 搭建