1:log_slave_updates:

从库1搭建级联从库2,从库1需要开启log_slave_updates,修改/etc/my.cnf,增加一行log_slave_updates=1,重启数据库。

http://blog.itpub.net/12679300/viewspace-1319263/

2:ERROR 1418 (HY000): This function has none of DETERMINISTIC, NO SQL,or READS SQL DATA in its declaration and binary logging is enabled(you *might* want to use the less safe log_bin_trust_function_creators variable)

主从复制架构下,从库报1418,SQL线程停止。解决:关闭log_bin=OFF,或者从库设置set global log_bin_trust_function_creators=TRUE;

3:遇到的问题:gunzip < /tmp/test.sql.gz  |mysql -uroot -proot --socket=/u02/33061/tmp/mysql.sock test,第一次导入表数据,第二次导入表的增量数据,第二次的数据覆盖掉第一次导入的数据。

当将备份test.sql.gz导入新的数据库之后,如果再通过这种方式导入同一张表的增量数据时,会覆盖掉第一次导入的数据。

实验演示:

 在同一个MySQL数据库实例下进行验证
session1:
mysql> use mydb1;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> select * from test;
+------+--------+
| id | name |
+------+--------+
| 1 | test1 |
| 2 | test2 |
| 3 | test3 |
| 10 | test10 |
| 11 | test11 |
| 12 | test12 |
| 13 | test13 |
| 20 | test20 |
| 21 | test21 |
| 22 | test22 |
| 23 | test23 |
+------+--------+
11 rows in set (0.00 sec)
新建数据库test
mysql> create database test;
session2:备份mydb1下的test表的数据
mysqldump -uroot -p --socket=/u02/33061/tmp/mysql.sock mydb1 test |gzip > /tmp/test.sql.gz
导入到新数据库test
gunzip < /tmp/test.sql.gz |mysql -uroot -proot --socket=/u02/33061/tmp/mysql.sock test
session1:
验证test表的数据,可见,数据库成功恢复到test库
mysql> use test;
mysql> select * from test;
+------+--------+
| id | name |
+------+--------+
| 1 | test1 |
| 2 | test2 |
| 3 | test3 |
| 10 | test10 |
| 11 | test11 |
| 12 | test12 |
| 13 | test13 |
| 20 | test20 |
| 21 | test21 |
| 22 | test22 |
| 23 | test23 |
+------+--------+
11 rows in set (0.00 sec) 此时,mydb1库test表新增数据
mysql> use mydb1;
mysql> insert into test values (100,'test100');
mysql> select * from test;
+------+--------+
| id | name |
+------+--------+
| 1 | test1 |
| 2 | test2 |
| 3 | test3 |
| 10 | test10 |
| 11 | test11 |
| 12 | test12 |
| 13 | test13 |
| 20 | test20 |
| 21 | test21 |
| 22 | test22 |
| 23 | test23 |
| 100 | test100|
+------+--------+
12 rows in set (0.00 sec)
session2:
对新增数据进行备份:
mysqldump -uroot -p --socket=/u02/33061/tmp/mysql.sock mydb1 test --where="id>23" |gzip > /tmp/test1.sql.gz 第二次导入新数据:
gunzip < /tmp/test1.sql.gz |mysql -uroot -proot --socket=/u02/33061/tmp/mysql.sock test session1:
mysql> use test;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A Database changed
mysql> select * from test;
+------+---------+
| id | name |
+------+---------+
| 100 | test100 |
+------+---------+
1 row in set (0.00 sec)
由此可见,覆盖掉了第一次导入的数据。

