环境如下:

单台数据库存有数据,要升级为主从复制的架构。

主数据库:mysql-master:IP192.168.48.128,数据库正常提供服务,有数据。

从数据库:mysql-slave:IP192.168.48.130,数据库正常提供服务,无数据。

升级大致步骤如下:

1、修改主数据库配置文件,开启总从复制必要的功能。

2、在主数据库中创建一个账号并授权给从数据库使用。

3、导出主数据库中的数据作。

4、修改从数据库配置文件,开启总从复制必要的功能。

5、把刚才主数据库中导出的数据导入到从数据库。

6、在从数据库中配置连接主数据库要用到的账户、密码等。

7、启动主从复制功能,并检查是否正常复制。

开始升级:

在主数据库上操作:

1)、确保/etc/my.cnf中有如下参数,没有的话需手工添加,并重启mysql服务。

[mysqld]

log-bin=mysql-bin 启动二进制文件

server-id=1 服务器ID

2)、登录mysql,在mysql中添加一个backup的账号,并授权给从服务器。

[root@localhost ~]# mysql -uroot –p123456 登录mysql

mysql> grant replication slave on *.* to 'backup'@'192.168.48.130' identified by 'backup'; 创建backup用户,并授权给192.168.48.130使用。

3)、查看已有的数据库有哪些;

mysql> show databases;

4)、进行锁表操作,不让数据进行写入动作,这么做事为了防止从数据库的原始数据和主数据库的原始数据不一致。

mysql> flush tables with read lock;

5)、查询主数据库状态,并记下FILE及Position的值,这个在后面配置从服务器的时候要用到。

mysql> show master status;

6)、切换一个终端,使用mysqldump命令将刚才查询到的两个库导出来。

mysql> mysqldump –uroot –p123456 mysqltest > mysqltest.sql

mysql> mysqldump –uroot –p123456 test1234 > test1234.sql

7)、将导出来的库文件传送到从数据库的/root目录下。

[root@localhost ~]#scp mysqltest.sql test1234.sql root@192.168.48.130:/root/

这中间需要输入一次验证口令。见下图

8)、切换回之前的终端,进行表解锁操作。

mysql> unlock tables;

主数据库服务器上的操作告一段落。

在从数据库上操作:

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

[mysqld]

log-bin=mysql-bin 启动二进制文件

server-id=10 服务器ID

2)、重启mysql服务。

[root@localhost ~]# mysqladmin -p123456 shutdown
[root@localhost ~]# mysqld_safe --user=mysql &

3)、登录数据库,确认要同步的库名不存在。

[root@localhost ~]# mysql -uroot –p123456

mysql> show databases;

4)、创建名为mysqltest和test1234的库。

mysql> create database mysqltest;

mysql> create database test1234;

4)、切换一个终端,将传过来的两个数据文件分别导入对应的数据库下。

[root@localhost ~]# mysql -uroot –p123456 mysqltest < mysqltest.sql

[root@localhost ~]# mysql -uroot –p123456 test1234 &lt; test1234.sql

5)、切换回之前的终端,执行如下语句

mysql> change master to master_host='192.168.48.128',master_user='backup',master_password='backup',master_log_file='mysql-bin.000003',master_log_pos=1650;

5)、切换回之前的终端,执行如下语句

mysql> change master to master_host='192.168.48.128',master_user='backup',master_password='backup',master_log_file='mysql-bin.000003',master_log_pos=1650;

6)、启动主从复制功能。

mysql> start slave;

7)、

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

mysql> show slave status\G

验证主从是否正常配置:

在主数据库上插入数据:

mysql> show databases;

mysql> show tables;

mysql> use mysqltest;

mysql> select * from user;

mysql> insert into user values (4,'ergou');

mysql> insert into user values (5,'sanwazi');

在从数据库上查看是否正常同步:

mysql> show databases;

mysql> use mysqltest;

mysql> select * from user;

上图可以看出,主从之间已经可以正常复制了。

转载于:https://blog.51cto.com/youboy/1009406

