mysql主从配置

初衷

在一次项目中需要mysql主从配置,依此记录方便日后查看

修改my.cnf

[mysqld]加入下面的内容:
#切换到root用户 su root
打开mysql配置文件/etc/my.cnf,在[mysqld]加入如下内容:
[mysqld]
服务的唯一编号 server-id=1
开启mysql binlog功能 log-bin=mysql-bin
binlog记录内容的方式,记录被操作的每一行 binlog_format = ROW
减少记录日志的内容,只记录受影响的列 binlog_row_image = minimal
指定需要复制的数据库名(多个重复行)为db1/db2/db3
binlog-do-db=db1
binlog-do-db=db2
binlog-do-db=db3

重启mysql的服务

重启mysql 服务(需要用sudo高权)sudo service mysqld restart

创建主从同步账号

登录mysql数据库 mysql -u root -p
创建主从数据库复制用户名/密码(data/Data#123),红色需要修改为从库ip
grant replication slave on . to 'data'@'从库ip' identified by 'Data#123';
刷新权限信息 flush privileges;
mysql终端执行如下命令 show master status\G;

从库配置

从库相关,如下相关命令均在此服务器执行。
删除从库auto.cnf配置文件(因主从复制server-id不可一样,故需要删除从auto.cnf,让其重新生成)
切换到root用户 su root
停止mysql服务 sudo service mysqld stop
备份auto.cfg配置 mv /home/mysql57/data/auto.cnf /home/mysql57/data/auto.cnf.bak
重启服务 sudo service mysqld start

修改my.cnf文件,在[mysqld]加入下面的内容

[mysqld]
########slave database config########
#slave server-id
server-id = 2
log-bin = mysql-bin
binlog_format = ROW
binlog_row_image = minimal
binlog-do-db=di1
binlog-do-db=db2
binlog-do-db=db3
重启mysql 服务(需要用sudo高权) sudo service mysqld restart

执行主从同步命令

特别说明:如下命令黄色标识部分,请参考主库配置中 4步中的 file和posion对应的值;
登录mysql数据库 mysql -u root -p
执行同步命令(红色为主库IP、同步用户名及密码),master_log_file,master_log_pos,请参考主库查询结果填写。
change master to master_host='从库ip',master_user='data',master_password='Data#123',master_log_file='mysql-bin.000002(主库查询结果File)',master_log_pos=880(主库查询结果Position);
开启同步功能 start slave;
查看从库状态 show slave status\G;
注意:Slave_IO_RunningSlave_SQL_Running的状态都为Yes时,说明从库配置成功。

主从验证

主库操作数据库从库同步 正确,从库操作数据库主库未变 正确

卸载步骤

停用mysql服务 sudo systemctl stop mysqld
查看mysql相关安装服务 sudo rpm -qa|grep -i mysql
通过rpm -e xxx –-nodeps 卸载掉 (需要用sudo高权)

sudo rpm -e mysql-community-client-5.7.28-1.el7.x86_64 --nodeps
sudo rpm -e mysql-community-libs-5.7.28-1.el7.x86_64 --nodeps
sudo rpm -e mysql-community-server-5.7.28-1.el7.x86_64 --nodeps
sudo rpm -e mysql-community-common-5.7.28-1.el7.x86_64 --nodeps
sudo rpm -e mysql-community-devel-5.7.28-1.el7.x86_64 --nodeps
删除残余文件
sudo rm -rf /etc/my.cnf
sudo rm -rf /home/mysql57

DB数据库自动备份

为保证mysql数据的安全性,系统在从库上设置定时任务进行数据自动备份,防止数据丢失给系统造成不可恢复的损失
创建mysql备份目录 mkdir /home/mysql57_backup
创建mysql备份shell脚本目录 mkdir /home/mysql57_backup_shell放入脚本
授权可执行权限 chmod 777 *
执行备份操作 执行脚本
配置自动定时任务信息 crontab -e
内容如下(每2小时备份一次)
0 */2 * * * /bin/bash /home/mysql57_backup_shell/mysql_backup.sh
查看定时任务 crontab -l

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值