加入收藏 | 设为首页 | 会员中心 | 我要投稿 财气旺网 - 财气网 (https://www.caiqiwang.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

Mysql多主一从数据备份的方法教学

发布时间:2022-03-02 14:35:22 所属栏目:MySql教程 来源:互联网
导读:对任何一个数据库的操作都自动应用到另外一个数据库,始终保持两个数据库中的数据一致。 这样做有如下几点好处: 可以做灾备,其中一个坏了可以切换到另一个。 可以做负载均衡,可以将请求分摊到其中任何一台上,提高网站吞吐量。 对于异地热备,尤其适合灾
Mysql多主一从数据备份的方法教学
        对任何一个数据库的操作都自动应用到另外一个数据库,始终保持两个数据库中的数据一致。
 
       这样做有如下几点好处:
 
      可以做灾备,其中一个坏了可以切换到另一个。
      可以做负载均衡,可以将请求分摊到其中任何一台上,提高网站吞吐量。 对于异地热备,尤其适合灾备。
      MySQL 主从复制的方式
 
1 Master 数据库操作的任何数据库的时候,都会将操作记录写入到biglog日志文件当中
2 Slave 数据库通过网络获取到主数据库的日志文件,写入本地日志系统 ,然后一条条的将数据库事件在数据库中完成
3 Slave 重做中继日志中的事件,将 Master 上的改变反映到它自己的数据库中,所以两端的数据是完全一样的。
 
环境
 
操作系统:CentOS
 
MySQL版本:mysql-5.6.26 (主从两者数据库版本必须保持一致)
 
Master1 配置
1 开启binlog日志功能
 
vim /etc/my.cnf
 
server-id=6
log-bin=mysql-bin
2 重启mysql 登陆并授权
 
mysql -uroot -p123456
 
grant replication slave, replication client on *.* to 'repl'@'10.211.55.7' identified by '123456';
ip地址为slave服务器的ip地址
 
3 查看日志状态
 
show master status;
 
Master2 配置
1 开启binlog日志功能
 
vim /etc/my.cnf
 
server-id=8
log-bin=mysql-bin
2 重启mysql 登陆并授权
 
mysql -uroot -p123456
 
grant replication slave, replication client on *.* to 'repl'@'10.211.55.7' identified by '123456';
ip地址为slave服务器的ip地址
 
3 查看日志状态
 
show master status;
 
Slave 配置
1 修改配置文件 (注意 slave的默认数据库启动的端口必须关闭 service mysql stop)
 
vim /etc/my.cnf
 
[mysqld]
 binlog-ignore-db=mysql
 binlog_format=mixed
 expire_logs_days=7
 slave_skip_errors=1062
 relay_log=mysql-relay-bin
 log_slave_updates=1
 
[mysqld_muliti]
 mysqld=/usr/bin/mysqld_safe
 mysqladmin=/usr/bin/mysqladmin
 user=root
 password=123456
[mysqld6]
 port=3306
 datadir=/home/mysql/data6
 pid-file=/home/mysql/data6/mysql.pid
 socket=/home/mysql/data6/mysql.sock
 user=mysql
 server-id=7
[mysqld8]
 port=3307
 datadir=/home/mysql/data8
 pid-file=/home/mysql/data8/mysql.pid
 socket=/home/mysql/data8/mysql.sock
 user=mysql
 server-id=7
2 初始化生成目录
 
/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/home/mysql/data6 &
/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/home/mysql/data8 &
3 修改目录权限
 
chown -R mysql /home/mysql/data6
 
chown -R mysql /home/mysql/data8
4 启动服务
 
mysqld_multi --defaults-file=/etc/my.cnf start 6
 
mysqld_multi --defaults-file=/etc/my.cnf start 8
5 登录测试(并分别做授权)
 
mysql -P 3306 -S /home/mysql/data6/mysql.sock
 
mysql> change master to master_host='10.211.55.6', master_user='repl', master_password='123456', master_port=3306, master_log_file='mysql-bin.000001', master_log_pos=120;
mysql> start slave;
mysql -P 3307 -S /home/mysql/data8/mysql.sock
 
mysql> change master to master_host='10.211.55.8', master_user='repl', master_password='123456', master_port=3306, master_log_file='mysql-bin.000001', master_log_pos=120;
mysql> start slave;
ok 就这样 完成了
 
总结
 
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值。

(编辑:财气旺网 - 财气网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!