北京SEO

Mysql主数据库+备份数据库部署教程

2019/10/10/17:32:21  阅读:1701  来源:谷歌SEO算法  标签: 发外链

本文说的mysql主备是指单向、异步的数据复制,可以是一个主、多个备,这样做的好处显而易见:有利于健壮性、速度和系统管理,备用数据库可以做为只读查询和备份的机器,减轻主用数据库的负担.

实施前提:主用数据库的配置里至少有:

  1. [mysqld]
  2. log-bin=mysql-bin
  3. server-id=1

建议主备的数据库版本一致,我所知道的最简单的实施方式,不需要停主库,甚至不需要长时间地禁止主库写入.

主库操作:在主库里建一个复制用的用户:

grant replication slave on *.* TO 'replication'@'备库地址' identified by 'replication';

导出主库的数据,并记下当然日志文件和偏移:

mysqldump --master-data=2 --single-transaction -uroot -p --all-databases >dumpfile

这里是把数据以SQL的形式导出,并记下导出瞬间的日志文件和偏移(得益于--master-data=2参数),出来的dumpfile的前面会有一行类似以下的注释信息,就是文件名和偏移值了:

-- CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000011', MASTER_LOG_POS=1061553673;

对于这步,网络上一般采用的方法为:

FLUSH TABLES WITH READ LOCK,--先把主库设置成只读,然后导出SQL或者直接复制数据文件.

SHOW MASTER STATUS; --记下日志文件和偏移

UNLOCK TABLES; --恢复主库写入

这样,至少在复制数据的那段时间,主库是不可提供服务的.

备库操作:复制主库的/etc/my.cnf和dumpfile,把主库配置里的 server-id 改成2(或者3、4,多个备库保存互不相同),再加上:

relay-log = slave-relay.log

relay-log-index = slave-relay-log.index

导入数据:mysql <dumpfile

进入mysql命令行执行:

  1. SLAVESTOP;
  2. CHANGEMASTERTO
  3. MASTER_HOST='主库地址',
  4. MASTER_PORT=3306,
  5. MASTER_USER='replication',
  6. MASTER_PASSWORD='密码',
  7. MASTER_LOG_FILE='mysql-bin.000011',
  8. MASTER_LOG_POS=1061553673;
  9. SLAVESTART;--phpfensi.com

然后,就搞定了,可以在备库执行:SHOW PROCESSLIST;

查看同步的状态,如果此命令的输出里有两个“system user”的进程,并且Command都是“Connect”的话,就差不多OK了,此时,任何对主库的修改,都能准实时地从备库里查询出来.

广告内容

Mysql主数据库+备份数据库部署教程 Mysql主数据库+备份数据库部署教程 Mysql主数据库+备份数据库部署教程

相关阅读

热门评论

互联网十八般武艺 互联网十八般武艺

互联网十八般武艺

总篇数179

精选文章

RMAN中catalog和nocatalog区别介绍 小技巧:为Linux下的文件分配多个权限 zimbra8.5.1安装第三方签名ssl证书的步骤 解决mysql不能远程连接数据库方法 windows服务器mysql增量备份批处理数据库 mysql中slow query log慢日志查询分析 JavaScript跨域问题总结 Linux下负载均衡软件LVS配置(VS/DR)教程 mysql中权限参数说明 MYSQL(错误1053)无法正常启动

SEO最新算法