• mysql优化(3) 集群配置


    两台服务器 192.168.187.131 192.168.187.132

    1.主从配置 131为主 132为从

    在131下

    vim /etc/my.cnf
    
    [mysqld]
    datadir=/var/lib/mysql
    socket=/var/lib/mysql/mysql.sock
    user=mysql
    # Disabling symbolic-links is recommended to prevent assorted security risks
    symbolic-links=0
    ######################
    #server-id
    server-id = 131 服务器id
    #binary log
    log-bin = mysql-bin
    #statement row mixed  日志格式
    binlog-format = mixed
    binlog-dp-db=test #指定数据库
    binlog-ignore-db=mysql #防止同步mysql
    ######################
    [mysqld_safe]
    log-error=/var/log/mysqld.log
    pid-file=/var/run/mysqld/mysqld.pid
    
    service mysqld restart
    

    在132下

    vim /etc/my.cnf
    
    [mysqld]
    datadir=/var/lib/mysql
    socket=/var/lib/mysql/mysql.sock
    user=mysql
    # Disabling symbolic-links is recommended to prevent assorted security risks
    symbolic-links=0
    #################
    server-id=132  
    #relay log
    relay-log=mysql-relay

    master-port=3306
    master-connect-retry=60
    replicate-ignore-db=mysql
    replicate-do-db=test #################### [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid service mysqld restart

    开放131mysql权限

    grant replication client,replication slave on *.* to 'repl'@'%' identified by 'repl';
    
    show master status;  //查看主服务器信息
    

    132下

    change master to
    master_host = '192.168.187.131',
    master_log_file = 'mysql-bin.000006',  //根据主服务器来改
    master_log_pos=263,
    master_user='repl',
    master_password='repl';

    slave start;
    show slave status; //若显示waiting表示成功

    接下来在131下进行sql操作,132就会有相应显示

    2.主主复制 即两台都为主服务器

    实现也很简单,就是各自视对方为主服务器,自己为从服务器即可

    在131(原来主服务器)配置加上

    relay-log=mysql-relay

    在132(原来从服务器)配置加上

    log-bin=mysql-bin

    binlog-format=mixed

    然后像上面描述一样将两边主从同步即可

    然后测试 =_=

    关于主主复制的主键冲突的解决方法:

    在两边的mysql中输入

    set session auto_increment_increment=2;  
    set session auto_increment_offset=1;    
    set global auto_increment_increment=2;  
    set global auto_increment_offset=1;  
    
    set session auto_increment_increment=2;  
    set session auto_increment_offset=2;    
    set global auto_increment_increment=2;  
    set global auto_increment_offset=2; 
    

     此方法只适合两个服务器=_=

    3.被动主主复制(一读一写)

    在只读服务器的mysql配置上加上

    read-only=1
    
    show variables like '%read%';//查看是否为只读
    

    4.mysql-proxy实现负载均衡和读写分离

    下载mysql-proxy并使用

    wget http://dev.mysql.com/get/Downloads/MySQL-Proxy/mysql-proxy-0.8.5-linux-glibc2.3-x86-32bit.tar.gz
    tar zxvf mysql-proxy-0.8.5-linux-glibc2.3-x86-32bit.tar.gz
    cd mysql-proxy-0.8.5-linux-glibc2.3-x86-32bit
    ./bin/mysql-proxy -P 4040 --proxy-backend-addresses=192.168.187.131:3306 --proxy-backend-addresses=192.168.187.132:3306  负载均衡
    
    ./bin/mysql-proxy -b 192.168.187.131:3306 -r 192.168.187.132 -s /usr/local/src/mysql-proxy-0.8.5-linux-glibc2.3-x86-32bit/share/doc/mysql-proxy/rw-splitting.lua   读写分离
    

    可在windows下连接虚拟机进行测试

    5.partition分区

    create table topic(
        -> tid int primary key auto_increment,
        -> title char(20) not null default ''
        -> )engine myisam charset utf8
        -> partition by range(tid) (
        -> partition t0 values less than(10),
        -> partition t1 values less than(20), 
        -> partition t2 values less than(MAXVALUE)
        -> );
    
    create table user(
        -> uid int,
        -> uname char(6),
        -> aid int
        -> )engine myisam charset utf8
        -> 
        -> partition by list(aid) (
        -> partition bj  values in (1),
        -> partition hb values in (2),  
        -> partition xs  values in (3),   
        -> partition gx  values in (4)  
        -> );
    

     建表以后可以测试并观察

    ll /var/lib/mysql/test 变化

  • 相关阅读:
    格式化输出及基本运算符
    初识python
    项目: python爬虫 福利 煎蛋网妹子图
    mycat重启报错Failed to connect to the Wrapper at port解决方法
    使用nginx加zuul配置
    mycat登录报错Host 'XXX' is blocked because of many connection errors的另一种解决思路
    mycat查表报错Invalid DataSource:0解决方法
    《JUnit实战(第2版)》读书笔记
    博客园的博客积分与排名查看方法
    橄榄球教练不应兼任产品拥有者(译)
  • 原文地址:https://www.cnblogs.com/guaidaodark/p/4963136.html
Copyright © 2020-2023  润新知