step by step配置mysql复制的具体方法

 更新时间:2013年09月26日 15:22:29   作者:  
每个服务器必须有唯一的server-id,默认为1,为了防止冲突,一般建议设置为IP地址的后几位,本例设置为12,通过修改主库的my.cnf文件实现

采用全库复制的方案,方便管理mysql 5.5 + rhel5.8
10.4.11.12 master
10.4.11.13 slave
---Master端设置
1,    创建复制帐号,需要复制和slave权限
mysql> GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.*  TO repl@'10.4.11.12 IDENTIFIED BY 'mysql;
Query OK, 0 rows affected (0.00 sec)
2,    修改参数,并重启生效
#skip-networking
server-id       = 12
# Uncomment the following if you want to log updates
log-bin=mysql-bin
重启mysql
service mysql restart

---slave端的设置
3,slave库的参数设置,同样需要重启生效
vi /etc/my.cnf
#skip-networking
server-id       = 13
# Uncomment the following if you want to log updates
log-bin=mysql-relay-bin

4,master导出数据到slave库
如果数据库使用的是MyISAM表类型的话,可按如下方式操作:

shell> mysqldump --all-databases --master-data=1 > data.sql
如果数据库使用的是InnoDB表类型的话,则应该使用single-transcation:

shell> mysqldump --all-databases --single-transaction --master-data=1 > data.sql

slave端导入数据
mysql < data.sql

 
5,查看master的配置
mysql> show master status;
+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000001 |      107 |              |                  |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)

6,启动复制,slave端运行如下命令

复制代码 代码如下:

--配置复制的指向
CHANGE MASTER TO MASTER_HOST='10.4.11.12',
 MASTER_USER='repl',
 MASTER_PASSWORD='mysql',
 MASTER_LOG_FILE='mysql-bin.000001',
 MASTER_LOG_POS=0;

--开始复制
mysql> start slave ;
Query OK, 0 rows affected (0.00 sec)

7,查看复制的状态,注意slave_io_state, slave_io_Running,和slave_sql_running三列的值

mysql> show slave status\G
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 172.16.251.11
                  Master_User: repl
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: mysql-bin.000001
          Read_Master_Log_Pos: 1278
               Relay_Log_File: linux2-relay-bin.000002
                Relay_Log_Pos: 503
        Relay_Master_Log_File: mysql-bin.000001
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
              Replicate_Do_DB:
……..

8,测试复制情况
Master端新建一个表
Slave查看是否复制完成

相关文章

  • Navicat异地自动备份MySQL方法详解(图文)

    Navicat异地自动备份MySQL方法详解(图文)

    Navicat异地自动备份MySQL方法详解,使用Navicat的需要备份mysql的朋友也方便了
    2012-01-01
  • MySQL基于索引的压力测试的实现

    MySQL基于索引的压力测试的实现

    本文主要介绍了MySQL基于索引的压力测试的实现,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-11-11
  • Linux下彻底卸载mysql详解

    Linux下彻底卸载mysql详解

    如何在Linux下彻底的卸载MySQL数据库呢? 下面这篇文章就给大家总结、整理了一下在Linux平台下彻底卸载MySQL的方法。 文中通过图文及示例代码介绍的很详细,相信对大家的理解和学习很有帮助,下面有需要的朋友们来一起学习学习吧。
    2016-11-11
  • MySQL 数据类型 详解

    MySQL 数据类型 详解

    MySQL 的数值数据类型可以大致划分为两个类别,一个是整数,另一个是浮点数或小数。许多不同的子类型对这些类别中的每一个都是可用的,每个子类型支持不同大小的数据,并且 MySQL 允许我们指定数值字段中的值是否有正负之分或者用零填补。
    2009-10-10
  • sql语句示例之case when作为where条件

    sql语句示例之case when作为where条件

    这篇文章主要给大家介绍了关于sql语句示例之case when作为where条件的相关资料,在SQL语句中CASE WHEN子句是根据条件表达式的结果来执行不同的逻辑操作,它使用在WHERE子句中,以根据特定的条件在查询结果中过滤数据,需要的朋友可以参考下
    2023-08-08
  • 深入理解mysql事务与存储引擎

    深入理解mysql事务与存储引擎

    本文主要介绍了mysql事务与存储引擎,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-04-04
  • MySQL中DATE_FORMAT()函数的具体使用

    MySQL中DATE_FORMAT()函数的具体使用

    本文主要介绍了MySQL中DATE_FORMAT()函数的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-05-05
  • mybatis 模糊查询的实现方法

    mybatis 模糊查询的实现方法

    这篇文章主要介绍了mybatis 模糊查询的实现方法的相关资料,希望通过本文能帮助到大家,让大家掌握这部分内容,需要的朋友可以参考下
    2017-10-10
  • 一个案例彻底弄懂如何正确使用mysql inndb联合索引

    一个案例彻底弄懂如何正确使用mysql inndb联合索引

    今天小编就为大家分享一篇关于一个案例彻底弄懂如何正确使用mysql inndb联合索引,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-02-02
  • 在SQL中获取一个长字符串中某个字符串出现次数的实现方法

    在SQL中获取一个长字符串中某个字符串出现次数的实现方法

    以下是对在SQL中获取一个长字符串中某个字符串出现次数的实现方法进行了详细的分析介绍,需要的朋友可以参考下
    2013-07-07

最新评论