主IP:192.168.0.21
從IP:192.168.0.55
主數(shù)據(jù)庫上執(zhí)行:
創(chuàng)建賬號并授權(quán)給從數(shù)據(jù)庫
create user 'hanao'@'192.168.0.55' identified by 'hanao.';
grant replication slave on *.* to 'hanao'@'192.168.0.55';
flush privileges;
vim /etc/my.cnf
server-id=1??//唯一id苹熏,主數(shù)據(jù)庫必須比從數(shù)據(jù)庫小
log-bin=mysql_bin??//logbin文件
service mysqld restart
登錄數(shù)據(jù)庫:show master status;
從數(shù)據(jù)庫上執(zhí)行:
vim /etc/my.cnf
server-id=2? //唯一id,主數(shù)據(jù)庫必須比從數(shù)據(jù)庫小
relay-log=slave_relay_bin? //中繼日志文件,用來存放I/O線程獲取的日志信息
service mysqld restart
登錄數(shù)據(jù)庫:
change master to
master_host='192.168.0.21',??//主數(shù)據(jù)庫的ip
master_user='hanao',??//主數(shù)據(jù)庫授權(quán)的遠(yuǎn)程登錄賬號
master_password='hanao.',??//主數(shù)據(jù)庫授權(quán)的遠(yuǎn)程登錄密碼
master_log_file='mysql_bin.000001',??//主數(shù)據(jù)庫的日志文件
master_log_pos=154;??//主數(shù)據(jù)庫日志文件中的pos值
start slave;
show slave status\G;
測試
主庫:
show databases;
create database hanao;
use hanao;
create table student(id int not null,name varchar(100));
insert student(id,name) values(1,'hanao'),(2,'ha');
從庫:
show databases;
use hanao;
select * from student;
借鑒:https://blog.csdn.net/h1228322088/article/details/116673275
坑1:
顯?如下情況:
Slave_IO_Running: Yes
Slave_SQL_Running: No
表?slave不同步
解決?法?(忽略錯(cuò)誤菜皂,繼續(xù)同步):
1、先停掉slave
mysql> stop slave;
2障簿、跳過錯(cuò)誤步數(shù)矛渴,后?步數(shù)可變
mysql> set global sql_slave_skip_counter=1;
3、再啟動(dòng)slave
mysql> start slave;
--------------------------------------------------------
借鑒鏈接:https://wenku.baidu.com/view/4ea6ac28a5c30c22590102020740be1e650eccb3.html
坑2:
顯?如下情況:
Slave_IO_Running: NO
Slave_SQL_Running: yes
來到從服務(wù)器的mysql净刮;
stop slave;
change master to master_log_file='mysql-bin.000012',master_log_pos=154;//這里的file和pos都是上面主服務(wù)器master顯示的。
start slave;//這時(shí)候就應(yīng)可以了
show slave status \G;//結(jié)果如下: