mysql的主从复制架构,需要准备两台机器,并且可以通信,安装好2个mysql,保持版本一致性
mysql -v 查看数据库版本
1.准备主库的配置文件 /etc/my.cnf
写入开启主库的参数
[mysqld]
# 标注 主库的身份id
server-id=1
# 那个binlog的文件名
log-bin=s15mysql-bin
2.重启mairadb,读取配置文件
systemctl restart mariadb
3.查看主库的状态
mysql -uroot -p
# 这个命令可以查看日志文件的名字,以及数据起始点
show master status;
4.创建用于主从数据同步的账户
create user 'apollo'@'%' identified by 'admin';
5.授予主从同步账号的,复制数据的权限
grant replication slave on *.* to 'yuanhao'@'%';
6.进行数据库的锁表,防止数据写入
flush table with read lock;
7.将数据导出
mysqldump -u root -p --all-databases > /opt/zhucong.dump
8.然后将主库的数据,发送给从库
scp /opt/zhucong.dump root@从库:/opt/
9.此时去从库的mysql上,登录,导入主库的数据,保持数据一致性
mysql -uroot -p
source /opt/zhucong.dump
################ 从库的配置 ################
1.写入my.cnf,从库的身份信息
vi /etc/my.cnf
[mysqld]
server-id=10
2.检查一下主库和从库的 参数信息
show variables like 'server_id';
show variables like 'log_bin';
3.通过一条命令,开启主从同步
change master to master_host='192.168.13.78',
master_user='yuanhao',
master_password='yuanhaobuxitou',
master_log_file='s15mysql-bin.000001',
master_log_pos=571;
4.开启从库的slave同步
start slave;
5.查看主从同步的状态
show slave status\G;
6.查看两条参数,确保主从正常
Slave_IO_Running:Yes
Slave_SQL_Running:Yes