cacti mysql数据库的备份(1)(2)
2 同步的建立
2.1 主服务器上的更改
vi /etc/my.cnf
log-bin #启动支持replication的二进制日志
binlog-do-db=cacti #指出要备份的数据库名称
server-id=1 #指出此数据库为主数据库
binlog-ignore-db=mysql #不备份mysql数据库
注意:如果想做复杂的结构:比如说A备份到B,B再备份到C,那么B除了打开log-bin,还要打开log-slave-updates
2.2 从服务器上的配置更改
vi /etc/my.cnf
server-id=2
master-host=主机
master-user=用户名
master-password=密码
master-port=端口
replicate-do-db=需要复制的数据名
replicate-ignore-db=需要复制的数据库名
2.3 在主数据库上建立同步用户。
grant replication slave on *.* to qxt@"%" identified by "qxt";
grant replication client,reload,super on *.* to qxt@"%"
flush privileges;
#修改权限后需要刷新才能生效
2.4 利用热备份将本地数据库拷贝到从数据库上
2.4.1 数据库的导出
mysqldump -u root -p cacti > /root/cacti.sql
#mysqldump将cacti数据库的所有数据导出
scp /root/cacti.sql IP:/root
#将主数据库文件拷贝到从数据库所在的机器上
并在上面执行
mysql -u root -p cacti < /root/cacti.tzt
#装载数据库
2.5 锁住主数据库保证备份时没有数据进入主库干扰备份
flush tables with read lock;
停止主服务器上的mysql服务
mysqladmin -u root shutdown
注意:如果表的类型只是mylsam,可以不停止mysql数据库,但复制过程中要锁住,如果表类型是InnoDB则必须停止主数据库。查看)(show table status from cacti;)
2.6 查看主库状态
show master status;
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000008 | 59170349 | | |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)
2.7 启动复制过程
start slave;
2.8 解锁
unlock tables;
评论暂时关闭