公司要求mysql备份机制,最近结合项目和网上学习资料,实现一个windows环境下的mysql主从备份,
操作系统:windows XP sp2, Windows Server 2003 企业版(32位)
数据库:mysql-5.6.12
(2013-06-06)
具体步骤如下:
绿色版安装Mysql 5.6.12-log
详细步骤:
1, 解压mysql-5.6.12-win32.zip,207M;
2,本地设置安装
简单设置几个参数:
[client] port = 3306
default-character-set=utf8 #增加参数
[mysqld] basedir=E:\\mysql\\mysql-5.6.12\\
datadir=E:\\mysql\\mysql-5.6.12\\data\\
character-set-server=utf8
port = 3306
[WinMySQLadmin] Server=E:\\mysql\\mysql-5.6.12\\bin\\mysqld.exe
3,安装数据库
#进入DOS环境,进入相应bin目录, D:\database\mysql-5.5.25-master\bin 运行下面脚本,生成Services.msc启动服务,命名为mysqlm,
mysqld --install mysqlm --defaults-file="D:\database\mysql-5.5.25-master\my.ini"
mysqld --install msmaster --defaults-file="E:\mysql\mysql-5.6.12\my.ini"
mysqld --install msslave --defaults-file="C:\trs\data\mysql-5.6.12\my.ini"
如果有不正确的,删除
mysqld --remove mysqlm; mysqld --remove msmaster; mysqld --remove msslave;
net stop mysqlm; net start mysqlm;
OK;测试完全成功之后,可能要把bin目录增加的系统path路径下面。
4,完全拷贝到另外机器
调整对应my.ini参数,指定basedir, datadir
同上步骤,测试通过;
预备课程完全成功,如果两台机器不能互访,可能要修改账号登录方式,
update user set host='%' where user='root' and host='localhost';
flush privileges;
重启应用通过测试。
5,开始设置主服务器
主数据库IP:10.199.130.183 winXP
从数据库IP:10.199.130.142 win2003
主数据库配置my.ini:
更改主服务器端口:port = 3307
在[mysqld]下添加配置数据:
server-id=1 #配一个唯一的ID编号,1至32。
#log-bin=mysql-bin #二进制文件存放路径
log-bin = E:\\mysql\\mysql-5.6.12\\\log\\bin.log
#设置要进行或不要进行主从复制的数据库名,同时也要在Slave 上设定。
binlog-do-db=test
binlog-do-db=test1
#binlog-ignore-db=数据库名1
#binlog-ignore-db=数据库名2
保存,重启数据库服务。
在cmd下登录数据库:
mysql mysql -u[用户名] -p[密码] 如: mysql -uroot -pxxx
在主数据库中建立一个备份账户:
mysql>use mysql;
mysql>grant replication slave,reload,super on *.* to slave@10.199.130.142 identified by 'slave' ;
####如果换成不同端口,记得修改为 : mysql>grant replication slave,reload,super on *.* to slave@% identified by 'slave' ;
至少得上从服务器能访问到具体的主服务器的数据库。
mysql>flush privileges;
mysql>show master status; # 找到File 和 Position 的值记录下来;
mysql> show master status;
+------------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB| Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000007 | 578 | | | |
+------------------+----------+--------------+------------------+-------------------+
从数据库配置my.ini:
更改从服务器端口:3308
[mysqld]
server-id=2 #唯一
#log-bin=mysql-bin #二进制文件存放路径
log-bin=C:\\trs\\data\\mysql-5.6.12\\log\\bin.log
#设置要进行或不要进行主从复制的数据库名,同时也要在Master 上设定。
replicate-do-db=test
replicate-do-db=test1
#replicate-ignore-db=数据库名1
#replicate-ignore-db=数据库名2
保存,重启数据库服务。在mysql5.1以上版本中是不支持1中master设置的,如果添加了master设置,数据库就无法重启了;
在cmd下登录数据库:
mysql mysql -u[用户名] -p[密码]
mysql>change master to master_host='10.199.130.183',master_user='slave',master_password='slave', master_log_file='mysql-bin.000007',master_log_pos=578,,master_port=3307;
mysql> start slave;
mysql> show slave status\G
因为是拷贝过来,生成的auto.cnf完全一致,需要删除掉这个链接,重新启动数据库,$basedir\data\auto.cnf
检查server_uuid必须不一致,,可能出错1593.
第二种方式:mysql_upgrade -uroot -ppassword//更新一下数据库,网上看的,没有做实验。
mysql> show variables like '%server%';
+---------------------------------+--------------------------------------+
| Variable_name | Value |
+---------------------------------+--------------------------------------+
| character_set_server | utf8 |
| collation_server | utf8_general_ci |
| innodb_ft_server_stopword_table | |
| server_id | 1 |
| server_id_bits | 32 |
| server_uuid | 1a14b7d6-ce56-11e2-bf02-b8ac6f441aba |
+---------------------------------+--------------------------------------+
---启动异常时,记得需要检查日志文件:basedir\data\机器名.err
可能错误:
lave I/O: Got fatal error 1236 from master when reading data from binary log: 'Could not find first log file name in binary log index file', Error_code: 1236
一般是主机的file文件错误了,注意每个字符的格式。
6,
mysql> show slave status\G
如果出现:
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
以上两项都为Yes,那说明没问题了。如果指定了个别的数据库,还可以看到
注:如果出现Slave_SQL_Running:connecting的现象,首先在从库命令行下输入:
#mysql -uslave -pslave
看是否能登入mysql,如果是拒绝等提示,那要查看主机上的第从库授权操作是否用户的权限等设置正确
配置成功后,修改主数据库信息,从数据库会自动更新。
7.
mysql> show slave status\G
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 10.199.130.183
Master_User: slave
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: bin.000001
Read_Master_Log_Pos: 2460
Relay_Log_File: apj142-relay-bin.000002
Relay_Log_Pos: 277
Relay_Master_Log_File: bin.000001
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB: test,test1
Slave_IO_Running和Slave_SQL_Running这两个都是YES的情况,就没有问题的。
其他参考文章:
相关推荐
根据提供的文件信息,本文将详细解释Windows环境下MySQL主从备份及主从切换的过程与关键配置。主要内容包括: 1. **主从备份的步骤详解** 2. **主从切换的步骤详解** 3. **多实例环境下的MySQL配置示例** ### 一、...
#### 一、MySQL 安装与环境变量设置 在进行 MySQL 主从库配置之前,我们需要确保已经正确安装了 MySQL,并设置了相应的环境变量。以下是具体的步骤: 1. **下载 MySQL 免安装版**: - 访问 MySQL 官方下载页面:...
通过以上步骤,你可以在Windows环境下成功配置MySQL数据库的主从同步备份。这个配置对于确保业务连续性和数据安全性至关重要,特别是在面临单点故障风险时,从服务器可以立即接管,保证服务不中断。同时,这种架构也...
MySQL主从配置是数据库高可用性和负载均衡的一种常见策略,尤其在Windows环境下,为了实现读写分离、主从复制和一主多从架构,可以极大地提高数据库系统的性能和稳定性。结合Spring框架,我们可以轻松地在应用程序中...
### MySQL主从同步备份 #### 一、MySQL主从同步的...通过以上步骤,可以成功搭建MySQL的主从同步环境,实现数据的高效备份与容灾。在实际部署过程中,还需要根据具体的应用场景调整配置,确保数据的一致性和安全性。
mysql 多主从一 windows
总结来说,MySQL主从复制在Windows环境下的实现包括:主服务器的二进制日志配置,复制用户的创建,从服务器的初始设置,以及复制进程的启动和监控。这一过程对于数据库的高可用性、数据安全和灾难恢复都至关重要。...
### Windows 下 MySQL 主从同步备份步骤详解 #### 环境搭建 本篇文章将详细介绍如何在 Windows 操作系统环境下实现 MySQL 数据库的主从同步备份。假设我们的环境如下: - **主服务器(A)**:操作系统为 Windows ...
### Windows环境下MyCAT+MySQL主从配置详解 #### 一、概述 在Windows环境下实现MySQL主从配置,以及结合MyCAT作为数据库中间件的应用场景,是很多企业级应用中的常见需求。通过这样的架构设计,不仅可以提升系统的...
### MySQL主从同步镜像备份知识点详解 #### 一、MySQL主从同步基本概念 - **主从复制机制**:MySQL中的主从复制是一种数据复制技术,它将一个数据库(主服务器)的数据复制到另一个或多个数据库(从服务器),以此...
MySQL主从配置在Windows环境下的实现是一个常见的数据库高可用性和数据冗余策略。这个过程涉及到一个主MySQL服务器,它处理所有写操作,并将更改复制到一个或多个从服务器上,这些从服务器仅执行读操作。这有助于...
### MySQL主从同步镜像备份知识点详解 #### 一、MySQL主从同步基本概念 - **主从复制机制**:MySQL中的主从复制是一种数据复制技术,它将一个MySQL服务器(主服务器)的数据异步复制到一个或多个其他MySQL服务器...
在Windows系统下配置MySQL主从同步需遵循一定步骤,需要细心设置my.ini文件,合理配置server-id,创建具备复制权限的账号,并正确使用show master status及start slave等命令来保证数据同步。配置主从同步可以有效...
mysql主从复制,MySQL主从复制是一种数据库复制机制,其中一个MySQL服务器(主服务器)将其数据变化复制到一个或多个MySQL服务器(从服务器)
在虚拟机中设置桥接模式,确保与Mac主机的网络相通,然后使用Windows系统下的SQLyog等工具进行连接和备份。遇到的困难包括虚拟机网络配置、主从同步延迟等,这些问题需要根据具体情况逐个排查和解决。 总的来说,...
MySQL 的主从复制是一种常见的数据冗余与负载分担方案,在实际应用中具有重要的意义。通过搭建 MySQL 的主从架构,不仅可以提升系统的可用性和数据安全性,还能有效分散读写压力,提高整体性能。本文将详细介绍在 ...