Mysql最简单的复制环节部署方法

最简单的复制环境部署方法

这里环境如下:

Master一直没有写操作

Master和Slave在一台虚拟机中,端口号分别为3306和3307

1.关闭Master数据库服务

mysqladmin -umysql -p -S /data/mysqldata/3306/mysql.sock shutdown

2.复制数据文件

cp -r /data/mysqldata/3306 /data/mysqldata/3307

3.编辑Master的参数文件

在[mysqld]区块中添加

server_id =1
log_bin   =../binlog/mysql-bin
binlog必须要打开

同一套复制环境中的每个成员必须要有独立的server_idserver_id的取值范围在1~(2的32次方 -1)

参数配置好后,就可以启动数据库了,但是不要有写操作

4.创建复制专用账户

在Master端

grant replication slave on *.* to ‘repl‘@‘192.168.134.%‘ identified by ‘repl‘;

这样就创建了账户

([email protected]) [(none)]> select user,host from mysql.user;
+--------+---------------+
| user   | host          |
+--------+---------------+
| repl   | 192.168.134.% |
| backup | localhost     |
| mysql  | localhost     |
+--------+---------------+

然后,获取Master端信息

([email protected]) [(none)]> show master status;
+------------------+----------+--------------+------------------+-------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000003 |      331 |              |                  |                   |
+------------------+----------+--------------+------------------+-------------------+

5.配置Slave端选项文件

在[mysqld]区块中添加

server_id =2
log_bin   =../binlog/mysql-bin --非必选项

Slave端并不是必须开启bin-log

sed -i ‘s/3306/3307/g‘ /data/mysqldata/330/my.cnf

还需要删除Slave端的auto.cnf文件

rm /data/mysqldata/3307/data/auto.cnf

这个文件中给保存了一项名为server-uuid的重要参数,它用来唯一标识Mysql服务,我们的环境是直接复制的主库,所以需要删除它。Slave节点的数据库服务启动时会自动重新生成一个

6.启动Slave端服务

[[email protected] 3307]$ mysql -umysql -p  -S /data/mysqldata/3307/mysql.sock
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
...

配置Slave到Master的连接:

mysql> change master to
    -> master_host=‘192.168.134.128‘,
    -> master_port=3306,
    -> master_user=‘repl‘,
    -> master_password=‘repl‘,
    -> master_log_file=‘mysql-bin.000003‘,
    -> master_log_pos=331;
Query OK, 0 rows affected, 2 warnings (0.05 sec)

启动Slave端的应用服务:
mysql> start slave;

之后就可以在主库创建个表,插入数据,然后去从库看看,如果数据一致,那么就OK了

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-01 03:11:24

Mysql最简单的复制环节部署方法的相关文章

MySQL快速复制数据库的方法

某些时候,例如为了搭建一个测试环境,或者克隆一个网站,需要复制一个已存在的mysql数据库.使用以下方法,可以非常简单地实现. 假设已经存在的数据库名字叫db1,想要复制一份,命名为newdb.步骤如下: 1. 首先创建新的数据库newdb #mysql  -u root -ppassword mysql>CREATE  DATABASE `newdb` DEFAULT CHARACTER SET UTF8 COLLATE UTF8_GENERAL_CI; 2. 使用mysqldump及mysq

MySQL中快速复制数据表方法汇总

本文将着重介绍两个MySQL命令的组合,它将以原有数据表为基础,创建相同结构和数据的新数据表. 这可以帮助你在开发过程中快速的复制表格作为测试数据,而不必冒险直接操作正在运行 的数据表. 示例如下: 将 production 数据库中的 mytbl 表快速复制为 mytbl_new,2个命令如下: CREATE TABLE mytbl_new LIKE production.mytbl; INSERT mytbl_new SELECT * FROM production.mytbl; 第一个命令

MySQL学习笔记14分组复制的部署之(一)单主模式的部署及故障恢复

