参考链接
主从复制
前期准备
首先需要准备两台服务器,一主一从,MySQL服务器的搭建教程——安装5.6rpm包、安装5.7rpm包、安装8.0安装包
首先:将主服务器加锁或关闭mysql,禁止主服务器进行写操作,将数据备份到从服务器
服务器加锁语句:
flush table with read lock; //加读锁
备份主服务器上的数据库SQL文件(主服务器备份到从服务器)
mysqldump -uroot -p --all-databases > all_db.sql
scp all_db.sql mysqlback.dmsd.tech:/home/admin
scp “文件名” “服务器地址+备份路径”
操作过程:
1、主服务器配置
show master status
在my.cnf文件中开始binglog日志并设置server_id(my.cnf路径:/etc/my.cnf)]
[mysqld] //在mysqld下设置binlog日志
#设置binlog日志
log-bin=/var/lib/mysql/mysql-bin //启动二进制日志并设置日志地址
server-id=1 //服务器的唯一标识,主从服务器之间不能相同
进入mysql
create user 'prodback' identified by 'prodback'; //user为用户名 identified为密码
grant replication slave on *.* to 'prodback'; //对新建的用户进行授权
flush privileges; //刷新授权表,刷新后授权生效
2、从服务器配置
在my.cnf文件中设置server-id,路径:cd /usr/my.cnf
[mysqld] //在mysqld下添加配置
port=3306
server-id=2 //从服务器配置文件要加入的内容,设置唯一标识
change master to
master_host='mysql.dmsd.tech', //从服务器的主机
master_user='prodback',//执行复制用户名--为主机上新建的授权用户
master_password='prodback',//执行复制用户密码
master_log_file='mysql-bin.000002',//二进制日志文件名
master_log_pos='6041255';//复制开始位置,这个位置之前的操作不会被备份到从机,
4、验证从服务器是否连接上主服务器
show slave status\G
5、验证主服务器和从服务器是否进行同步
6、从服务器执行同步后进行主服务器解锁操作
unlock tables;