• mysql主从复制小记


    1.。确保主服务器开启log-bin,主从服务器的server_id 取不同的数字。

    /etc/my.cnf

    [mysqld] log-bin=mysql-bin #启动二进制文件

    server-id=1 #服务器ID

    sh /etc/init.d/mysql start

    2.在主服务器上,设置一个复制账户,并授予REPLICATION SLAVE 权限

    GRANT REPLICATION slave ON *.* TO 'rep'@'slave_host' IDENTIFIED BY 'repl_pass';

       查询主数据库状态,然后得到主服务器上当前的二进制日志名和偏移量值: mysql> SHOW MASTER STATUS;

    在从服务器上操作:

    1)、确保/etc/my.cnf中有log-bin=mysql-bin和server-id=1参数,并把server-id=1修改为server-id=2。修改之后如下所示:

    [mysqld] log-bin=mysql-bin #启动二进制文件

    server-id=2 #服务器ID

    2)、重启mysql服务。

     /etc/init.d/mysql start

    3)、登录mysql,执行如下语句 [root@localhost ~]# mysql -uroot –p123456

    mysql> change master to master_host='master_host',master_user='rep',master_password='repl_pass',master_log_file='mysql-bin.000006',master_log_pos=1251455;

    4)、启动slave同步。 mysql> start slave;

    5)、检查主从同步,如果您看到Slave_IO_Running和Slave_SQL_Running均为Yes,则主从复制连接正常。

    mysql> show slave status\G

    验证是否成功: 在主数据库上新建一个数据库,查看从数据库是不是也有了这个数据库;新建一张表或者插入一条记录,查看从数据库是否同步更新。

    如果原主数据库有数据的情况下,则要把数据导到从库:

    1、数据库锁表操作,不让数据再进行写入动作。mysql> FLUSH TABLES WITH READ LOCK;

    2、察看主数据库的状态 mysql> show master status; 并记下FILE及Position的值。

    3、把主服务器数据文件复制到从服务器,最好先用压缩处理一下。

    4、取消主数据库锁定 mysql> UNLOCK TABLES;

    5、从服务器的操作和之前一样。记得先stop slave 然后start slave

  • 相关阅读:
    hive同环比实现
    hive中的to_date和to_char
    正则表达式匹配一个独立的字符
    Mysql Explain用法详解
    hadoop安装踩坑
    hadoop ssh localhost无密码登录
    Node.js第十二篇:图片随机验证码
    Node.js第十一篇:Koa框架基础
    Ajax第五篇:JQuery中使用Ajax
    Ajax第四篇:跨域JSONP、CORS
  • 原文地址:https://www.cnblogs.com/langke93/p/2580464.html
Copyright © 2020-2023  润新知