MySQL工作中遇到的问题记录
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工作中遇到的问题记录的更多相关文章
- python 往mysql数据库中插入多条记录。
最近想写mysql库,用到insert into语句,如何一次性将多条记录插入库表中呢. MySQLdb提供了两个执行语句的方法:一个是execute(),另一个是executemany() exec ...
- Git 日常工作中使用的命令记录
前言 这篇文章主要是介绍我在使用Git中的有一些忘记了,但是很重要的命令. 20190424 Git 历史信息 username 和 email 更改 git config alias.chang ...
- mysql工作中常见问题
1.Error Code: 1044 - Access denied for user 'root'@'localhost' to database 'information_schema'Query ...
- mysql查询表中最后一条记录
查询全部的记录: select * from test_limit ; 查第一条记录: select * from test_limit limit 1; ...
- 工作中MySql的了解到的小技巧
工作中MySql的小技巧 1. 跑脚本时,经常遇到有则更新无插入的 逻辑操作:通常情况下,来一波if()判断然后选择 更新还是插入,前两天逛论坛时发现有人在比较REPLACE INTO 和 INSET ...
- 工作中遇到的问题——mysql关于年龄,性别的统计
终于暂时闲下来了,一个项目加班加点一年多,前面太忙就顾不上博客了,慢慢的就懈怠了,最近算是暂时闲下来了,项目已经验收进入后期维护阶段,每天空余的时间也多了,想重新拾起博客,不求写什么高深的东西,以后就 ...
- 【mysql】工作中mysql常用命令及语句
1.查看mysql版本号 MySQL [release_test_oa]> select version(); +------------+ | version() | +----------- ...
- MySQL常见6个考题在实际工作中的运用
题目一 MyISAM和InnoDB的区别,什么时候选择MyISAM 参考回答 InnoDB是目前MySQL主流版本(5.6.5.7.8.0)默认的存储引擎,支持事务.外键.行级锁,对于并发条件下要求数 ...
- 记录工作中遇到的BUG,经典的数据库时区问题和字段类型tinyint(1)问题
记录工作中发现的相对而言经典的问题 [数据库时区问题] 我个人数据库配置为CST 如下 我们测试环境的数据库配置为UTC 如下 倘若我修改了测试环境数据库时区为CST.由此造成的问题是 系统读取到数据 ...
随机推荐
- It's strange. I felt less lonely when I didnt know you.
feasible:adj. 可行的 bypass: v. 绕开,避开 eclipse: n. 月食 raw: adj. 生的 foresee:v. 预见 premier:n. 总理 ,adj: 首要的 ...
- 二维数组中的查找-剑指 offerP38
题目: 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. 解题思路:<剑指 ...
- hdu-2389.rain on your parade(二分匹配HK算法)
Rain on your Parade Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 655350/165535 K (Java/Ot ...
- 知乎使用selenium反爬虫的解决方案
from selenium.webdriver import Chrome from selenium.webdriver import ChromeOptions option = ChromeOp ...
- python pickle模块的用法
pickle用于python特有的类型,和python的数据类型间进行转换,提供四个功能 dumps,dump,loads,load. pickle 的用法 #pickle.dumps 将数据通过特殊 ...
- ASP.NET MVC @html帮助类
原文:https://www.cnblogs.com/caofangsheng/p/10462494.html HTML Helpers是用来创建HTML标签进而创建HTML控件的.HTML Help ...
- Django:django-debug-toolbar模块
简介: Django的django-debug-toolbar 模块是一组可配置的面板,可显示有关当前请求/响应的各种调试信息,并在单击时显示有关面板内容的更多详细信息. GitHub源文件下载地址 ...
- ES6——Promise
异步和同步 异步,操作之间没有关系,同时执行多个操作, 代码复杂 同步,同时只能做一件事,代码简单 Promise 对象 用同步的方式来书写异步代码 Promise 让异步操作写起来,像在写同步操作的 ...
- websocket和基于swoole的简易即时通讯
这里描述个基于swoole的websocket 匿名群聊 UI <!DOCTYPE html> <html> <head> <meta charset=&qu ...
- device eth0/1 does not seem to be present, delaying initialization
vmlite虚拟机启动出错,就把这个虚拟机删除掉重新建立,系统虚拟硬盘使用之前的,启动系统后不能上网,通过ifconfig查看网卡没启动,遂启动网卡服务,但是出错,就是:device eth0 doe ...