美文网首页
mysql主从

mysql主从

作者: Edenzj | 来源:发表于2019-08-24 17:28 被阅读0次

db01服务器

1.修改mysql配置文件

#vim /etc/my.cnf
在[mysqld]部分插入如下两行:
[mysqld] 
log-bin=mysql-bin  #开启二进制日志 
server-id=1         #设置server-id

2.重启mariadb,创建同步的用户账号

重启数据库
systemctl restart mariadb.service
打开mariadb
mysql -u root -p123456
创建有复制权限的用户账号                   
GRANT REPLICATION SLAVE ON *.* TO 'db02'@'172.16.1.52' IDENTIFIED BY '123456';
刷新
flush privileges;

3..查看master状态

重启服务
systemctl restart mariadb.service 
查看状态
mysql -u root -p123456
SHOW MASTER STATUS; 

4.操作完成将主数据库的所有数据移出库,传输到db02服务器

导出数据库
mysqldump -uroot -p123456-A  > /tmp/backup.sql
远程传输
scp -rp /tmp/backup.sql  172.16.1.52:/tmp 

db02服务器

1.下载数据库

yum install mariadb-server mariadb -y
systemctl start mariadb.service 
systemctl enable mariadb.service

2.编辑mysql的配置文件,重启服务

# vim /etc/my.cnf
[mysqld]
log-bin=relay-bin
server-id=2              #server-id是要指定的,不然会报错,每一台指定一个唯一标识符
systemctl restart mariadb.service

3.进入数据库将主数据库数据导入从数据库中

设置mysql密码
mysqladmin -uroot password "123456"
不用进数据库修改
mysql -uroot -p123456 </tmp/backup.sql
进数据库
mysql -u root -p123456
将主数据库数据导入从数据库中           
source /tmp/backup.sql;  
查看是否成功 
show databases;
刷新
flush privileges;
重启服务                
systemctl restart mariadb.service   

4.打开mysql会话,执行同步SQL语句,要看db01的MASTER_LOG_FILE和MASTER_LOG_POS是多少

CHANGE MASTER TO  
MASTER_HOST='172.16.1.51',
MASTER_USER='db02',
MASTER_PASSWORD='123456',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS= 553;   

5 .验证是否成功

要看到有2个yes才可以
查看状态
show slave status\G;               
启动slave同步进程
start slave; 
验证是否成功
show slave status\G;

未经博主允许,不得转载

相关文章

网友评论

      本文标题:mysql主从

      本文链接:https://www.haomeiwen.com/subject/zguqectx.html