1. 单主模式的部署步骤 目标:部署一个有3台主机的单主模式的MySQL分组. Primary:192.168.197.110. Secondary:192.168.197.111. Secondary:192.168.197.112. MySQL端口:3306,MySQL分组复制端口:33061. (1)主机192.168.197.110上的操作. 按照如下步骤完成MySQL配置,并且将自己加入到分组中,最后启动分组. (a)修改MySQL配置. 修改MySQL服务的配置文件. [mysqld

MariaDB/MySQL之简单复制及应用扩展

数据库的复制在实际生产环境中对于提高数据的安全性和数据库的性能是必不可少的重要手段,但不管手段多么高明,都要从简单的复制开始!今天的实验就从简单复制开始! 实验准备 服务器类型/名称 ip地址 软件版本 平台 master/node4 192.168.1.114 mariadb-10.0.10 CentOS 6.5 x86_64 slave/node3 192.168.1.113 mariadb-10.0.10 CentOS 6.5 x86_64 注意:软件通常都具有向上兼容性,所以主节点的软件

数据库迁移之从oracle 到 MySQL最简单的方法

数据库迁移之从oracle 到 MySQL最简单的方法 因工作需要将oracle数据库换到MySQL数据库,数据量比较大,百万级别的数据,表也比较多,有没有一种既快捷又安全的方法呢?答案是肯定的,下面介绍一个工具,非常的好用 需要的工具:Navicat Premium  Navicat Premium 原本是收费的,但是网上也有很多绿色版(盗版)的,本人亲测,也挺好用的,土豪可以忽略这句话. 第一步: 安装Navicat Premium,打开软件,建立数据库的链接,一个是原oracle数据库的链

MySQL高可用架构-MHA环境部署记录

一.MHA介绍 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 MHA(Master High Availability)目前在MySQL高可用方面是一个相对成熟的解决方案,它由日本DeNA公司youshimaton(现就职于Facebook公司)开发,是日本的一位 MySQL专家采用Perl语言编写的一个脚本管理工具,该工具仅适用于MySQLReplication(二层)环境,目的在于维持Master主库的高可用性.是一套优秀的作为MySQL高可用性 环境下故障切

高性能Mysql主从架构的复制原理及配置详解

1 复制概述 Mysql内建的复制功能是构建大型,高性能应用程序的基础.将Mysql的数据分布到多个系统上去,这种分布的机制,是通过将Mysql的某一台主机的数据复制到其它主机(slaves)上,并重新执行一遍来实现的.复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器.主服务器将更新写入二进制日志文件,并维护文件的一个索引以跟踪日志循环.这些日志可以记录发送到从服务器的更新.当一个从服务器连接主服务器时,它通知主服务器从服务器在日志中读取的最后一次成功更新的位置.从服务器接收

.net中使用ODP.net访问Oracle数据库(无客户端部署方法)

.net中使用ODP.net访问Oracle数据库(无客户端部署方法) 分类: c# database2012-01-05 15:34 6330人阅读 评论(1) 收藏 举报 oracle数据库.netcomponentsdll ODP.net是Oracle提供的数据库访问类库,其功能和效率上都有所保证,它还有一个非常方便特性:在客户端上,可以不用安装Oracle客户端,直接拷贝即可使用. 以下内容转载自:http://blog.ywxyn.com/index.php/archives/326

高性能Mysql主从架构的复制原理及配置详解(转)

温习<高性能MySQL>的复制篇. 1 复制概述 Mysql内建的复制功能是构建大型,高性能应用程序的基础.将Mysql的数据分布到多个系统上去,这种分布的机制,是通过将Mysql的某一台主机的数据复制到其它主机(slaves)上,并重新执行一遍来实现的.复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器.主服务器将更新写入二进制日志文件,并维护文件的一个索引以跟踪日志循环.这些日志可以记录发送到从服务器的更新.当一个从服务器连接主服务器时,它通知主服务器从服务器在日志中读取