在Linux上建立MySQL 5.0镜像

php中文网
发布: 2016-06-07 17:09:35
原创
1357人浏览过

实现MySQL高可靠性方案有很多方法,其中,利用MySQL自带的的复制功能是最简单的一种。MySQL内部复制功能是建立在两个或两个以上服

实现MySQL高可靠性方案有很多方法,其中,,利用MySQL自带的的复制功能是最简单的一种。MySQL内部复制功能是建立在两个或两个以上服务器之间,通过设定它们之间的主-从关系来实现的。其中一个作为主服务器,其它的作为从服务器。配置方法如下:
第一步:用mysql -V查看主从服务器版本是否一致。不一致可能导致复制失败。


    建立完帐号后,在slave_host上使用mysql -h masterhost -urepuser -ppassword测试帐号建立是否成功;
第三步:确保主服务器上my.cnf文件的[mysqld]部分包括一个log-bin选项。该部分还应有一个server-id=Master_id选项,其中master_id必须为1到232–1之间的一个正整数值。例如:
            [mysqld]
            log-bin=mysql-bin
            server-id=1
一般情况你打开my.cnf后,已经默认是这样的设置了,里面内容看起来像下面这样:

# replication master server (default)
# binary logging is required for replication
log-bin=mysql-bin
# required unique id between 1 and 2^32 - 1
# defaults to 1 if master-host is not set
# but will not function as a master if omitted
server-id       = 1

如果这些选项不存在,添加它们并且重启服务器.在binary logging(二进制日志)没有启用的情况下,服务器是不能称为复制主服务器的。
注意:安装MySQL-server-community RPM后,有的并没有/etc/my.cnf文件。但在/usr/share/mysql目录下,有一些配置模板,比如my-small.cnf, my-large.cnf等,可以根据系统需求,把其中一个模板拷贝为/etc/my.cnf。再进行自己定义。好多情况下,需要调整[mysqld]下面的max_allowed_packet值,将其设置为16M。
第四步:将主服务器上的数据库完整复制到从服务器上。可以使用mysqldump,也可以使用二进制备份。这里介绍二进制备份的方法。
  • 在主服务器上执行FLUSH TABLES WITH READ LOCK语句来刷新表,同时阻止写操作.:
    mysql> FLUSH TABLES WITH READ LOCK;
    然后对主服务器上的数据进行快照。(此时不要退出mysql的提示符,退出的话就解锁了.新开一个ssh窗口进行下面所说的归档打包操作)
    创建快照最简单的途径是使用归档程序对主服务器上的数据目录(缺省的是/var/lib/mysql)中的数据库进行二进制备份。要使用tar来创建包括所有数据库的归档文件,进入主服务器的数据目录,然后执行命令:(注意下面的目录操作是在bash的提示符下进行,这里用shell>来代表,还要注意执行的命令是在哪台服务器上)
    shell> tar -cvf /tmp/mysql-snapshot.tar .
    然后将归档文件复制到从服务器的/tmp目录。
    创建完归档文件后,可以恢复主数据库的写操作
    mysql> UNLOCK TABLES;
  • 在从服务器上,进入数据库的数据目录(缺省的是/var/lib/mysql),并使用下述命令解压缩归档文件:
    shell> tar -xvf /tmp/mysql-snapshot.tar
  • 第五步:编辑从服务器上/etc/my.cnf。主要修补如下:
  • 注释掉log-bin=mysql-bin
  • 修改server-id,应该大于等于2,比如设置为server-id=2
  • 设置主服务器信息
    master-host=master_host
    master-user=repuser //第二步建立的
    master-password=password //第二步建立的
  • 第六步:重新启动从数据库,并进入mysql命令行(注意:此时用户已经与主数据库相同了,因为第四步)

    mysql > slave start;

    第七步:测试

    更改主库的内容,看备份库是否跟着改变。

    PHPB2B
    PHPB2B

    PHP-B2B(原友邻b2b)是一套能够帮助用户,快速建立高效、多功能电子商务网站的php应用程序,本程序采用目前互联网上最流行的LAMP组合(Linux+Apache+Mysql+PHP)开发完成,同时利用Smarty模板技术实现了网站前台与后台的有效分离,用户可以快速地在此基础上开发自己的模板。 友邻php提供了电子商务应用最常见求购、供应、商品、公司库等模块,同时为企业用户提供了一个发布信

    PHPB2B 0
    查看详情 PHPB2B

    说明:由于从服务器是通过读主服务器的二进制日志来实现自我更新的,所以对于对数据库进行修改的操作都要放在主服务器上执行,而从服务器只用来进行查询.(也就是只读不写的数据库操作).

    linux

    最佳 Windows 性能的顶级免费优化软件
    最佳 Windows 性能的顶级免费优化软件

    每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

    下载
    来源:php中文网
    本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
    最新问题
    开源免费商场系统广告
    热门教程
    更多>
    最新下载
    更多>
    网站特效
    网站源码
    网站素材
    前端模板
    关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
    php中文网:公益在线php培训,帮助PHP学习者快速成长!
    关注服务号 技术交流群
    PHP中文网订阅号
    每天精选资源文章推送

    Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号