美文网首页
nysql主从复制

nysql主从复制

作者: 精简好文 | 来源:发表于2018-10-28 17:33 被阅读0次

    mysql主从复制,是mysql应对读写压力的一种有效的方式

    主从复制对于大多数人来说都是比较简单的,操作可行性较高。说到底,只需要改变几个文件的配置就行了。

    主要步骤如下

    一:主从服务器配置

    1,版本一致
    2,mysql已经启动
    

    二:修改主服务器的master

    #vim /etc/my.cnf
    [mysqld]
    log-bin = mysql-bin //启用二进制日志
    server_id = 1       //此服务器id与从服务器的要不同
    
    从服务器也进行类似的操作,但是server_id 要不同
    

    三:重启两台服务器的mysql

    /etc/init.d/mysql restart
    

    四:在主服务器开启赋予从服务器的slave权限

    mysql>GRANT REPLICATION SLAVE ON *.* to 'test'@'%' identified by '123123'; //需要注意的是,此账号一点要具有远程登录权限
    
    (注:创建新账号: grant all privileges on *.* to test@"%" identified by "123123" ;   //  设置用户test,可以在远程访问mysql)
     mysql>flush privileges ;  //  mysql 新设置用户或更改密码后需用flush privileges刷新MySQL的系统权限相关表,否则会出现拒绝访问,还有一种方法,就是重新启动mysql服务器,来使新设置生效.
     
     mysql> grant all privileges on *.* to test@“192.168.1.100” identified by "123123" ;  //设置用户testuser,只能在客户端IP为192.168.1.100上才能远程访问mysql ;
    

    五:登录主服务器,查看master的状态

    mysql > show master status;
     +------------------+----------+--------------+------------------+
    | File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
    +------------------+----------+--------------+------------------+
    | mysql-bin.000009 |     107  |              |                  |
    +------------------+----------+--------------+------------------+
    1 row in set (0.00 sec)
    

    六:配置从服务器的slave

    mysql> CHANGE MASTER TO
        -> MASTER_HOST='114.67.228.235',
        -> MASTER_USER='test',
        -> MASTER_PASSWORD='123123',
        -> MASTER_LOG_FILE='mysql-bin.000009',
        -> MASTER_LOG_POS= 107;
    

    六-1:Mysql>start slave; //启动从服务器复制功能

    七:查看从服务器的状态

    mysql > show slave status\G;
    ************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 114.67.228.235
                  Master_User: test
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: mysql-bin.000009
          Read_Master_Log_Pos: 107
               Relay_Log_File: ubuntu-relay-bin.000002
                Relay_Log_Pos: 253
        Relay_Master_Log_File: mysql-bin.000009
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
              Replicate_Do_DB: 
          Replicate_Ignore_DB: 
           Replicate_Do_Table: 
       Replicate_Ignore_Table: 
      Replicate_Wild_Do_Table: 
    Replicate_Wild_Ignore_Table: 
                   Last_Errno: 0
                   Last_Error: 
                 Skip_Counter: 0
          Exec_Master_Log_Pos: 107
              Relay_Log_Space: 410
              Until_Condition: None
               Until_Log_File: 
                Until_Log_Pos: 0
           Master_SSL_Allowed: No
           Master_SSL_CA_File: 
           Master_SSL_CA_Path: 
              Master_SSL_Cert: 
            Master_SSL_Cipher: 
               Master_SSL_Key: 
        Seconds_Behind_Master: 0
    Master_SSL_Verify_Server_Cert: No
                Last_IO_Errno: 0
                Last_IO_Error: 
               Last_SQL_Errno: 0
               Last_SQL_Error: 
     Replicate_Ignore_Server_Ids: 
             Master_Server_Id: 1
    1 row in set (0.00 sec)
    

    注:Slave_IO_Running及Slave_SQL_Running进程必须正常运行,即YES状态,否则都是错误的状态(如:其中一个NO均属错误,如果这两个显示的都是no的话,那么可以查看错误日志寻找为什么错误:错误日志存放位置:show variables like 'log_error')。

    以上操作过程,主从服务器配置完成。



    八:测试

    在主服务器插入一条数据看看

    mysql > create database test; // 新建数据库
    mysql > create tables test(id int(3), name char(20)); //  新建表
    
    mysql > insert into test value (001,'haoren');
    

    切换到从服务器,查看从数据库 有没有插入数据

    mysql > show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | hi_db              |
    | mysql              |
    | performance_schema |
    | test        |
    +--------------------+
    5 rows in set (0.01 sec)
    
    然后我们能发现数据已经插入表中
    

    相关文章

      网友评论

          本文标题:nysql主从复制

          本文链接:https://www.haomeiwen.com/subject/lzcmtqtx.html