`
wangliang0209
  • 浏览: 24018 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

linux下mysql同步配置

 
阅读更多
保证有两台服务器一个做Master 一个做Slave
1. 首先关掉所有访问数据库的客户程序,并用以下命令重启mysql
$sudo restart mysql
2.重启进入mysql服务器,并记下当前日志的文件名和位置
$mysql -uroot -p 进入mysql
mysql > SHOW MASTER STATUS;
+---------------+----------+--------------+------------------+


| File          | Position | Binlog_Do_DB | Binlog_Ignore_DB |

+---------------+----------+--------------+------------------+

| mysql-bin.003 | 73       | test         | manual,mysql     |

+---------------+----------+--------------+------------------+
请记下上图下的文件名:mysql-bin.003 和位置73, 这两个数据将在从数据库中用到。注意,这个过程请确保没有其它程序在操作数据库
3.关闭mysql, 并打包数据库文件
       $sudo /etc/init.d/mysql stop
      $sudo tar czvf ~/mysqlbak.tar.gz /var/lib/mysql/.
      $sudo /etc/init.d/mysql start
4.登录从服务器,下载打包的文件,并解压到相应位置
  $sftp wolfplus@192.168.0.212
  sftp>get mysqlbak.tar.gz
  $sudo tar zxvf mysqlbak.tar.gz -C /var/lib/
5.启动从mysql服务器,并设置复制
  $sudo /etc/init.d/mysql restart
  $mysql -uroot
  mysql> stop slave;
  mysql> CHANGE MASTER TO
                ->     MASTER_HOST='master_host_name',(这个就是主数据库的地址,可以在从数据库的my.conf中配置)
                ->     MASTER_USER='replication_user_name',(这个就是主数据库的用户名,可以在从数据库的my.conf中配置)
                ->     MASTER_PASSWORD='replication_password',(这个就是主数据库的密码,可以在从数据库的my.conf中配置)
                ->     MASTER_LOG_FILE='recorded_log_file_name',(这个就是主数据库的刚才要记下来的logfile,可以在从数据库的my.conf中配置)
                ->     MASTER_LOG_POS=recorded_log_position;(这个就是主数据库的刚才记下来的位置,可以在从数据库的my.conf中配置)
如我的配置
CHANGE MASTER TO MASTER_HOST='192.168.17.108', MASTER_USER='lgslave',MASTER_PASSWORD='leguanweb.main@001', MASTER_LOG_FILE='mysql_bin.000012',MASTER_LOG_POS=698;
6.启动从服务器线程
   mysql> START SLAVE;
   到这一步从服务器就已经配置完成了,你改变主服务器上的数据为,然后观察从服务器数据是不是对应被更新来确认主从服务器是否安装成功。
在slave库上 mysql> show slave status 看看是否就绪
================================================
遇到的问题
081223 15:51:51 [ERROR] Error reading packet from server: Could not find first log file name in binary log

index file ( server_errno=1236)
081223 15:51:51 [ERROR] Got fatal error 1236: 'Could not find first log file name in binary log index file'
解决步骤:
1.重启master库:service mysqld restart
2.show master status
3.在slave上 change master to Master_Log_File='mysql-bin.000001',Master_Log_Pos=98;(根据主库进行修改)
修改之后,查看slave status,应该就会ok了
=================================================

遇到这样的错误如:“Last_IO_Error: Got fatal error 1236 from master when reading data from binary log: 'Could not find first log file name in binary log index file'”等或由于清数据导致主从库不同步了,解决办法如下:

先进入slave中执行:"slave stop;"来停止从库同步;

再去master中执行:"flush logs;"来清空日志;

然后在master中执行:"show master status;"查看下主库的状态,主要是日志的文件和position;

然后回到slave中,执行:"CHANGE MASTER TO MASTER_LOG_FILE='log-bin.000004',MASTER_LOG_POS=106;",文件和位置对应master中的;
一定要注意log-bin.000004名称是否正确。

最后在slave中执行:"slave start;"来启动同步。

附注:两个数据库数据不一样解决方式
1.退出mysql命令行,导出数据库
$mysqldump -u root -p123456 --all-databases > /root/all.sql
2.使用scp命令传输数据库文件all.sql到从服务器。
$scp /root/all.sql root@www.example.com:/root
3.再次连接数据库进入mysql命令行查看master状态。
mysql>SHOW MASTER STATUS;
请记下显示的信息,配置从服务器会用到。
+——————+———-+————–+——————+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+——————+———-+————–+——————+
| mysql-bin.000003 | 1001741 | dbispconfig | mysql |
+——————+———-+————–+——————+
1 row in set (0.00 sec)
4.解锁数据表。
mysql>UNLOCK TABLES;
配置从服务器(slave)
登录从服务器。
1.导入主服务器的数据库。
#mysql -u root -p123456 < /root/all.sql


分享到:
评论

相关推荐

    Linux配置mysql主从同步

    ### Linux下MySQL主从同步配置详解 #### 一、引言 在数据库管理领域,MySQL主从同步是一种常见的数据复制技术,它可以帮助我们构建高可用性和数据冗余性,从而提高系统的稳定性和可靠性。本文将详细介绍如何在Linux...

    Linux-Mysql主从同步配置

    Linux-Mysql 主从同步配置 本文将详细解释 Linux-Mysql 主从同步配置的步骤和知识点。 一、主服务器配置 1. 编辑数据库配置文件 my.cnf, 一般在/etc/目录下。 2. 在[mysqld]下面加入以下代码: * log-bin=mysql...

    RoseHA关于linux下mysql配置

    RoseHA是在Linux环境下配置MySQL高可用性解决方案的必备工具。RoseHA可以帮助数据库管理员快速搭建MySQL的高可用集群环境,保证业务连续性,当一台服务器发生故障时,另一台服务器能够立即接管服务,减少或消除系统...

    Linux下MySQL主从同步复制

    【Linux下MySQL主从同步复制】是MySQL数据库在分布式环境中实现数据备份和高可用性的一种常见策略。在Linux操作系统上,这一过程涉及到一系列步骤,包括安装MySQL服务、配置主从服务器、设置复制参数以及验证复制...

    MySQL半同步复制配置

    主从同步配置是半同步复制配置中的核心步骤,涉及到数据的初始复制和持续同步。首先需要在主库上导出一份全量数据,然后将这些数据导入到从库中。在导入数据之后,使用mysql_upgrade工具更新数据表结构,保证数据的...

    Windows下mysql集群+linux下mysql集群

    虽然给定内容主要聚焦于 Windows 平台上的 MySQL 安装与配置,但构建跨平台的 MySQL 集群还需要了解 Linux 环境下的部署方法。下面简要介绍 Linux 下 MySQL 集群的配置步骤: **1. 安装 MySQL Server** - 在 ...

    mysql Linux下主从同步

    ### MySQL在RedHat Linux下的主从同步实现 ...以上就是MySQL在RedHat Linux下主从同步的基本配置过程,接下来还需要配置从库的相关设置,包括复制源的指定、复制账号的验证以及日志文件的同步等步骤。

    Linux下Mysql双机备份

    ### Linux下Mysql双机备份 #### 双机热备机制概述 在处理大量数据时,MySQL数据库的备份成为一项挑战。尽管MySQL不支持增量备份,但提供了另一种解决方案——主从备份机制,允许将主数据库的数据实时同步到备份...

    LINUX +MYSQL双机配置

    本篇文章将详细解析如何在Linux环境下配置MySQL的双机热备,包括主从同步(M-S)以及主主同步(M-M)。 首先,我们要在主服务器(IP10.200)上进行配置。在`/etc/my.cnf`文件中,我们需要确保以下配置项正确: 1. ...

    linux下mysql amoeba读写分离配置

    在Linux环境下,MySQL数据库的读写分离和数据同步是提高数据库性能和可用性的关键策略。MySQL的主从复制(Master-Slave Replication)和读写分离(Read-Write Separation)是实现这一目标的常用方法。这里我们将探讨...

    mysql数据在linux环境下各种安装

    在Linux环境下安装MySQL数据库是一...在提供的压缩包"mysql安装文档(linux)"中,你将找到更详细的步骤和配置示例,帮助你根据实际情况顺利完成MySQL在Linux环境下的安装。务必遵循最佳实践,确保系统的稳定和高效运行。

    CentOs7下mysql5.7的下载安装以及主从同步、双主多从配置详情

    CentOs7 下 Mysql 5.7 的下载安装和主从同步、双主多从配置详解 CentOs 7 是一个流行的 Linux 操作系统,而 Mysql 5.7 是一个广泛使用的关系型数据库管理系统。本文将详细介绍如何在 CentOs 7 下下载安装 Mysql 5.7...

    Linux配置mysql主从

    ### Linux下MySQL主从配置详解 #### 环境配置 在进行MySQL主从配置之前,首先需要确保有两个可用的MySQL服务器,本文档中的环境设置为: - **MySQL Server A** (主服务器): IP地址为192.168.0.100 - **MySQL ...

    linux mysql5.5 一主多从配置 .docx

    在Linux环境中配置MySQL 5.5的一主多从架构是一项关键任务,特别是对于需要高可用性和数据一致性的大型系统。这里我们将深入探讨如何进行这样的配置,以及遇到的一些常见问题和解决方案。 首先,我们需要了解MySQL...

    Linux下的MySQL数据库编程].赵廷涛等.扫描版

    《Linux下的MySQL数据库编程》这本书由赵廷涛等人编写,针对的是在Linux环境下如何进行MySQL数据库的开发和管理。下面将详细讨论这些知识点。 首先,Linux作为开发环境提供了稳定且可定制的基础。Linux系统以其开源...

    linux下mysql主从复制

    通过以上的步骤,我们成功地完成了 MySQL 在 Linux 环境下的单向主从复制和双向主从复制的配置。这样的配置不仅提高了数据的安全性,也为数据的备份和恢复提供了极大的便利。同时,对于需要高可用性和负载均衡的应用...

Global site tag (gtag.js) - Google Analytics