重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
一. 准备服务器
创新互联建站是一家专注于成都网站设计、成都做网站与策划设计,随州网站建设哪家好?创新互联建站做网站,专注于网站建设十余年,网设计领域的专业建站公司;建站业务涵盖:随州等地区。随州做网站价格咨询:028-86922220
准备两台主机,分别安装好Mysql (要相同版本),确定版本无误,确保mysql服务正常启动,确保两台主机处于同一个局域网中,确定好哪台做为主、备机器,假设A为主机,B为备机,假设:
A主机IP地址为:172.16.16.90 端口3306
B主机IP地址为: 172.16.99.98 端口3306
二. Mysql建立主-从服务器热备配置步骤
1. 创建同步用户
进入MySql操作界面,在主服务器上为从服务器建立一个连接帐户,该帐户必须授予REPLICATION SLAVE权限。
操作指令如下:
1) grant select,replication slave on *.* to 'replicate'@'172.16.99.98' identified by '1234567';
2) flush privileges;
2. 修改Mysql配置
如果上面的准备工作做好,就可以进行对Mysql配置文件进行修改了,首先找到主服务器Mysql安装文件所有在目录,找到my.ini文件用记事本打开。在[mysqld]下增加如下内容:
server-id = 1
log-bin=mysql-bin
binlog-do-db =test #需要备份的数据库,多个写多行
binlog-ignore-db = mysql #不需要备份的数据库,多个写多行
3. 重启mysql服务
修改完配置文件保存后,重启一下mysql服务。
4. 查看主服务器状态
进入A服务器Mysql 客户端输入命令
1)Show master STATUS;
2)返回结果如下:
注意看里面的参数,特别前面两个File和Position,在从服务器(Slave)配置主从关系会有用到的。
5. 从服务器Slave配置修改配置文件
因为这里面是以主-从方式实现mysql双机热备的,所以在从服务器就不用在建立同步帐户了,直接打开配置文件my.ini进行修改即可,道理还是同修改主服务器上的一样,只不过需要修改的参数不一样。
如下:
[mysqld]
server-id = 2
log-bin=mysql-bin
replicate-do-db = test
replicate-ignore-db =mysql
6. 重启mysql服务
修改完配置文件保存后,重启一下mysql服务。
7. 配置从服务器
先停止slave服务线程,这个是很重要的,如果不这样做会造成下面操作不成功,再用change mster 语句指定同步位置,操作如下:
1) stop slave;
2) change master to master_host='172.16.16.90',
master_user='replicate',master_password='1234567',master_port=3306,
master_log_file='mysql-bin.000001',master_log_pos=98;
3) start slave
4) show slave status
查看下面两项值均为Yes,即表示设置从服务器成功。
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
数据库的自动备份,可以减轻维护者的工作量也便于系统恢复,对于比较重要的数据库,最好还是设置下自动备份。
工具/原料
navicat for mysql
mysql 5.5
方法/步骤
打开navicat客户端,连上mysql后,双击左边你想要备份的数据库。点击“计划”,再点击“新建批处理作业”。
双击上面的可用任务,它就会到下面的列表里去,代表你选择了这个任务。
点击保存,弹出个命名对话框,给这个任务取个名字,点击“确定”
点击“设置”计划任务。
弹出的对话框,选择“计划”,再点击“新建”。
这里设置为从2014年1月24号起每天早上九点备份该数据库。如果想提高备份频率、或者设置备份截止日期,请点击“高级”。
高级选项可以把备份设置的更精细,比如这里设置的是在24小时内每隔2小时就备份一次。加上前面的基本设置,任务计划就是:从2014年1月24号开始,每天九点,每隔2小时备份一次,每天的备份都持续24小时。
最后,输入电脑密码就大功告成。
方案一:mysqldump全备份+日志增量备份
1, mysqldump备份方案:
周一凌晨3点 全备
周二到周日凌晨3点增量备份
2, 备份步骤
(1) 创建备份目录,备份脚本存放目录
Shell mkdir /usr/mysqlbackup;
Shell chmod 755 /usr/mysqlbackup;
Shell mkdir /usr/mysqlbackup/daily;
Shell chmod 755 /usr/mysqlbackup/daily;
Shell mkdir /usr/script;
Shell chmod 777 /usr/script/*.sh
(2) 启用二进制日志
如果日志没有启开,必须启用binlog,要重启mysqld,首先,关闭mysqld,打开/etc/my.cnf,加入以下几行:
[mysqld]
log-bin
然后重新启动mysqld,会产生hostname-bin.000001以及hostname-bin.index,前面的日志文件是记录所有对数据的更新操作,后面的文件是存储所有二进制文件的索引,不能轻易被删除。
(3) 全备份,增量备份。
详细见mysqlFullBackup.sh、mysqlDailyBackup.sh脚本(请注意脚本里面的备份目录、mysql软件安装目录、压缩文件名以及用户名密码,如有不符,请修改)。
下面是部分shell上单个手动执行的测试命令。
Shell /usr/local/mysql/bin/mysqldump -uroot -pnYuIman25040slave201012301124 --no-create-info=FALSE --order-by-primary=FALSE --force=FALSE --no-data=FALSE --tz-utc=TRUE --flush-privileg
es=FALSE --compress=FALSE --replace=FALSE --insert-ignore=FALSE --extended-insert=TRUE --quote-names=TRUE --hex-blob=TRUE --complete-insert=FALSE --add-locks=TRUE --port=3306 --d
isable-keys=TRUE --delayed-insert=FALSE --create-options=TRUE --delete-master-logs=FALSE --comments=TRUE --default-character-set=utf8 --max_allowed_packet=1G --flush-logs=FALSE -
-dump-date=TRUE --lock-tables=TRUE --allow-keywords=FALSE --events=FALSE --single-transaction=TRUE --routines --all-databases /backup/mysql/full/mysql_20110104_195546.sql
(4) 设置crontab任务,每天执行备份脚本
shell crontab –e
#每个星期日凌晨3:00执行完全备份脚本
#周一到周六凌晨3:00做增量备份
0 3 * * 1-6 /root/MySQLBackup/mysqlDailyBackup.sh /dev/null 21
(5) 清除旧的备份文件。
每天去看查看下备份磁盘空间,删除旧的备份压缩文件。