• 技术文章 >数据库 >mysql教程

    Mysql的主从服务器架构配置

    高洛峰高洛峰2016-12-02 14:52:00原创578
    所谓主从Mysql服务器架构,就是在主服务器上的操作同时也拷贝一份到从服务器上来。
    接下来我使用两台机器做一下这个过程,
    复制的作用:
    1.数据分部
    2.实现读的负载均衡
    3.备份(本身不能备份,但是能提供一个备份机)
    4.高可用和故障转移的能力
    5.测试Mysql的升级
    复制的类型:
    a.基于语句的复制
    b.基于行的复制
    c.混合型的复制(a和b的结合)
    服务器的地址规划
    主服务器IP:192.168.1.108
    从服务器IP:192.168.1.110
    实验拓扑结构:
    master_mysql-----------------client_mysql
    1.安装Mysql
    #mkdir -vp /mydata/data
    #groupadd -g 3306 mysql
    #useradd -g mysql -s /sbin/nologin -M -u 3306 mysql
    #chown -R mysql:mysql /www/mydata/
    # tar x mysql-5.5.15-linux2.6-i686.tar.gz -C /usr/local
    #ln -vs /usr/local/mysql-5.5.15-linux2.6-i686 /usr/local/mysql
    #cd /usr/local/mysql
    #chown -R mysql:mysql .
    #scripts/mysql_install_db --user=mysql --datadir=/mydata/data
    #chown -R root .
    #cp support-files/mysql.server /etc/init.d/mysqld
    #chkconfig --add mysqld
    #cp support-files/my-large.cnf /etc/my.cnf
    #vim /etc/my.cnf
    添加:datadir=/mydata/data
    service mysqld start
    指定mysql二进制的文件:
    #export PATH=$PATH:/usr/local/mysql/bin(临时)
    #vim /etc/profile
    添加PATH=$PATH:/usr/local/mysql/bin也行(永久)
    指定lib文件
    #vim /etc/ld.so.conf.d/mysql.conf
    添加: /usr/local/mysql/lib
    ldconfig 同步一下
    #ldconfig -v | grep mysql
    头文件:
    #ln -sv /usr/local/mysql/include /usr/include/mysql
    帮助信息:
    #vim /etc/man.config
    添加: MANPATH /usr/local/mysql/man
    这下配置需要在两个服务器上都需要进行配置的
    2.接下来开始真正的主从mysql服务器的配置了
    主服务器的配置如下
    #vim /etc/my.cnf 添加如下信息
    log-bin=mysql-bin
    log-bin-index=mysql-bin.index
    binlog-format=maxed
    server id = 1
    修改完成后保存,重启Mysql
    #service mysqld restart
    然后登录到Mysql对192.168.1.110主机授权
    #mysql
    mysql> GRANT REPLICATION CLIENT,REPLICATION SLAVE ON *.* TO repl@'192.168.1.110'IDENTIFIED BY 'redhat';
    mysql> FLUSH PRIVILEGES;
    3.从文件配置
    #vim /etc/my.cnf
    注释掉log-bin=mysql-bin,binlog-format=maxed
    添加relay-log=relay-bin.index,relay-log=relay-bin,replicate-ignore-db =mysql
    修改server-id = 2
    保存配置文件后重新启动Mysql
    #service mysqld restart
    #mysql
    mysql> CHANGE MASTER TO MASTER_HOST='192.168.1.108',MASTER_USER='repl',MASTER_PASSWORD='redhat';
    mysql> START SLAVE;
    mysql> SHOW SLAVE STATUS\G;查看从服务器的运行状态
    如果出现如下信息,可以确定信息已经从主服务器上复制到了从服务器

    mysql> SHOW DATABASES;
    +--------------------+
    | Database |
    +--------------------+
    | information_schema |
    | luowei |
    | mysql |
    | performance_schema |
    | test |
    +--------------------+
    mysql> SELECT * FROM st;
    +----+------+
    | ID | Name |
    +----+------+
    | 1 | a |
    | 2 | b |
    | 3 | c |
    | 5 | E |
    +----+------+
    这个时候主从服务器上的数据库就同步了,实验成功!!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:Mysql
    上一篇:Mysql存储程序、函数、触发程序及复制:常见问题 下一篇:Mysql的备份和恢复
    千万级数据并发解决方案

    相关文章推荐

    • mysql设计概念及多表查询和事务操作• mysql怎样只导出表结构• mysql怎么查询所有表及注释• mysql怎么判断是否是数字类型• mysql存储过程有什么变量类型
    1/1

    PHP中文网