mysql主从复制篇-主库有数据相关推荐

  1. 动力节点老杜mysql文件_mysql主从复制+mysql主从复制延迟解决方案

    ### 1. 为什么需要mysql主从复制 1. 数据热备 在复杂的业务场景中, 可能因为某一条sql造成了锁表, 这样就会影响正常的业务运行.在复杂的业务场景中, 我们可以使用mysql主从复制, ...

  2. mysql 主从备份 全量数据_当主库存在历史数据时如何完成全量Mysql主从复制

    当主库存在历史数据时如何完成全量Mysql主从复制 上一篇文章介绍了[docker+mysql的主从复制的搭建][1],使用docker有许多优点:可以轻松实现跨平台的移植.docker容器之间不会互 ...

  3. mysql主从复制-主库已有数据

    一.备份已有数据 1.备份主库,及恢复到从库 把主库现有数据备份下来,再恢复到从库,此时两个主机的数据一致. 如果事先有数据的话,这步不能忘. 1)在主库上加锁,使只有只读权限. mysql > ...

  4. MySQL主从复制——主库已有数据的解决方案

    MySQL主从复制--主库已有数据的解决方案 参考文章: (1)MySQL主从复制--主库已有数据的解决方案 (2)https://www.cnblogs.com/songwenjie/p/93767 ...

  5. mysql从库比主库数据多_linux mysql主从复制配置

    1.设置主库master的servie-id值并且开启bin-log功能参数 vi /etc/my.cnf 修改my.cnf的参数: [mysqld] server-id=1 //每一个库的serve ...

  6. linux 搭建mysql主从复制 ----第一篇

    linux下部署mysql主从复制 第一篇 首先介绍下主从复制的原理 : 依赖于二进制日志,binary-log.二进制日志中记录引起数据库发生改变的语句 Insert .delete.update. ...

  7. 【大型网站技术实践】初级篇:搭建MySQL主从复制经典架构

    一.业务发展驱动数据发展 随着网站业务的不断发展,用户量的不断增加,数据量成倍地增长,数据库的访问量也呈线性地增长.特别是在用户访问高峰期间,并发访问量突然增大,数据库的负载压力也会增大,如果架构方案 ...

  8. mysql gtid 主主_mysql GTID主从复制(主库在线,添加新丛库)

    要求: 1.         主库上线,主库不停止服务的前提下做主从复制 2.         新添加一个丛库 操作: 1.         在主库导出数据(主库正常运行): 2.         将 ...

  9. 看完这篇还不懂 MySQL 主从复制,可以回家躺平了~

    我们在平时工作中,使用最多的数据库就是 MySQL 了,随着业务的增加,如果单单靠一台服务器的话,负载过重,就容易造成宕机. 这样我们保存在 MySQL 数据库的数据就会丢失,那么该怎么解决呢? 其实 ...

最新文章

  1. Java线程优先级的概念
  2. Halcon 彩色图片通道分割处理
  3. 与客家土楼的约会(增城-河源)
  4. Guide: Solr performance tuning--转载
  5. 深入浅出ShellExecute(总结)
  6. 腾讯技术直播间 | 当感性遇上理性,当魔术遇上数学
  7. 锐界机器人_2019款锐界智能家居远程控制使用介绍
  8. arcgis中python窗口在哪_python在arcgis中的应用
  9. 3.数据类型和变量---用Python做数学运算
  10. php读取pdf文件乱码,使用php读取pdf文件
  11. 机器视觉 光学工程专业_机器视觉,如何影响世界?光学筛选机技术挑起大梁!...
  12. 中国内部数据集成软件行业市场供需与战略研究报告
  13. 什么样的环境才是最理想的工作环境呢?
  14. 基于Windows下处理Java错误:编码GBK的不可映射字符的解决方案
  15. JAVA一元线性回归法_一元线性回归的java实现
  16. 关于交换的知识点(一)
  17. HTML如何设置四边形,css实现三角形和平形四边形
  18. elaticsear学习常见错误
  19. 【WIN10安装】拒绝第三方软件,纯净官网系统,U盘安装教程
  20. (三-一)IPC-邮箱通信

热门文章

  1. 中国超算项目获戈登贝尔奖:首次高分辨率精确模拟唐山大地震
  2. 假如易立竞吐槽程序员......
  3. 把人脑智能化后,能再创造出更强的人工智能吗?
  4. 女程序员做编程也太难了吧! | 每日趣闻
  5. 2162112375 Week04-面向对象设计与继承
  6. 程序员面临的伦理困境
  7. 技术分享连载(六十九)
  8. 关于数据中心Tier标准的理解误区
  9. Spring Boot(四)Accessing application arguments
  10. 想成为软件架构师,你的举止够优雅吗?