zoukankan      html  css  js  c++  java
  • Mysql主从复制

    本文以我的zabbix数据库为例:
    master:1.1.1.1  
    slave:1.1.1.2
     
    一、master操作:
    1. mysql -uroot -p123                                                  # 进入master数据库。
    2. grant replication slave on *.* to 'zhao'@'1.1.1.2' identified by 'zhao';     # 授予同步数据的用户权限
    3. flush tables with read lock ;                                    # 数据库只读锁定命令,防止导出数据库的时候有数据写入。
    4. mysqldump -uroot -p zabbix > /root/my.sql            # 导出zabbix数据库为my.sql。
    5. scp /root/my.sql root@1.1.1.2:/root                        # 拷贝my.sql到slave的root下。
    slave操作:
    1. mysql -uroot -p123                      # 进入slave数据库
    2. create database zabbix;              # 按实际情况创建,指定合适的字符编码。
    3. use zabbix                                   # 进入zabbix数据库。
    4. source /root/my.sql                      # 导入my.sql到zabbix数据库。
    5. mysql -uzabbix -h1.1.1.1 -p         # 测试是否能登录master的zabbix数据库,前提是在master上给予远程访问权限。
    master: 

           1. vim /etc/my.cnf                            # 编辑MySQL配置文件添加如下内容:

                server-id=1                                #设置服务器id,为1表示主服务器。
                log-bin=mysql-bin                      #启动MySQ二进制日志系统。
                binlog-do-db=osyunweidb         #需要同步的数据库名,有多个数据库就写多行。
                binlog-ignore-db=mysql            #不同步mysql系统数据库。
     
          2. service mysqld restart                 # 重启MySQL数据库。
          3. mysql -uroot -p123
          4. show master status;                    # 查看master状态,记住File和Position的值。
               +------------------+----------+--------------+------------------+
               | File                        | Position  | Binlog_Do_DB | Binlog_Ignore_DB |
               +------------------+----------+--------------+------------------+
               | mysql-bin.000019 |    7131    | osyunweidb    | mysql                  |
               +------------------+----------+--------------+------------------+
    slave:

    1. vim /etc/my.cnf                                 # 编辑MySQL配置文件添加如下内容:

    server-id=2                                   #设置服务器id,为1表示主服务器。
    log_bin=mysql-bin                        #启动MySQ二进制日志系统。
    replicate-do-db=osyunweidb        #需要同步的数据库名,有多个数据库写多行。
    replicate-ignore-db=mysql           #不同步mysql系统数据库
     
    2. service mysqld restart                     # 重启MySQL数据库。
    3. mysql -uroot -p123
    4. change master to
    >master_host='1.1.1.1',
    >master_user='zhao',
    >master_password='zhao',
    >master_log_file='mysql-bin.000019',
    >master_log_pos=7131;              # 执行同步语句。
    5. start slave;                                       # 开启slave同步进程。
    6. show slave statusG                        # 查看slave同步信息,出现以下内容。
    7. 注意查看:
    Slave_IO_Running: Yes
    Slave_SQL_Running: Yes
    以上这两个参数的值为Yes,即说明配置成功!
    master:
    1. mysql -uroot -p123
    2. unlock tables;
    3. use zabbix
    4. create table zhao(id int(5) not null primary key,name char(10) not null);
     
    备注:查看server_id命令:show variables like 'server_id';
    修改server_id命令:set global server_id=2;
     
  • 相关阅读:
    剑指offer03-04
    五大算法-1.回溯法
    linux与操作系统(1)- 用户接口
    python中的装饰器
    mysql 创建数据库,用户并给用户设置权限
    centOS6.5 桌面状态栏消失 解决
    centOS linux 远程Mysql 记录之root用户密码丢失
    XStream.toXML() 简单两种使用实例
    FileInputStream和FileOutStream 简单的使用实例;
    orale 行转列或者 字符拼接函数 wmsys.wm_concat()函数 /instr(listagg(name,';') within group (order by o.srclinkedid)
  • 原文地址:https://www.cnblogs.com/hsjy/p/6588245.html
Copyright © 2011-2022 走看看