1:主数据库
1.1:当主数据中已经有数据时,我们执行备份命令将数据库进行备份好,或者转储sql语句以便在从库中恢复。(现在就在从数据中执行此文件恢复数据,以便忘了。)
1.2:找到/etc/my.cnf文件,添加以下参数
级联参数
log-slave-updates =1
需要备份的数据名称
binlog-do-db=jeecg-boot
备份的日志log路径
log-bin=/var/log/mysql/mysql-bin.log
# STATEMENT:基于sql语句级别,记录每一条修改数据的sql语句。mysql默认采用策略
# ROW:基于行的级别。记录每一行记录的变化,也即记录每一行的修改都记录binlog中,不记录sql语句。记录数据行 的变化。在全表修改的时候,会产生大量的日志记录
# MIXED:上述两种混合模式。默认使用STATEMENT,特殊情况下切换ROW。比如DML更新INNODB表
binlog_format=mixed
server-id = 1
expire_logs_days = 10
1.3:重启服务
sudo service mysql restart
1.4:登录主服务器数据创建用于从服务器同步数据使用的账号
GRANT REPLICATION SLAVE ON *.* TO 'slave'@'%' identified by 'slave';
FLUSH PRIVILEGES;
1.5:获取主服务器的二进制日志信息
SHOW MASTER STATUS;
2:从数据库
2.1:打开从数据库的my.ini文件,添加一下参数
#日志文件路径
log-bin=mysql-bin
#同步的数据库名
replicate-do-db=jeecg-boot
# Server Id数据库唯一服务号
server-id=2
2.2:重启从数据库
2.3:连接到从数据库 (修改ip,账号,密码,log_file,pos)
change master to master_host='192.168.204.129', master_user='slave', master_password='slave',master_log_file='mysql-bin.000001', master_log_pos=590;
2.4:开启同步
start slave;
2.5:查看同步状态