linux mysql热备份_linux中mysql多主一从热备份

前面的文章中http://5148737.blog.51cto.com/5138737/1570274 讲了如何进行linux中的mysql热备份,属于一主一从的情况,但是大部分情况都是多台主机备份到一台从机,节省设备嘛。

找了好久,才找到解决方法,写下来,因为真的忘的很快。

主机的配置都是一样的,修改配置文件,加入server-id 等的配置,重启,创建slave用户并授权,查看master状态,到此主机结束。

接下来就是从机了,也主要是从机了。

因为我们需要对数据库进行change master操作,如果只有一个数据库实例的话,那前者的change master设置的参数,将被后者覆盖,所以,问题来了,如何创建多个数据库实例。

为从机创建多个数据库实例修改从机配置文件

采用的是mysqld_multi的方法,主要修改配置文件/etc/my.cnf,具体的mysqld_multi的用法自己度娘吧,我这里直接贴出我的配置了。# For advice on how to change settings please see

# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html

[mysqld_multi]

mysqld     = /usr/bin/mysqld_safe

user       = root

password   = chinacache.gz

log = /var/lib/mysql/multi.log    

[mysqld3305]     

log-error=/var/lib/mysql3305/mysqld-error.log   

pid-file=/var/lib/mysql3305/mysqld.pid          

datadir=/var/lib/mysql3305                       

socket=/var/lib/mysql3305/mysql.sock            

server-id       = 195                           

log-bin=/var/lib/mysql3305/mysqld-relay-bin

replicate-do-db=cdnquality                      

user       = mysql

[mysqld3306]                            

port            = 3306

log-error=/var/lib/mysql3306/mysqld-error.log

pid-file=/var/lib/mysql3306/mysqld.pid

datadir=/var/lib/mysql3306

socket=/var/lib/mysql3306/mysql.sock

server-id       = 196

log-bin=/var/lib/mysql3306/mysqld-relay-bin

replicate-do-db=vbumng

user       = mysql

2.创建多个数据库实例

mysql_install_db  --datadir=/var/lib/mysql3305 --user=mysql

mysql_install_db  --datadir=/var/lib/mysql3306 --user=mysql

给数据库授予 mysql 用户的权限chown -R  mysql  /var/lib/mysql3305

chown -R  mysql  /var/lib/mysql3306

3.启动多个数据库实例

这里启动不是采用常规的 /etc/init.d/mysqld start 启动,需要采用mysqld_multi的方式启动mysqld_multi --defaults-file=/etc/my.cnf start 3306   //这里的3306对应my.cnf中的模块名

mysqld_multi --defaults-file=/etc/my.cnf start 3305

//可以查看启动状态

netstat -ntlp|grep mysql

ps:如果这里可以看到每个启动的数据库实例的话,那基本就大功告成了。

4.分别进入每个数据库实例,进行change master操作

进入不同的数据库的时候,要指定port或者sockmysql -uroot -p -P 3305  -S /var/lib/mysql3305/mysql.sock

从主机复制需要备份的数据库

对数据库进行change master 配置

启动slave  start slave

查看slave状态     show slave status\G

mysql -uroot -p -P 3306  -S /var/lib/mysql3306/mysql.sock

从主机复制需要备份的数据库

对数据库进行change master 配置

启动slave  start slave

查看slave状态     show slave status\G

ps:进入不同数据库实例后,操作的步骤就一样的,可以参考前面的一主一从的情况

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值