MySQL工作中遇到的问题记录的更多相关文章

  1. python 往mysql数据库中插入多条记录。

    最近想写mysql库,用到insert into语句,如何一次性将多条记录插入库表中呢. MySQLdb提供了两个执行语句的方法:一个是execute(),另一个是executemany() exec ...

  2. Git 日常工作中使用的命令记录

    前言   这篇文章主要是介绍我在使用Git中的有一些忘记了,但是很重要的命令. 20190424 Git 历史信息 username 和 email 更改 git config alias.chang ...

  3. mysql工作中常见问题

    1.Error Code: 1044 - Access denied for user 'root'@'localhost' to database 'information_schema'Query ...

  4. mysql查询表中最后一条记录

    查询全部的记录:            select * from test_limit ; 查第一条记录:             select * from test_limit limit 1; ...

  5. 工作中MySql的了解到的小技巧

    工作中MySql的小技巧 1. 跑脚本时,经常遇到有则更新无插入的 逻辑操作:通常情况下,来一波if()判断然后选择 更新还是插入,前两天逛论坛时发现有人在比较REPLACE INTO 和 INSET ...

  6. 工作中遇到的问题——mysql关于年龄,性别的统计

    终于暂时闲下来了,一个项目加班加点一年多,前面太忙就顾不上博客了,慢慢的就懈怠了,最近算是暂时闲下来了,项目已经验收进入后期维护阶段,每天空余的时间也多了,想重新拾起博客,不求写什么高深的东西,以后就 ...

  7. 【mysql】工作中mysql常用命令及语句

    1.查看mysql版本号 MySQL [release_test_oa]> select version(); +------------+ | version() | +----------- ...

  8. MySQL常见6个考题在实际工作中的运用

    题目一 MyISAM和InnoDB的区别,什么时候选择MyISAM 参考回答 InnoDB是目前MySQL主流版本(5.6.5.7.8.0)默认的存储引擎,支持事务.外键.行级锁,对于并发条件下要求数 ...

  9. 记录工作中遇到的BUG,经典的数据库时区问题和字段类型tinyint(1)问题

    记录工作中发现的相对而言经典的问题 [数据库时区问题] 我个人数据库配置为CST 如下 我们测试环境的数据库配置为UTC 如下 倘若我修改了测试环境数据库时区为CST.由此造成的问题是 系统读取到数据 ...

随机推荐

  1. sql语句中【模糊查询like的使用】

    1.like的使用: 在数据库软件中进行测试时,书写的格式是: 比如: select * from fdx.dbo.[User] where 1=1 and name like '%'+'a'+'%' ...

  2. instanceof和getClass的区别

    instanceof对比getClass: instanceof 比较的是继承关系或者实现关系的类类型,子类对象或者实现类对象放在前面:而getClass得到的是确切的类型,并不考虑继承,它判断的是引 ...

  3. 通过总线机制实现自动刷新客户端配置(Consul,Spring Cloud Config,Spring Cloud Bus)

    通过总线机制实现自动刷新客户端配置 方案示意图 利用Git服务的webhook通知功能,在每次更新配置之后,Git服务器会用POST方式调用配置中心的/actuator/bus-refresh接口,配 ...

  4. 深入浅出Oracle数据读取一致性和事务表

    保证Oracle数据库读取一致性的关键是SCN.每一个数据块头都会记录一个事务提交的SCN.同时每一数据块头都包含一个事务表(ITL),事务必须获得一个ITL事务表才能进行数据修改.该事务表用来确定当 ...

  5. Katalon Recorder初探

    缘由 最近工作中,有大量web页面上的重复操作,实在麻烦,就想利用selenium ide录制出一些操作集合,以便复用.新版本的selenium ide 3目前只支持firefox最新的版本,而且代码 ...

  6. linux机器间建立信任关系

    linux机器间建立信任关系 如何建立信任关系 在shell脚本中,需要使用scp命令将本地的文件复制到另一台机器中备份.但通常执行scp命令后都需要输入用户密码,这样在定时自动执行shell脚本中就 ...

  7. 好玩的Linux命令-1

    Ag:比grep.ack更快的归递搜索文件内容 1:首先在linux创建个sh文件->ag.sh 2:在ag.sh里面输入如下内容并保存 #!/bin/bash set -x TEMP_DIR= ...

  8. 【LeetCode】数学(共106题)

    [2]Add Two Numbers (2018年12月23日,review) 链表的高精度加法. 题解:链表专题:https://www.cnblogs.com/zhangwanying/p/979 ...

  9. idea 配置自动编译 livereload

    1 pom中添加 spring-boot-devtools 依赖 <dependency> <groupId>org.springframework.boot</grou ...

  10. python3-返回函数

    函数作为返回值 高阶函数除了可以接受函数作为参数外,还可以把函数作为结果值返回. 我们来实现一个可变参数的求和.通常情况下,求和的函数是这样定义的: def calc_sum(*args): ax = ...